swagger: '2.0'
info:
  version: 2.0.0
  title: Alvaria Cloud Workforce REST API
  description: "The Alvaria&trade; Cloud Workforce REST APIs enable developers to create applications that retrieve information related to workforce administrative, agent productivity, employee, intra-day performance, and schedule entities.\r\n\r\nThese APIs provide read-only access to the following Alvaria&trade;  Cloud Workforce entities:\r\n| Entity | Introduced in Version |\r\n| ------ | --------------------- |\r\n| ACD instances | 20.0 |\r\n| adherences | 21.1 |\r\n| agent formula sets | 20.0 |\r\n| agent productivities | 21.1 |\r\n| agent productivity ACD groups | 21.1 |\r\n| employee extra fields | 20.0 |\r\n| employee extra field tabs | 20.0 |\r\n| employee group classes | 20.0 |\r\n| employee groups | 20.0 |\r\n| employees | 20.0 |\r\n| employee skills | 20.0 |\r\n| employee super groups | 20.0 |\r\n| forecast groups | 21.1 |\r\n| intra-day performances | 21.1 |\r\n| perspective purposes | 20.0 |\r\n| perspectives | 20.0 |\r\n| routing sets | 21.1 |\r\n| segment audits | 21.1 |\r\n| segment categories | 20.0 |\r\n| segment definitions | 20.0 |\r\n| segments | 20.0 |\r\n| segment summaries | 20.0 |\r\n| staff adjustment sets | 21.1 |\r\n| staff groups | 21.1 |\r\n| superstate hours | 20.0 |\r\n| superstates | 20.0 |\r\n| system information | 20.0 |\r\n| system parameters | 20.0 |\r\n| time zones | 20.0 |\r\n\r\nThese APIs provide update access to the following Alvaria&trade;  Cloud Workforce entities:\r\n| Entity | Introduced in Version |\r\n| ------ | --------------------- |\r\n| employees | 21.1 |\r\n| employee statuses | 21.1 |\r\n\r\n# Rate Limiting\r\n\r\nEach API is rate-limited with a quota of 110 requests per minute.  The quota for each API is independent of the others and are tracked by x-api-key.  Alvaria&trade; recommends that API clients expect and handle HTTP 429 responses and use the RateLimit-Reset response header to determine how long to wait before retrying the request and resuming.  The quota is subject to change at any time.\r\n\r\nClients can discover the current rate limit using the RateLimit-Limit response header, as well as the remaining quota until the quota resets using RateLimit-Remaining. API clients with the potential for high-frequency requests can be prevented from imposing rate limiting on other clients by using different client credentials and x-api-keys.\r\n\r\nWhen making requests for the sole purpose of rate limiting quota discovery be sure to include query parameters that will return little or no data.  Search queries with no parameters (even if page size is zero) may cause the system to query all data in the system, which can be slow and detrimental to the performance of other components.\r\n\r\n# Paging & Large Result Sets\r\n\r\nWhen querying for large volumes of data, multiple focused queries should be preferred instead of paging a single large result set.  For example, if downloading schedules for a large date range that may include 100,000 segments, it can be more performant to break the request into multiple smaller requests along a dimension such as nominal date or employee in a way that each result set is unlikely to page.  Avoid empty queries whenever possible as the result set may include all data in the database, much of which could be irrelevant.  When synchronizing all data into an external data source consider that most data will change infrequently.  Synchronizing large volumes of data that is unlikely to change at high frequency can adversely impact the performance of other components.\r\n\r\n# Base URLs\r\n\r\nThe orgId in the Base URLs should be replaced with the name of the customer organization."
  contact:
    name: Alvaria
    url: http://www.alvaria.com
  license:
    name: 'License: Creative Commons Attribution 4.0 International Public License'
    url: https://creativecommons.org/licenses/by/4.0/legalcode
host: orgId.via.aspect-cloud.net
schemes:
  - https
consumes:
  - application/json
produces:
  - application/json
paths:
  /via/v2/organizations/{orgId}/workforce/intraDayPerformance/{id}:
    post:
      tags:
        - IntraDayPerformance
      summary: ''
      description: Retrieves an intra-day performance that matches the id and specified selector.
      operationId: Id IntraDayPerformance
      parameters:
        - name: id
          in: path
          description: Describes the intra-day performance id to retrieve. Alvaria-generated unique identifier for the intra-day performance. Intra-day performances can be retrieved with the via/v2/organizations/{orgId}/workforce/search/intraDayPerformanceSummaries endpoint.
          required: true
          type: string
        - name: selector
          in: body
          description: Describes the intra-day performance details to include.
          required: true
          schema:
            $ref: '#/definitions/IntraDayPerformanceSelector'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IntraDayPerformanceResponse'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/acdInstances:
    post:
      tags:
        - AcdInstances
      summary: ''
      description: Retrieves a list of ACD instances that match the specified selector.
      operationId: Search AcdInstances
      parameters:
        - name: selector
          in: body
          description: Describes the ACD instances to retrieve.
          required: true
          schema:
            $ref: '#/definitions/AcdInstanceSelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AcdInstanceCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/adherences:
    post:
      tags:
        - Adherences
      summary: ''
      description: Retrieves a list of adherences that match the specified selector.
      operationId: Search Adherences
      parameters:
        - name: selector
          in: body
          description: Describes the adherences to retrieve.
          required: true
          schema:
            $ref: '#/definitions/AdherenceSelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AdherenceCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/agentFormulaSets:
    post:
      tags:
        - AgentFormulaSets
      summary: ''
      description: Retrieves a list of agent formula sets that match the specified selector.
      operationId: Search AgentFormulaSets
      parameters:
        - name: selector
          in: body
          description: Describes the agent formula sets to retrieve.
          required: true
          schema:
            $ref: '#/definitions/AgentFormulaSetSelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AgentFormulaSetCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/agentProductivities:
    post:
      tags:
        - AgentProductivities
      summary: ''
      description: Retrieves a list of agent productivitites that match the specified selector.
      operationId: Search AgentProductivities
      parameters:
        - name: selector
          in: body
          description: Describes the agent productivities to retrieve.
          required: true
          schema:
            $ref: '#/definitions/AgentProductivitySelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AgentProductivityCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/agentProductivityAcdGroups:
    get:
      tags:
        - AgentProductivityAcdGroups
      summary: ''
      description: Retrieves all the agent productivity ACD groups.
      operationId: Get AgentProductivityAcdGroups
      parameters:
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AgentProductivityAcdGroupCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/employeeExtraFields:
    get:
      tags:
        - EmployeeExtraFields
      summary: ''
      description: Retrieves all employee extra fields.
      operationId: Get EmployeeExtraFields
      parameters:
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EmployeeExtraFieldCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/employeeExtraFieldTabs:
    get:
      tags:
        - EmployeeExtraFieldTabs
      summary: ''
      description: Retrieves all employee extra field tabs.
      operationId: Get EmployeeExtraFieldTabs
      parameters:
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EmployeeExtraFieldTabCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/employeeGroupClasses:
    get:
      tags:
        - EmployeeGroupClasses
      summary: ''
      description: Retrieves all employee group classes.
      operationId: Get EmployeeGroupClasses
      parameters:
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EmployeeGroupClassCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/employeeGroups:
    post:
      tags:
        - EmployeeGroups
      summary: ''
      description: Retrieves a list of employee groups that match the specified selector.
      operationId: Search EmployeeGroups
      parameters:
        - name: selector
          in: body
          description: Describes the employee groups to retrieve.
          required: true
          schema:
            $ref: '#/definitions/EmployeeGroupSelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EmployeeGroupCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/employees:
    put:
      tags:
        - Employees
      summary: ''
      description: Updates a list of employees that match the specified updater.
      operationId: Put Employees
      parameters:
        - name: updater
          in: body
          description: Describes the employees to update.
          required: true
          schema:
            $ref: '#/definitions/EmployeeInfoUpdater'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SavedResponse'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/employees:
    post:
      tags:
        - Employees
      summary: ''
      description: Retrieves a list of employees that match the specified selector.
      operationId: Search Employees
      parameters:
        - name: selector
          in: body
          description: Describes the employees to retrieve.
          required: true
          schema:
            $ref: '#/definitions/EmployeeDetailsSelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EmployeeCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/employeeSkills:
    post:
      tags:
        - EmployeeSkills
      summary: ''
      description: Retrieves a list of employee skills that match the specified selector.
      operationId: Search EmployeeSkills
      parameters:
        - name: selector
          in: body
          description: Describes the employee skills to retrieve.
          required: true
          schema:
            $ref: '#/definitions/EmployeeSkillSelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EmployeeSkillCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/employeeStatuses:
    put:
      tags:
        - EmployeeStatuses
      summary: ''
      description: Updates the employment status and/or active status of one or more employees.
      operationId: Put EmployeeStatuses
      parameters:
        - name: updater
          in: body
          description: Describes the employment status and active state to apply to one or more employees.
          required: true
          schema:
            $ref: '#/definitions/EmployeeStatusUpdater'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SavedResponse'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/employeeSuperGroups:
    post:
      tags:
        - EmployeeSuperGroups
      summary: ''
      description: Retrieves a list of employee super groups that match the specified selector.
      operationId: Search EmployeeSuperGroups
      parameters:
        - name: selector
          in: body
          description: Describes the employee super groups to retrieve.
          required: true
          schema:
            $ref: '#/definitions/EmployeeSuperGroupSelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EmployeeSuperGroupCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/forecastGroups:
    post:
      tags:
        - ForecastGroups
      summary: ''
      description: Retrieves a list of forecast groups that match the specified selector.
      operationId: Search ForecastGroups
      parameters:
        - name: selector
          in: body
          description: Describes the forecast groups to retrieve.
          required: true
          schema:
            $ref: '#/definitions/ForecastGroupSelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ForecastGroupCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/intraDayPerformanceSummaries:
    post:
      tags:
        - IntraDayPerformanceSummaries
      summary: ''
      description: Retrieves a list of intra-day performance summaries that match the specified selector.
      operationId: Search IntraDayPerformanceSummaries
      parameters:
        - name: selector
          in: body
          description: Describes the intra-day performance summaries to retrieve.
          required: true
          schema:
            $ref: '#/definitions/IntraDayPerformanceSummarySelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IntraDayPerformanceSummaryCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/perspectivePurposes:
    get:
      tags:
        - PerspectivePurposes
      summary: ''
      description: Retrieves a list of perspective purposes that match the name list.
      operationId: Get PerspectivePurposes
      parameters:
        - name: perspectivePurposeNames
          in: query
          description: List of perspective purpose names to retrieve.  If this parameter is omitted or the list is blank, all perspective purposes are returned.
          required: false
          type: array
          items:
            type: string
          collectionFormat: multi
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PerspectivePurposeCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/perspectives:
    post:
      tags:
        - Perspectives
      summary: ''
      description: Retrieves a list of perspectives that match the specified selector.
      operationId: Search Perspectives
      parameters:
        - name: selector
          in: body
          description: Describes the perspectives to retrieve.
          required: true
          schema:
            $ref: '#/definitions/PerspectiveSelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PerspectiveCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/routingSets:
    post:
      tags:
        - RoutingSets
      summary: ''
      description: Retrieves a list of routing sets that match the specified selector.
      operationId: Search RoutingSets
      parameters:
        - name: selector
          in: body
          description: Describes the routing sets to retrieve.
          required: true
          schema:
            $ref: '#/definitions/RoutingSetSelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RoutingSetCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/segmentAudits:
    post:
      tags:
        - SegmentAudits
      summary: ''
      description: Retrieves a list of segment audits that match the specified selector. If the selector matches a segment audit then **all** of the audit records associated with that segment will be included in the response.
      operationId: Search SegmentAudits
      parameters:
        - name: selector
          in: body
          description: Describes the segment audits to retrieve.
          required: true
          schema:
            $ref: '#/definitions/SegmentAuditSelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SegmentAuditCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/segmentCategories:
    post:
      tags:
        - SegmentCategories
      summary: ''
      description: Retrieves a list of segment categories that match the specified selector.
      operationId: Search SegmentCategories
      parameters:
        - name: selector
          in: body
          description: Describes the segment categories to retrieve.
          required: true
          schema:
            $ref: '#/definitions/SegmentCategorySelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SegmentCategoryCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/segmentDefinitions:
    post:
      tags:
        - SegmentDefinitions
      summary: ''
      description: Retrieves a list of segment definitions that match the specified selector.
      operationId: Search SegmentDefinitions
      parameters:
        - name: selector
          in: body
          description: Describes the segment definitions to retrieve.
          required: true
          schema:
            $ref: '#/definitions/SegmentDefinitionSelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SegmentDefinitionCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/segments:
    post:
      tags:
        - Segments
      summary: ''
      description: Retrieves a list of segments that match the specified selector.
      operationId: Search Segments
      parameters:
        - name: selector
          in: body
          description: Describes the segments to retrieve.
          required: true
          schema:
            $ref: '#/definitions/SegmentSelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SegmentCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/segmentSummaries:
    post:
      tags:
        - SegmentSummaries
      summary: ''
      description: Retrieves a list of segment summaries that match the specified selector.
      operationId: Search SegmentSummaries
      parameters:
        - name: selector
          in: body
          description: Describes the segment summaries to retrieve.
          required: true
          schema:
            $ref: '#/definitions/SegmentSummarySelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SegmentSummaryCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/staffAdjustmentSets:
    post:
      tags:
        - StaffAdjustmentSets
      summary: ''
      description: Retrieves a list of staff adjustment sets that match the specified selector.
      operationId: Search StaffAdjustmentSets
      parameters:
        - name: selector
          in: body
          description: Describes the staff adjustment sets to retrieve.
          required: true
          schema:
            $ref: '#/definitions/StaffAdjustmentSetSelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/StaffAdjustmentSetCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/staffGroups:
    post:
      tags:
        - StaffGroups
      summary: ''
      description: Retrieves a list of staff groups that match the specified selector.
      operationId: Search StaffGroups
      parameters:
        - name: selector
          in: body
          description: Describes the staff groups to retrieve.
          required: true
          schema:
            $ref: '#/definitions/StaffGroupSelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/StaffGroupCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/superStateHours:
    post:
      tags:
        - SuperStateHours
      summary: ''
      description: Retrieves a list of superstate hours that match the specified selector.
      operationId: Search SuperStateHours
      parameters:
        - name: selector
          in: body
          description: Describes the superstate hours to retrieve.
          required: true
          schema:
            $ref: '#/definitions/SuperStateHourSelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SuperStateHourCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/search/superStates:
    post:
      tags:
        - SuperStates
      summary: ''
      description: Retrieves a list of superstates that match the specified selector.
      operationId: Search SuperStates
      parameters:
        - name: selector
          in: body
          description: Describes the superstates to retrieve.
          required: true
          schema:
            $ref: '#/definitions/SuperStateSelector'
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SuperStateCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/systemInformation:
    get:
      tags:
        - SystemInformation
      summary: ''
      description: Retrieves information about the state and configuration of the workforce component.
      operationId: Get SystemInformation
      parameters:
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SystemInformation'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/systemParameters:
    get:
      tags:
        - SystemParameters
      summary: ''
      description: Retrieves a list of system parameters that match the name list.
      operationId: Get SystemParameters
      parameters:
        - name: systemParameterNames
          in: query
          description: List of system parameter names to retrieve.  If this parameter is omitted or the list is blank, all system parameters are returned.
          required: false
          type: array
          items:
            type: string
          collectionFormat: multi
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SystemParameterCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
  /via/v2/organizations/{orgId}/workforce/timeZones:
    get:
      tags:
        - TimeZones
      summary: ''
      description: Retrieves all the time zones.
      operationId: Get TimeZones
      parameters:
        - $ref: '#/parameters/startIndex'
        - $ref: '#/parameters/maxResults'
        - $ref: '#/parameters/orgId'
        - $ref: '#/parameters/Authorization'
        - $ref: '#/parameters/x-api-key'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TimeZoneCollection'
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            RateLimit-Limit:
              description: The number of requests remaining until rate limiting occurs for this endpoint, which will be zero while throttled
              type: integer
            RateLimit-Remaining:
              description: The maximum requests allowed in a one minute period before rate limiting occurs
              type: integer
            RateLimit-Reset:
              description: Number of seconds until the RateLimit-Remaining resets
              type: integer
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth for non-US:
            - workforceapi
          oauth for US:
            - workforceapi
definitions:
  AcdInstance:
    description: Represents an ACD instance.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceAcdInstance
      id:
        description: Alvaria-generated unique identifier for the ACD instance.
        type: string
        example: '975444541'
      code:
        description: Unique identifier for this ACD instance, which can contain up to 30 characters.
        maxLength: 30
        minLength: 1
        type: string
        example: ASPECT_ACD
      description:
        description: This is a deprecated property.
        maxLength: 30
        minLength: 1
        type: string
        example: Aspect ACD
      acdInstanceDescription:
        description: Description for this ACD instance.
        maxLength: 30
        minLength: 1
        type: string
        example: Aspect ACD
      apFormulaId:
        description: Alvaria-generated unique identifier for the agent formula set that provides the agent productivity formula used by this ACD instance. The definition for this agent formula set can be retrieved with the via/v2/organizations/{orgId}/workforce/search/agentFormulaSets endpoint.
        type: string
        example: '-9994561656.0'
      model:
        description: ACD model for this ACD instance.
        type: string
        example: UNIFIEDIP
      site:
        description: ACD site for this ACD instance.
        type: string
        example: Site1
      stream:
        format: int32
        description: Stream for this ACD instance.  Value must be between 1 and 1024.
        type: integer
        example: 20
      timeZoneId:
        description: Alvaria-generated unique identifier for the time zone in which this ACD operates. The definition for this time zone can be retrieved with the via/v2/organizations/{orgId}/workforce/timeZones endpoint.
        type: string
        example: '-9994561656.0'
      unit:
        format: int32
        description: ACD reporting unit for this ACD instance, in minutes. Valid values are 15, 30, and 60.
        type: integer
        example: 30
      lastModifiedTime:
        format: date-time
        description: Timestamp that indicates when this entity was last modified.
        type: string
        example: '2010-12-31T13:13:51Z'
      lastModifiedBy:
        description: Alvaria-generated unique identifier for the user who last modified this entity.
        type: string
        example: '-9994561656.0'
  AcdInstanceCollection:
    description: "Result of a query for ACD instances. The result is a list of ACD instances \r\nthat were selected by the selector, but pagination and selector limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching ACD instances. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceAcdInstanceCollection
      acdInstances:
        description: List of ACD instances.
        type: array
        items:
          $ref: '#/definitions/AcdInstance'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  AcdInstanceSelector:
    description: "Selects a set of ACD instances by filtering on the code and ID.\r\n* If no selection criteria is supplied then all ACD instances are selected.\r\n* The selection criteria parameters are combined together by using the OR operator."
    type: object
    properties:
      acdInstanceIds:
        description: ACD instances with a matching ID are selected.
        type: array
        items:
          type: string
        example:
          - '994684565'
          - '994687481'
      codes:
        description: Entities with a code that exactly matches a code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLUE
          - GREEN
      partialCodes:
        description: Entities with a code that starts with any partial code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLU
          - G
  AcdLogin:
    description: Represents an ACD login.
    required:
      - login
      - acdInstanceId
    type: object
    properties:
      acdInstanceId:
        description: Alvaria-generated unique identifier for the ACD instance on which this ACD login is configured. The definition for this ACD instance can be retrieved with the via/v2/organizations/{orgId}/workforce/search/acdInstances endpoint.
        type: string
        example: '-9994561656.0'
      group:
        description: Code or other identifier of the ACD group that this employee logs in to on the ACD. This is used by the Agent Productivity feature.
        type: string
        example: ACD1
      login:
        description: Code or other identifier that the employee uses to log in to the ACD.
        type: string
        example: '1920'
  ActualSpan:
    description: Represents an actual span.
    type: object
    properties:
      startDateTime:
        format: date-time
        description: Start datetime for this actual span.
        type: string
        example: '2010-12-31T13:18:35Z'
      stateId:
        description: Alvaria-generated unique identifier for the state associated with this actual span. The definition for this state can be retrieved with the via/v2/organizations/{orgId}/workforce/search/perspectives endpoint which include states associated with each perspective.
        type: string
        example: '-9994561656.0'
      stopDateTime:
        format: date-time
        description: Stop datetime for this actual span.
        type: string
        example: '2010-12-31T13:18:35Z'
  Adherence:
    description: Represents an adherence.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceAdherence
      employeeId:
        description: Alvaria-generated unique identifier for the employee associated with this adherence. The definition for this employee can be retrieved with the via/v2/organizations/{orgId}/workforce/search/employees endpoint.
        type: string
        example: '-9994561656.0'
      actualSpans:
        description: List of actual spans associated with this adherence.
        type: array
        items:
          $ref: '#/definitions/ActualSpan'
      adherenceSpans:
        description: List of adherence spans associated with this adherence.
        type: array
        items:
          $ref: '#/definitions/AdherenceSpan'
      scheduledSpans:
        description: List of schedule spans associated with this adherence.
        type: array
        items:
          $ref: '#/definitions/ScheduledSpan'
      startDateTime:
        format: date-time
        description: Start datetime for this adherence.
        type: string
        example: '2010-12-31T13:18:35Z'
      statistics:
        description: List of state statistics associated with this adherence.
        type: array
        items:
          $ref: '#/definitions/StateStatistics'
      stopDateTime:
        format: date-time
        description: Stop datetime for this adherence.
        type: string
        example: '2010-12-31T13:18:35Z'
  AdherenceCollection:
    description: "Result of a query for adherences. The result is a list of adherences\r\nthat were selected by the selector, but pagination and selector limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching adherences. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceAdherenceCollection
      adherences:
        description: List of adherences.
        type: array
        items:
          $ref: '#/definitions/Adherence'
      currentDateTime:
        format: date-time
        description: Current datetime adherences were retrieved.
        type: string
        example: '2010-12-31T13:13:51Z'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  AdherenceSelector:
    description: "Selects a set of adherences.\r\n* If no selection criteria is supplied then a 400 bad request response will be returned.\r\n* If employeeSelector is omitted or null, then no qualifying data will be returned besides the current date.  \r\n* If employeeSelector is empty, then qualifying data for all employees with be returned.\r\n* The selection criteria parameters are combined together by using the AND operator.\r\n* For example, if an employeeSelector and dateTimeRange are both specified, the adherence data returned must match the employeeSelector criteria and have a datetime within the dateTimeRange.\r\n* dateTimeRange is required.                                                                                              \r\n* dateTimeRange filters adherences by startDateTime and stopDateTime (inclusive). Any adherence where any part of the range defined by startDateTime and stopDateTime overlaps any supplied ranges will be included in the response.\r\n* If the source is RTA then the perspective must be specified. \r\n* If the source is AP then the perspective is optional but ignored if specified."
    required:
      - dateTimeRange
    type: object
    properties:
      dateTimeRange:
        $ref: '#/definitions/DateTimeRange'
      employeeSelector:
        $ref: '#/definitions/EmployeeSelector'
      interval:
        format: int32
        description: Interval value (in minutes) determines whether spans of logged in time are combined to form events for calculating adherence statistics. The default setting is 480 minutes.
        type: integer
        example: 480
      perspectiveId:
        description: Alvaria-generated unique identifier for the perspective. The definition for this perspective can be retrieved with the via/v2/organizations/{orgId}/workforce/search/perspectives endpoint. Adherences associated with perspective with a matching ID are selected. If the Source is RTA then the Perspective must be specified. If the Source is AP then the Perspective is optional but ignored if specified.
        type: string
        example: '-102147483315'
      source:
        description: Adherences associated with this source will be selected.
        enum:
          - AP
          - RTA
        type: string
        example: AP
  AdherenceSpan:
    description: Represents an adherence span.
    type: object
    properties:
      actualStateId:
        description: Alvaria-generated unique identifier for the state associated with this adherence span. The definition for this state can be retrieved with the via/v2/organizations/{orgId}/workforce/search/perspectives endpoint which include states associated with each perspective.
        type: string
        example: '-9994561656.0'
      isWithinScheduled:
        description: Indicates whether this adherence span is within scheduled.
        type: boolean
        example: true
      scheduledStateId:
        description: Alvaria-generated unique identifier for the state associated with this adherence span. The definition for this state can be retrieved with the via/v2/organizations/{orgId}/workforce/search/perspectives endpoint which include states associated with each perspective.
        type: string
        example: '-9994561656.0'
      startDateTime:
        format: date-time
        description: Start datetime for this adherence span.
        type: string
        example: '2010-12-31T13:18:35Z'
      stopDateTime:
        format: date-time
        description: Stop datetime for this adherence span.
        type: string
        example: '2010-12-31T13:18:35Z'
  AgentFormulaSet:
    description: "Represents an agent formula set.  \r\nCollection of settings that defines how to extract contact volume, \r\nstaffing and other data from ACD reports. Default formula sets are \r\nread-only; only user-created report sets can be modified."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceAgentFormulaSet
      id:
        description: Alvaria-generated unique identifier for the agent formula set.
        type: string
        example: '975444541'
      code:
        description: Unique identifier for this agent formula set, which can contain up to 30 characters.
        maxLength: 30
        minLength: 1
        type: string
        example: AP_FORMULA1
      description:
        description: This is a deprecated property.
        maxLength: 30
        minLength: 1
        type: string
        example: AP Agent Formula Set 1
      agentFormulaSetDescription:
        description: Description for this agent formula set.
        maxLength: 30
        minLength: 1
        type: string
        example: AP Agent Formula Set 1
      aps:
        description: Average position staffed formula for this agent formula set.
        type: string
        example: QUEUE ["*", C6]
      model:
        description: ACD model for this agent formula set.
        type: string
        example: ALCATEL
      userDefined:
        description: Indicates whether this agent formula set is user-defined.
        type: boolean
        example: false
      lastModifiedTime:
        format: date-time
        description: Timestamp that indicates when this entity was last modified.
        type: string
        example: '2010-12-31T13:18:35Z'
      lastModifiedBy:
        description: Alvaria-generated unique identifier for the user who last modified this entity.
        type: string
        example: '-9994561656.0'
  AgentFormulaSetCollection:
    description: "Result of a query for agent formula sets. The result is a list of agent formula sets\r\nthat were selected by the selector, but pagination and selector limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching agent formula sets. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceAgentFormulaSetCollection
      agentFormulaSets:
        description: List of agent formula sets.
        type: array
        items:
          $ref: '#/definitions/AgentFormulaSet'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  AgentFormulaSetSelector:
    description: "Selects a set of agent formula sets by filtering on the code and ID.\r\n* If no selection criteria is supplied then all agent formula sets are selected.\r\n* The selection criteria parameters are combined together by using the OR operator."
    type: object
    properties:
      agentFormulaSetIds:
        description: Agent formula sets with a matching ID are selected.
        type: array
        items:
          type: string
        example:
          - '994684565'
          - '994687481'
      codes:
        description: Entities with a code that exactly matches a code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLUE
          - GREEN
      partialCodes:
        description: Entities with a code that starts with any partial code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLU
          - G
  AgentProductivity:
    description: Represents an agent productivity.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceAgentProductivity
      employeeId:
        description: Alvaria-generated unique identifier for the employee associated with this agent productivity. The definition for this employee can be retrieved with the via/v2/organizations/{orgId}/workforce/search/employees endpoint.
        type: string
        example: '-9994561656.0'
      agentProductivityNominalDate:
        description: List of agent productivity nominal dates associated with this agent productivity.
        type: array
        items:
          $ref: '#/definitions/AgentProductivityNominalDate'
  AgentProductivityAcdGroup:
    description: Represents an agent productivity ACD group.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceAgentProductivityAcdGroup
      acdGroupIdentifiers:
        description: List of ACD instance group identifiers associated with this agent productivity ACD group.
        type: array
        items:
          type: string
        example:
          - '289'
          - '479'
      acdInstanceId:
        description: Alvaria-generated unique identifier for the ACD instance associated with this agent productivity ACD group. The definition for this ACD instance can be retrieved with the via/v2/organizations/{orgId}/workforce/search/acdInstances endpoint.
        type: string
        example: '-9994561656.0'
  AgentProductivityAcdGroupCollection:
    description: "Result of a query for agent productivity ACD groups. The result is a list of agent productivity ACD groups\r\nthat were selected, but pagination limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching agent productivity ACD groups. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceAgentProductivityAcdGroupCollection
      agentProductivityAcdGroups:
        description: List of agent productivity ACD groups.
        type: array
        items:
          $ref: '#/definitions/AgentProductivityAcdGroup'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  AgentProductivityCollection:
    description: "Result of a query for agent productivities. The result is a list of agent productivities\r\nthat were selected by the selector, but pagination and selector limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching agent productivities. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceAgentProductivityCollection
      agentProductivities:
        description: List of agent productivities.
        type: array
        items:
          $ref: '#/definitions/AgentProductivity'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  AgentProductivityNominalDate:
    description: Represents an agent productivity nominal date.
    type: object
    properties:
      agentProductivityRecords:
        description: List of agent productivity records associated with agent productivity nominal date.
        type: array
        items:
          $ref: '#/definitions/AgentProductivityRecord'
      nominalDate:
        format: date
        description: Nominal date of this agent productivity nominal date. The time and bias of this value is ignored.
        type: string
        example: '2000-12-30'
  AgentProductivityRecord:
    description: Represents an agent productivity record.
    type: object
    properties:
      agentProductivityAcdGroup:
        $ref: '#/definitions/AgentProductivityAcdGroup'
      agentProductivityStatistics:
        description: List of agent productivity statistics associated with this agent productivity record.
        type: array
        items:
          $ref: '#/definitions/AgentProductivityStatistic'
  AgentProductivitySelector:
    description: "Selects a set of agent productivities.\r\n* If no selection criteria is supplied then a 400 bad request response will be returned.\r\n* If employeeSelector is omitted, null, or empty, then qualifying data for all employees with be returned.\r\n* The multi-valued selection criterias are combined using the OR operator.\r\n* For example, if there are multiple dateRanges, the data returned must have a nominal date within dateRange #1 or within dateRange #2 or within dateRange #3, and so on. \r\n* The selection criteria parameters are combined together by using the AND operator.\r\n* For example, if an employeeSelector and dateRanges are both specified, the agent productivity data returned must match the employeeSelector criteria and have a nominal date within the dateRanges.\r\n* At least one dateRanges must be included.\r\n* dateRanges filters agent productivities by nominal date (inclusive). Any agent productivities with a nominal date between startDate and stopDate of any supplied range will be included in the response."
    required:
      - dateRanges
    type: object
    properties:
      dateRanges:
        description: Agent productivities with a nominal date within any specified range are selected.
        type: array
        items:
          $ref: '#/definitions/DateRange'
      employeeSelector:
        $ref: '#/definitions/EmployeeSelector'
      includeAgentProductivityAcdGroups:
        description: Agent productivity ACD group to group on when use ACD group is true.
        type: array
        items:
          $ref: '#/definitions/IncludeAgentProductivityAcdGroup'
      includeAgentProductivityStatistics:
        description: Agent productivities associated with any agent productivity statics in the list will be included.
        type: array
        items:
          enum:
            - ScheduleCrossesMidnight
            - NCH
            - NCHWeight
            - NCHPerHour
            - ATT
            - NCH_ATT
            - ACWT
            - NCH_ACWT
            - AHT
            - NCH_AHT
            - NOC
            - NOCWeight
            - NOCPerHour
            - AOT
            - NOC_AOT
            - AOWT
            - NOC_AOWT
            - AOHT
            - NOC_AOHT
            - NSIOC
            - NSIOCWeight
            - NSIOCPerHour
            - SIOATT
            - NSIOC_SIOATT
            - SIOAWT
            - NSIOC_SIOAWT
            - RPC
            - RPCWeight
            - RPCPerHour
            - RPTT
            - RPC_RPTT
            - RPWT
            - RPC_RPWT
            - RPAHT
            - NSIOC_RPAHT
            - WPC
            - WPCWeight
            - WPCPerHour
            - WPTT
            - WPC_WPTT
            - WPWT
            - WPC_WPWT
            - WPAHT
            - NSIOC_WPAHT
            - EarlyLateStart
            - EarlyLateStop
            - Scheduled
            - SignedIn
            - Compliance
            - Idle
            - AVL_TIME
            - UNAVL_TIME
            - PluggedInPercent
            - SignedInPercent
            - CompliancePercent
            - RPC_RPAHT
            - WPC_WPAHT
            - SIOAHT
          type: string
        example:
          - ScheduleCrossesMidnight
          - NCH
      useAcdGroup:
        description: "Determines whether to group by agent productivity ACD group.  \r\nDefault is false."
        type: boolean
        example: true
  AgentProductivityStatistic:
    description: Represents an agent productivity statistic.
    type: object
    properties:
      agentProductivityStatisticIdentifier:
        description: Statistic identifier for this agent productivity statistic.
        enum:
          - ScheduleCrossesMidnight
          - NCH
          - NCHWeight
          - NCHPerHour
          - ATT
          - NCH_ATT
          - ACWT
          - NCH_ACWT
          - AHT
          - NCH_AHT
          - NOC
          - NOCWeight
          - NOCPerHour
          - AOT
          - NOC_AOT
          - AOWT
          - NOC_AOWT
          - AOHT
          - NOC_AOHT
          - NSIOC
          - NSIOCWeight
          - NSIOCPerHour
          - SIOATT
          - NSIOC_SIOATT
          - SIOAWT
          - NSIOC_SIOAWT
          - RPC
          - RPCWeight
          - RPCPerHour
          - RPTT
          - RPC_RPTT
          - RPWT
          - RPC_RPWT
          - RPAHT
          - NSIOC_RPAHT
          - WPC
          - WPCWeight
          - WPCPerHour
          - WPTT
          - WPC_WPTT
          - WPWT
          - WPC_WPWT
          - WPAHT
          - NSIOC_WPAHT
          - EarlyLateStart
          - EarlyLateStop
          - Scheduled
          - SignedIn
          - Compliance
          - Idle
          - AVL_TIME
          - UNAVL_TIME
          - PluggedInPercent
          - SignedInPercent
          - CompliancePercent
          - RPC_RPAHT
          - WPC_WPAHT
          - SIOAHT
        type: string
        example: ScheduleCrossesMidnight
      value:
        description: Agent productivity statistic value, expressed as a string.
        type: string
        example: '1'
  Color:
    description: Specific color, which includes a Windows color value and an RGB hexadecimal representation.
    type: object
    properties:
      htmlColor:
        description: Color as an RGB hexadecimal string, which a browser can use to display the color.
        type: string
        example: '800080'
      windowsColor:
        format: int32
        description: Color as a Windows color. This may be a pallet index or an RGB value.
        type: integer
        example: 16777215
  DateRange:
    description: Range of dates.
    required:
      - startDate
      - stopDate
    type: object
    properties:
      startDate:
        format: date
        description: Start date of the range. Must be less than or equal to stop date.
        type: string
        example: '2000-12-30'
      stopDate:
        format: date
        description: Stop date of the range.
        type: string
        example: '2000-12-30'
  DateTimeRange:
    description: Range of datetimes.
    required:
      - startDateTime
      - stopDateTime
    type: object
    properties:
      startDateTime:
        format: date-time
        description: Start datetime of the range. Must be less than or equal to stop datetime.
        type: string
        example: '2010-12-31T13:18:35Z'
      stopDateTime:
        format: date-time
        description: Stop datetime of the range.
        type: string
        example: '2010-12-31T13:18:35Z'
  DurationRange:
    description: Range of durations.
    required:
      - minimumDuration
      - maximumDuration
    type: object
    properties:
      maximumDuration:
        description: Maximum duration in the range.
        type: string
        example: '15:02:00'
      minimumDuration:
        description: Minimum duration in the range. Must be less than or equal to maximum duration.
        type: string
        example: '15:01:00'
  Employee:
    description: Represents a Workforce Management employee.
    required:
      - employeeIdentifier
      - lastName
      - firstName
      - shortName
      - sortName
      - effectiveHireDate
      - timeZoneId
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceEmployee
      id:
        description: Alvaria-generated unique identifier for the employee.
        type: string
        example: '975444541'
      acdLogins:
        description: List of the ACD logins associated with this employee.
        type: array
        items:
          $ref: '#/definitions/AcdLogin'
      active:
        description: Indicates whether this employee is active.
        type: boolean
        example: true
      effectiveHireDate:
        format: date
        description: Hire date for this employee.
        type: string
        example: '2000-12-30'
      eMailAddress:
        description: Email address for this employee.
        type: string
        example: employeeemail@sample.com
      employeeGroups:
        description: List of employee groups to which the employee is assigned.
        type: array
        items:
          $ref: '#/definitions/EmployeeGroupAssignment'
      employeeIdentifier:
        description: Unique, human-readable identification code for this employee. The maximum length is 10.
        type: string
        example: TIG32
      extraFields:
        description: List of extra field values associated with the employee.
        type: array
        items:
          $ref: '#/definitions/ExtraFieldValue'
      firstName:
        description: First name for this employee.
        type: string
        example: Jackie K.
      instantMessageAddress:
        description: Instant message address for this employee.
        type: string
        example: sip:employeeURI@sample.com
      lastName:
        description: Last name for this employee.
        type: string
        example: Abernathy
      memo:
        description: Additional text associated with the employee.
        type: string
        example: Additional info relating to Employee
      seniority:
        description: "Employee ranking, up to 12 characters, to use for operations in which \r\nEmployees are processed sequentially, such as automatic assignment and \r\npreference-based scheduling. These values default to the employee record \r\ncreation date in the format yyyymmdd000, where yyyymmdd is the numeric \r\nhire date (year, month, and day). A part, or all, of this value can be \r\nmodified when creating a user."
        type: string
        example: '20050101002'
      shortName:
        description: Shorter version of the employee name.
        type: string
        example: JKAbernathy
      skills:
        description: List of skills associated with the employee.
        type: array
        items:
          $ref: '#/definitions/EmployeeSkillAssociation'
      sortName:
        description: Alternative representation of the employee name that can be used for sorting purposes.
        type: string
        example: ABERNATHY, JACKIE K.
      terminationDate:
        format: date
        description: Termination date for this employee. This value may be null and a value of "3268-12-12" signifies a null value. This property will not apply when updating employee but is required for the current employee.
        type: string
        example: '2000-12-30'
      timeZoneId:
        description: Alvaria-generated unique identifier for the time zone associated with this employee. The definition for this time zone can be retrieved with the via/v2/organizations/{orgId}/workforce/timeZones endpoint.
        type: string
        example: '-9994561656.0'
      lastModifiedTime:
        format: date-time
        description: Timestamp that indicates when this entity was last modified.  This property will not apply when updating employee.
        type: string
        example: '2010-12-31T13:18:35Z'
      lastModifiedBy:
        description: Alvaria-generated unique identifier for the user who last modified this entity. This property will not apply when updating employee.
        type: string
        example: '-9994561656.0'
  EmployeeCollection:
    description: "Result of a query for employees. The result is a list of employees\r\nthat were selected by the selector, but pagination and selector limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching employees. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceEmployeeCollection
      employees:
        description: List of employees.
        type: array
        items:
          $ref: '#/definitions/Employee'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  EmployeeDetailsSelector:
    description: "Selects a set of employee records using an EmployeeSelector and determines\r\nhow to control which details of the employee record are included in the result.\r\n* If no selection criteria is supplied then all employees are selected.\r\n* If employeeSelector is omitted, null, or empty, then qualifying data for all employees with be returned."
    type: object
    properties:
      employeeSelector:
        $ref: '#/definitions/EmployeeSelector'
      includeAcdLogins:
        $ref: '#/definitions/IncludeAcdLogins'
      includeEmployeeGroups:
        $ref: '#/definitions/IncludeEmployeeGroups'
      includeExtraFields:
        $ref: '#/definitions/IncludeExtraFields'
      includeSkills:
        $ref: '#/definitions/IncludeSkills'
  EmployeeExtraField:
    description: Represents an employee extra field.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceEmployeeExtraField
      id:
        description: Alvaria-generated unique identifier for the employee extra field.
        type: string
        example: '975444541'
      name:
        description: This is a deprecated property.
        maxLength: 30
        minLength: 1
        type: string
        example: ADDRESS_1
      description:
        description: This is a deprecated property.
        maxLength: 30
        minLength: 1
        type: string
        example: Address Line 1
      dataType:
        description: Data type of an extra field.
        enum:
          - String
          - Integer
          - Float
          - Date
          - Time
          - DateTime
          - Boolean
        type: string
        example: String
      defaultFloat:
        format: double
        description: "Default floating point value for an extra field.\r\nIf the data type is not Float, then this property will be null.\r\nIf the data type is Float, then this field has a floating-point value."
        type: number
        example: 0.5
      defaultInteger:
        format: int32
        description: "Default integer value for an Integer, Date, Time, or DateTime extra field.\r\nIf the data type is not Integer, Date, Time, or DateTime, then this property will be null.\r\nIf the data type is Integer, then this field will have an integer value.\r\nIf the data type is Date, then this field will have an integer value that is the number of days since 1899-12-30.\r\nIf the data type is Time, then this field will have an integer value that is the number of minutes from midnight. This value is greater than or equal to 0 and less than 1440.\r\nIf the data type is DateTime, then this field will have an integer value that is the number of minutes since 1899-12-30T00:00:00Z."
        type: integer
        example: 0
      defaultString:
        description: "Default value for a string or boolean extra field.\r\nIf the data type is not String or Boolean, then this property will be null.\r\nIf the data type is String, this field will contain the default string, which can be blank.\r\nIf the data type is Boolean, then this field will contain either 'T' or 'F'."
        type: string
        example: String value
      employeeExtraFieldDescription:
        description: Description for this employee extra field.
        maxLength: 30
        minLength: 1
        type: string
        example: Address Line 1
      employeeExtraFieldName:
        description: Unique identifier for this employee extra field, which can contain up to 30 characters.
        maxLength: 30
        minLength: 1
        type: string
        example: ADDRESS_1
      extraFieldTabId:
        description: Alvaria-generated unique identifier for the employee extra field tab to which this employee extra field belongs. The definition for this employee extra field tab can be retrieved with the via/v2/organizations/{orgId}/workforce/employeeExtraFieldTabs endpoint.
        type: string
        example: '-9994561656.0'
      pictureMask:
        description: "Input mask of extra field. This can be used as a hint to help end users properly format a string extra field value.\r\nIf the data type is not String, then this property will be null.\r\nSee http://docwiki.embarcadero.com/Libraries/XE2/en/System.MaskUtils.TEditMask for valid picture mask formats."
        type: string
        example: (000) 000-0000
      precision:
        format: int32
        description: "Maximum precision of a floating point number.\r\nThis controls how many digits can appear to the right of a floating point number decimal point.\r\nThe valid range is 1 to 4.\r\nIf the data type is not Float, then this property will be null."
        type: integer
        example: 3
      sequenceNumber:
        format: int32
        description: "Sequence Number for an extra field. This value controls the order in which extra fields appear within an extra field tab when displayed to an end user. \r\nThe value must be greater than zero."
        type: integer
        example: 1
      lastModifiedTime:
        format: date-time
        description: Timestamp that indicates when this entity was last modified.
        type: string
        example: '2010-12-31T13:18:35Z'
      lastModifiedBy:
        description: Alvaria-generated unique identifier for the user who last modified this entity.
        type: string
        example: '-9994561656.0'
  EmployeeExtraFieldCollection:
    description: "Result of a query for employee extra fields. The result is a list of employee extra fields \r\nthat were selected, but pagination limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching employee extra fields. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceEmployeeExtraFieldCollection
      employeeExtraFields:
        description: List of employee extra fields.
        type: array
        items:
          $ref: '#/definitions/EmployeeExtraField'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  EmployeeExtraFieldTab:
    description: Represents an employee extra field tab.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceEmployeeExtraFieldTab
      id:
        description: Alvaria-generated unique identifier for the employee extra field tab.
        type: string
        example: '975444541'
      label:
        description: Employee extra fields tab title.
        type: string
        example: Title 1
      sequenceNumber:
        format: int32
        description: Employee extra fields tab sequence number, which defines the order in which extra field tabs are displayed to an end user.
        type: integer
        example: 1
      lastModifiedTime:
        format: date-time
        description: Timestamp that indicates when this entity was last modified.
        type: string
        example: '2010-12-31T13:18:35Z'
      lastModifiedBy:
        description: Alvaria-generated unique identifier for the user who last modified this entity.
        type: string
        example: '-9994561656.0'
  EmployeeExtraFieldTabCollection:
    description: "Result of a query for employee extra field tabs. The result is a list of employee extra field tabs \r\nthat were selected, but pagination limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching employee extra field tabs. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceEmployeeExtraFieldTabCollection
      employeeExtraFieldTabs:
        description: List of employee extra field tabs.
        type: array
        items:
          $ref: '#/definitions/EmployeeExtraFieldTab'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  EmployeeFilter:
    description: "Standard used for filtering employees.\r\n* Employee filter allows filtering of employees by employee groups, \r\nhire date, termination date, extra field, skill, and segment.\r\n* Employee filter criteria is combined together by using the AND \r\noperator to determine which employees match all filter criteria.\r\n* hireDateFilter filters employees by effectiveHireDate (inclusive). Any employee with an effectiveHireDate between startDate and stopDate of supplied range will be included in the response.\r\n* termDateFilter filters employees by terminationDate (inclusive). Any employee with a hireDate between startDate and stopDate of supplied range will be included in the response."
    type: object
    properties:
      employeeGroupFilter:
        $ref: '#/definitions/EmployeeFilterEmployeeGroupFilter'
      extraFieldFilter:
        $ref: '#/definitions/ExtraFieldComparison'
      hireDateFilter:
        $ref: '#/definitions/DateRange'
      segmentFilter:
        $ref: '#/definitions/EmployeeFilterSegmentFilter'
      skillFilter:
        $ref: '#/definitions/EmployeeFilterSkillFilter'
      termDateFilter:
        $ref: '#/definitions/DateRange'
  EmployeeFilterEmployeeGroupFilter:
    description: "Employee filter criteria of employee group IDs and date to determine\r\nwhich employees match the work an employee can perform."
    type: object
    properties:
      date:
        format: date
        description: Date used to test an employee assignment to employee groups.
        type: string
        example: '2000-12-30'
      employeeGroupIds:
        description: "List of Alvaria-generated unique identifiers for the employee groups. The definition for these employee groups can be retrieved with the via/v2/organizations/{orgId}/workforce/search/employeeGroups endpoint.\r\nList of employee group ids for employee filtering. This is a system identifier for a resource, not the identifier exposed to end users in the software.\r\nOnly employees assigned to an employee group in this list will be selected by the employee filter."
        type: array
        items:
          type: string
        example:
          - '-9994561656'
          - '-9994561254'
  EmployeeFilterSegmentFilter:
    description: "Employee Filter criteria based on a specific segment ID, segment start date range, segment stop date range, and segment duration.\r\n* duration filters employees with detail segments by the detail segment duration (inclusive). Any employee with a detail segment with a duration defined by its startTime and stopTime between minimumDuration and maximumDuration of supplied range will be included in the response.\r\n* start filters employees with detail segments by the detail segment startTime (inclusive). Any employee with a detail segment with a startTime between startDateTime and stopDateTime of supplied range will be included in the response.\r\n* stop filters employees with detail segments by the detail segment stopTime (inclusive). Any employee with a detail segment with a stopTime between startDateTime and stopDateTime of supplied range will be included in the response."
    required:
      - segmentDefinitionId
    type: object
    properties:
      duration:
        $ref: '#/definitions/DurationRange'
      segmentDefinitionId:
        format: double
        description: Alvaria-generated unique identifier for the segment definition used by this filter criteria. If supplied, only employees with a segment associated with this segment definition (and matching the other criteria) will be selected. The definition for a segment definition can be retrieved with the via/v2/organizations/{orgId}/workforce/search/segments endpoint.
        default: 0
        type: number
        example: 66898
      start:
        $ref: '#/definitions/DateTimeRange'
      stop:
        $ref: '#/definitions/DateTimeRange'
  EmployeeFilterSkillFilter:
    description: "Employee Filter criteria based on a specific employee skill ID, date, and priority range.\r\n* priorityRange filters employees by skill assignment priority (inclusive). Any employee with a skill of the requested id with a priority between the minimum and maximum of supplied range will be included in the response."
    type: object
    properties:
      date:
        format: date
        description: Date for which an employee possessed the defined skill.
        type: string
        example: '2000-12-30'
      priorityRange:
        $ref: '#/definitions/IntegerRange'
      skillId:
        format: double
        description: Alvaria-generated unique identifier for the employee skill used by this filter criteria. If supplied, only employees with this employee skill (and matching the other criteria) will be selected. The definition for a employee skill can be retrieved with the via/v2/organizations/{orgId}/workforce/search/employeeSkills endpoint.
        type: number
        example: 1489356
  EmployeeGroup:
    description: "Represents an employee group. \r\nEmployee group is a division or category created to organize employee information.\r\nEmployee groups are points on an employee tree."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceEmployeeGroup
      id:
        description: Alvaria-generated unique identifier for the employee group.
        type: string
        example: '975444541'
      code:
        description: Unique identifier for this employee group, which can contain up to 30 characters.
        maxLength: 30
        minLength: 1
        type: string
        example: CSV
      description:
        description: This is a deprecated property.
        maxLength: 30
        minLength: 1
        type: string
        example: Customer Service
      allowAssignment:
        description: Indicates whether employees can be assigned directly to this group, as opposed to its child groups only.
        type: boolean
        example: true
      allowLeader:
        description: "Indicates whether employees can be designated as leaders in this group. \r\nThe leader property is useful in identifying certain employees in a group."
        type: boolean
        example: false
      employeeGroupClass:
        $ref: '#/definitions/EmployeeGroupClassAssociation'
      employeeGroupDescription:
        description: Description for this employee group.
        maxLength: 30
        minLength: 1
        type: string
        example: Customer Service
      employeeGroupTreeId:
        description: Alvaria-generated unique identifier for the employee group that is the root of the tree to which this employee group belongs. If this employee group is the root of a tree then this property will hold the same value as the id property.
        type: string
        example: '-9994561656.0'
      parentEmployeeGroupId:
        description: Alvaria-generated unique identifier for the employee group that is the parent of this employee group. If this employee group is the root of a tree then this property has no value.
        type: string
        example: '-9994561656.0'
      lastModifiedTime:
        format: date-time
        description: Timestamp that indicates when this entity was last modified.
        type: string
        example: '2010-12-31T13:18:35Z'
      lastModifiedBy:
        description: Alvaria-generated unique identifier for the user who last modified this entity.
        type: string
        example: '-9994561656.0'
  EmployeeGroupAssignment:
    description: Represents an employee assignment to an employee group.
    required:
      - employeeGroupId
      - startDate
    type: object
    properties:
      employeeGroupId:
        format: double
        description: Alvaria-generated unique identifier for the employee group to which this employee is assigned. The definition for this employee group can be retrieved with the via/v2/organizations/{orgId}/workforce/search/employeeGroups endpoint.
        default: 0
        type: number
        example: 975444541
      leader:
        description: Indicates whether an employee is a leader in the employee group.
        type: boolean
        example: false
      startDate:
        format: date
        description: First day this employee is assigned to this employee group.
        type: string
        example: '2000-12-30'
      stopDate:
        format: date
        description: Last day this employee is assigned to this employee group. This value may be null and a value of "3268-12-12" signifies a null value. This property will not apply when adding or updating employee group but is required for the current employee.
        type: string
        example: '2000-12-30'
  EmployeeGroupClass:
    description: "Represents an employee group class.\r\nClasses categorize employee groups for reporting purposes; they designate the kind of group within the employee tree. \r\nSome examples of possible user-defined classes are: Location, Work Team, and Job Type."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceEmployeeGroupClass
      id:
        description: Alvaria-generated unique identifier for the employee group class.
        type: string
        example: '975444541'
      label:
        description: Label or title of the employee group class, which can contain up to 30 characters.
        type: string
        example: Location
      employeeGroupTreeId:
        description: Alvaria-generated unique identifier for the employee group that is associated with this employee group class. The definition for this employee group can be retrieved with the via/v2/organizations/{orgId}/workforce/search/employeeGroups endpoint.
        type: string
        example: '-9994561656.0'
  EmployeeGroupClassAssociation:
    description: "Represents an employee group class association.\r\nEmployee group category used for reporting purposes. The category designates the kind of group within the employee tree."
    type: object
    properties:
      label:
        description: Label or title of the employee group class, which can contain up to 30 characters.
        type: string
        example: Location
      employeeGroupClassId:
        description: Alvaria-generated unique identifier for the employee group class that is assigned to this employee group class. The definition for this employee group class can be retrieved with the via/v2/organizations/{orgId}/workforce/employeeGroupClasses endpoint.
        type: string
        example: '-9994561656.0'
  EmployeeGroupClassCollection:
    description: "Result of a query for employee group classes. The result is a list of employee group classes\r\nthat were selected, but pagination limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching employee group classes. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceEmployeeGroupClassCollection
      employeeGroupClasses:
        description: List of employee group classes.
        type: array
        items:
          $ref: '#/definitions/EmployeeGroupClass'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  EmployeeGroupCollection:
    description: "Result of a query for employee groups. The result is a list of employee groups\r\nthat were selected by the selector, but pagination and selector limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching employee groups. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceEmployeeGroupCollection
      employeeGroups:
        description: List of employee groups.
        type: array
        items:
          $ref: '#/definitions/EmployeeGroup'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  EmployeeGroupSelector:
    description: "Selects a set of employee groups by filtering on the code and ID.\r\n* If no selection criteria is supplied then all employee groups are selected.\r\n* The selection criteria parameters are combined together using the OR operator."
    type: object
    properties:
      codes:
        description: Entities with a code that exactly matches a code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLUE
          - GREEN
      employeeGroupIds:
        description: Employee groups with a matching ID are selected.
        type: array
        items:
          type: string
        example:
          - '994684565'
          - '994687481'
      partialCodes:
        description: Entities with a code that starts with any partial code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLU
          - G
  EmployeeInfoUpdatePair:
    description: Represents a current and update employee pair.
    required:
      - currentEmployee
      - updateEmployee
    type: object
    properties:
      currentEmployee:
        $ref: '#/definitions/Employee'
      updateEmployee:
        $ref: '#/definitions/Employee'
  EmployeeInfoUpdater:
    description: Updates a set of employees
    required:
      - updateEmployeePairs
    type: object
    properties:
      updateEmployeePairs:
        description: List of employee info update pairs.
        type: array
        items:
          $ref: '#/definitions/EmployeeInfoUpdatePair'
  EmployeeSelector:
    description: "Selects employees by name, ID, employee identifier, or by a complex filter.\r\n* Employees are selected by \r\n    + employee IDs (a unique identifier that is not usually exposed to end users)\r\n    + employee identifiers (a unique human-readable identifier specified by an end user)\r\n    + employee names (partial names in the format \"last_name, first_name\")\r\n    + employee filter \r\n* These four parameters are combined together using the OR operator when selecting matching employee records.\r\n* If none of the four parameters are supplied, then all employees are selected."
    type: object
    properties:
      employeeFilter:
        $ref: '#/definitions/EmployeeFilter'
      employeeIdentifiers:
        description: "List of employee identifiers for explicit employee selection. \r\nThis is the employee identifier that is exposed to the end user in the\r\nsoftware. Employees with a name in the format \"last_name, first_name\" \r\nthat start with a value specified in this list are selected."
        type: array
        items:
          type: string
        example:
          - EMP001
          - EMP002
      employeeIds:
        description: "List of Alvaria-generated unique identifiers for the employees. The definition for these employees can be retrieved with the via/v2/organizations/{orgId}/workforce/search/employees endpoint.\r\nList of employee ids for explicit employee selection. This is a system identifier for a resource, not the identifier exposed to end users in the software."
        type: array
        items:
          type: string
        example:
          - '-9994561656'
          - '-9994561254'
      employeeNames:
        description: List of names used to select employees. Any employee with a name that begins with a supplied value will be selected. Employees match if the employee name in the format "last name, first name" starts with a value in this list.
        type: array
        items:
          type: string
        example:
          - Ryan, J
          - Abernathy
      hideInactiveEmployees:
        description: Indicates whether to hide inactive employees. If false (the default), only active employees are selected. If true, then all matching employees are returned.
        type: boolean
        example: true
      names:
        description: This is a deprecated property.
        type: array
        items:
          type: string
        example:
          - Ryan, J
          - Abernathy
      respectFilterProfile:
        description: Indicates whether to use employee filter profiles. If true (the default), then only employees in the employee filter profile of the current user will be selected. If false, the employee filter profile is not considered.
        type: boolean
        example: true
  EmployeeSkill:
    description: "Represents an employee skill. \r\nEmployee skills identify the type of work an employee can perform."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceEmployeeSkill
      id:
        description: Alvaria-generated unique identifier for the employee skill.
        type: string
        example: '975444541'
      code:
        description: Unique identifier for this employee skill, which can contain up to 30 characters.
        maxLength: 30
        minLength: 1
        type: string
        example: CSV
      description:
        description: This is a deprecated property.
        maxLength: 30
        minLength: 1
        type: string
        example: Customer Service Skill
      employeeSkillDescription:
        description: Description for this employee skill.
        maxLength: 30
        minLength: 1
        type: string
        example: Customer Service Skill
  EmployeeSkillAssociation:
    description: Represents an employee skill association.
    required:
      - skillId
      - startDate
      - priority
    type: object
    properties:
      priority:
        format: int32
        description: Number indicating relative proficiency (relative to the other employee skills, or the proficiency of other employees in this same area).
        type: integer
        example: 2
      skillId:
        format: double
        description: Alvaria-generated unique identifier for the employee skill associated with this employee. The definition for this employee skill can be retrieved with the via/v2/organizations/{orgId}/workforce/search/employeeSkills endpoint.
        default: 0
        type: number
        example: 975444541
      startDate:
        format: date
        description: First day this employee is associated with this skill.
        type: string
        example: '2000-12-30'
      stopDate:
        format: date
        description: Last day this employee is associated with this skill. This value may be null and a value of "3268-12-12" signifies a null value.
        type: string
        example: '2000-12-30'
  EmployeeSkillCollection:
    description: "Result of a query for employee skills. The result is a list of employee skills\r\nthat were selected by the selector, but pagination and selector limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching employee skills. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceEmployeeSkillCollection
      employeeSkills:
        description: List of employee skills.
        type: array
        items:
          $ref: '#/definitions/EmployeeSkill'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  EmployeeSkillSelector:
    description: "Selects a set of employee skills by filtering on the code and ID.\r\n* If no selection criteria is supplied then all employee skills are selected.\r\n* The selection criteria parameters are combined together by using the OR operator."
    type: object
    properties:
      codes:
        description: Entities with a code that exactly matches a code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLUE
          - GREEN
      employeeSkillIds:
        description: Employee skills with a matching ID are selected.
        type: array
        items:
          type: string
        example:
          - '994684565'
          - '994687481'
      partialCodes:
        description: Entities with a code that starts with any partial code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLU
          - G
  EmployeeStatusUpdater:
    description: Describes a request to update the employment and/or active status of one or more employees.
    required:
      - employeeIds
    type: object
    properties:
      active:
        description: Optional active value that sets all supplied employees to active if true, and inactive if false.
        type: boolean
        example: false
      employeeIds:
        description: "List of Alvaria-generated unique identifiers for the employees. The definition for these employees can be retrieved with the via/v2/organizations/{orgId}/workforce/search/employees endpoint.\r\nOne or more employees whose status will be updated. Updates for all employees must succeed or no employee status will be changed."
        type: array
        items:
          type: string
        example:
          - '-9994561656'
          - '-9994561254'
      employmentStatus:
        description: "Optional employee status value that sets all supplied employees to employed or terminated. If set to employed, termination date does not\r\napply and must not be specified. If set to terminated then termination date is required and must be specified."
        enum:
          - Terminated
          - Employed
        type: string
        example: Employed
      terminationDate:
        format: date
        description: Optional termination date to be set for all supplied employees. If specified, employment status must also be set to terminated.
        type: string
        example: '2000-12-30'
  EmployeeSuperGroup:
    description: "Represents an employee super group.\r\nEmployee super group is a group of employee groups."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceEmployeeSuperGroup
      id:
        description: Alvaria-generated unique identifier for the employee super group.
        type: string
        example: '975444541'
      code:
        description: Unique identifier for this employee super group, which can contain up to 30 characters.
        maxLength: 30
        minLength: 1
        type: string
        example: NA
      description:
        description: This is a deprecated property.
        maxLength: 30
        minLength: 1
        type: string
        example: North America Employees
      employeeGroupIds:
        description: List of Alvaria-generated unique identifiers for the employee groups associated with this employee super group. The definition for these employee groups can be retrieved with the via/v2/organizations/{orgId}/workforce/search/employeeGroups endpoint.
        type: array
        items:
          type: string
        example:
          - '-9994561656'
          - '-9994561254'
      employeeSuperGroupDescription:
        description: Description for this employee super group.
        maxLength: 30
        minLength: 1
        type: string
        example: North America Employees
      lastModifiedTime:
        format: date-time
        description: Timestamp that indicates when this entity was last modified.
        type: string
        example: '2010-12-31T13:18:35Z'
      lastModifiedBy:
        description: Alvaria-generated unique identifier for the user who last modified this entity.
        type: string
        example: '-9994561656.0'
  EmployeeSuperGroupCollection:
    description: "Result of a query for employee super groups. The result is a list of employee super groups\r\nthat were selected by the selector, but pagination and selector limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching employee super groups. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceEmployeeSuperGroupCollection
      employeeSuperGroups:
        description: List of employee super groups.
        type: array
        items:
          $ref: '#/definitions/EmployeeSuperGroup'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  EmployeeSuperGroupSelector:
    description: "Selects a set of employee super groups by filtering on the code and ID.\r\n* If no selection criteria is supplied then all employee super groups are selected.\r\n* The selection criteria parameters are combined together using the OR operator."
    type: object
    properties:
      codes:
        description: Entities with a code that exactly matches a code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLUE
          - GREEN
      employeeSuperGroupIds:
        description: Employee super groups with a matching ID are selected.
        type: array
        items:
          type: string
        example:
          - '994684565'
          - '994687481'
      includeAssociatedEmployeeGroups:
        description: "Determines whether associated employee groups are included.\r\nDefault value is true."
        type: boolean
        example: true
      partialCodes:
        description: Entities with a code that starts with any partial code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLU
          - G
  Error:
    description: Details of an error response.
    type: object
    properties:
      message:
        description: Message associated with the error.
        type: string
        example: Invalid JSON
      reason:
        description: Reason for the error.
        type: string
        example: Invalid JSON
      scope:
        description: Scope of the error.
        type: string
        example: 'null'
  ErrorResponse:
    description: Information about an error that occurred while processing a request.
    type: object
    properties:
      code:
        description: Unique error code for the error condition.
        type: string
        example: EInvalidInput
      errors:
        description: Detailed information about each error that occurred.
        type: array
        items:
          $ref: '#/definitions/Error'
      message:
        description: Message that describes the error condition.
        type: string
        example: Invalid JSON
  ExtraFieldComparison:
    description: "Extra field comparison can be used to filter data associated with extra fields.\r\nThe comparison uses the following three properties together:\r\n* ExtraFieldId - the specific extra field\r\n* Value - the value to compare\r\n* Operator - the definition of how to compare the specific extra field value\r\nNOTE: If ALL three are not supplied the resulting behavior is undefined.\r\n\r\nThe following table shows each of the extra field data types and the comparison operators  \r\nsupported for that type - if it is not supported, the resulting behavior is undefined.\r\n            \r\n    For operators \"EqualTo\" and \"NotEqualTo\":\r\n        DataType    Valid Values\r\n        --------    ------------\r\n        String      Any string\r\n        Boolean     \"true\", \"false\", 1, or 0\r\n\r\n    For all operators (\"LessThan\", \"LessThanEqualTo\", \"EqualTo\", \"NotEqualTo\", \r\n    \"GreaterThanEqualTo\", \"GreaterThan\"):\r\n        DataType    Valid Values\r\n        --------    ------------\r\n        Integer     Any number with no decimals\r\n        Float       Any number, with or without decimals\r\n        Date        A string in the format yyyy-mm-dd\r\n        Time        A string in the format hh:mm[:ss]\r\n        DateTime    A string in the format yyyy-mm-dd[Thh:mm[:ss][Z|(+/-)hh:mm]]"
    type: object
    properties:
      extraFieldId:
        format: double
        description: Alvaria-generated unique identifier for the employee extra field used by this filter criteria. If supplied, only employees with this employee extra field value matching these criteria are selected. The definition for an employee extra field can be retrieved with the via/v2/organizations/{orgId}/workforce/employeeExtraFields endpoint.
        type: number
        example: 2387932847
      operator:
        description: How to compare the given value against the extra field value.
        enum:
          - LessThan
          - LessThanEqualTo
          - EqualTo
          - NotEqualTo
          - GreaterThanEqualTo
          - GreaterThan
        type: string
        example: EqualTo
      value:
        description: Value to compare against the extra field value.
        type: string
        example: EMP001
  ExtraFieldValue:
    description: Value of an employee extra field.
    required:
      - extraFieldId
    type: object
    properties:
      extraFieldId:
        format: double
        description: Alvaria-generated unique identifier for the employee extra field associated with this employee. The definition for this employee extra field can be retrieved with the via/v2/organizations/{orgId}/workforce/employeeExtraFields endpoint.
        default: 0
        type: number
        example: 975444541
      value:
        description: Extra field value, expressed as a string.
        type: string
        example: ExtraData
  ForecastGroup:
    description: Represents a forecast gruop.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceForecastGroup
      id:
        description: Alvaria-generated unique identifier for the forecast group.
        type: string
        example: '975444541'
      code:
        description: Unique identifier for this forecast group, which can contain up to 30 characters.
        maxLength: 30
        minLength: 1
        type: string
        example: CSV
      forecastGroupDescription:
        description: Description for this forecast group.
        maxLength: 30
        minLength: 1
        type: string
        example: CSV Forecast Group
      forecastGroupParentId:
        description: Alvaria-generated unique identifier for the forecast group associated with this forecast group. The definition for this forecast group can be retrieved with the via/v2/organizations/{orgId}/workforce/search/forecastGroups endpoint.
        type: string
        example: '-9994561656.0'
      forecastGroupTreeId:
        description: Alvaria-generated unique identifier for the forecast group associated with this forecast group. The definition for this forecast group can be retrieved with the via/v2/organizations/{orgId}/workforce/search/forecastGroups endpoint.
        type: string
        example: '-9994561656.0'
      timeZoneId:
        description: Alvaria-generated unique identifier for the time zone associated with this forecast group. The definition for this time zone can be retrieved with the via/v2/organizations/{orgId}/workforce/timeZones endpoint.
        type: string
        example: '-9994561656.0'
      lastModifiedTime:
        format: date-time
        description: Timestamp that indicates when this entity was last modified.
        type: string
        example: '2010-12-31T13:13:51Z'
      lastModifiedBy:
        description: Alvaria-generated unique identifier for the user who last modified this entity.
        type: string
        example: '-9994561656.0'
  ForecastGroupCollection:
    description: "Result of a query for forecast groups. The result is a list of forecast groups\r\nthat were selected by the selector, but pagination and selector limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching forecast groups. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceForecastGroupCollection
      forecastGroups:
        description: List of forecast groups.
        type: array
        items:
          $ref: '#/definitions/ForecastGroup'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  ForecastGroupSelector:
    description: "Selects a set of forecast groups by filtering on the code and ID.\r\n* If no selection criteria is supplied then all forecast groups are selected.\r\n* The selection criteria parameters are combined together by using the OR operator."
    type: object
    properties:
      codes:
        description: Entities with a code that exactly matches a code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLUE
          - GREEN
      forecastGroupIds:
        description: Forecast groups with a matching ID are selected.
        type: array
        items:
          type: string
        example:
          - '994684565'
          - '994687481'
      partialCodes:
        description: Entities with a code that starts with any partial code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLU
          - G
  Image:
    description: Bitmap image that includes a BMP and a PNG representation.
    type: object
    properties:
      bmp:
        format: byte
        description: Image as a BMP.
        type: string
        example: Qk3WAAAAAAAAADYAAAAoAAAACgAAAAUAAAABABgAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAAu7u8sLCxcXFzurq7tLS1w8PDu7u85eXm//////////96enxSUlVQUFJsbG5cXF50dHZvb3Hs7e3///////9V//n5+fv7+/v7+/v7+/n5+fv7+9LS03znxpzt1Kzw2/v/////////////////////////+f37bubBgOnJZ+W+///////////////////////////7//xM4LN46MZJ4LKz/w==
      png:
        format: byte
        description: Image as a PNG image, which can be displayed in a browser.
        type: string
        example: iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xNkRpr/UAAACISURBVBhXY8AF6v8zME2+wrgViLsmX2bcDhXGBKv+MzADFUyefIWpbsplxikMxsbGrEBxZihmsQdiEFtFXt4QqLBp8hWGtEmXGcIZFOXkpivKyx8FYSV5+cVKcnK7gPQcoPhyFRUJUaAmCAAKeAMlIoAK5irKyvoC+SFAtjOIrSItLQNRxcAAAB7MI2nTJYkAAAAAAElFTkSuQmCC
  IncludeAcdLogins:
    description: Determines which ACD logins to include with the requested employee records.
    type: object
    properties:
      acdInstanceIds:
        description: "List of Alvaria-generated unique identifiers for the ACD instances. The definitions for these ACD instances can be retrieved with the via/v2/organizations/{orgId}/workforce/search/acdInstances endpoint. \r\nACD logins for ACD instances referenced in this list will be included with the requested employee records.\r\nIf this list is null or empty, all ACD logins will be returned."
        type: array
        items:
          type: string
        example:
          - '-9994561656'
          - '-9994561254'
  IncludeAgentProductivityAcdGroup:
    description: "Determines which agent productivity ACD group to group on for agent productivities request.\r\n* ACD group identifiers is required."
    required:
      - acdGroupIdentifiers
    type: object
    properties:
      acdGroupIdentifiers:
        description: List of ACD instance group identifiers associated with this agent productivity ACD Group ID.
        type: array
        items:
          type: string
        example:
          - '289'
          - '479'
      acdInstanceId:
        description: Alvaria-generated unique identifier for the ACD instance. The definition for this ACD instance can be retrieved with the via/v2/organizations/{orgId}/workforce/search/acdInstances endpoint. ACD instance associated with this agent productivity ACD Group ID.
        type: string
        example: '-9994561656'
  IncludeConsolidationColumns:
    description: Consolidation with forecast groups, staff groups, and columns to include.
    type: object
    properties:
      columnIdentifiers:
        description: 'List of column identifiers to include. Please refer to the Workforce SDK Developer Guide: Intra-Day Performance Column Descriptions section. This column identifier correspondences with the Internal Field Name in the guide.'
        type: array
        items:
          type: string
        example:
          - RVSFORVOL
          - ORGFORVOL
      forecastGroupIds:
        description: "List of Alvaria-generated unique identifiers for the forecast groups. The definitions for these forecast groups can be retrieved with the via/v2/organizations/{orgId}/workforce/search/forecastGroups endpoint. \r\nList of forecast groups to include."
        type: array
        items:
          type: string
        example:
          - '-9994561656'
          - '-9994561254'
      staffGroupIds:
        description: "List of Alvaria-generated unique identifiers for the staff groups. The definitions for these staff groups can be retrieved with the via/v2/organizations/{orgId}/workforce/search/staffGroups endpoint. \r\nList of staff groups to include"
        type: array
        items:
          type: string
        example:
          - '-9994561656'
          - '-9994561254'
  IncludeEmployeeGroups:
    description: "Determines which employee group assignments to include with an employee record.\r\nAssignments selected by includeEmployeeGroups.employeeGroup OR by employeeGroupClass are included, but if neither parameters are specified, then all employee group assignments are included.\r\nThe assignments selected includeEmployeeGroups.employeeGroup OR by employeeGroupClass are reduced to the assignments that intersect a date range within dateRanges.\r\ndateRanges restricts the group associations by startDate and stopDate (inclusive). Any group associations with a range defined by startDate and stopDate that overlaps any supplied ranges will be included in the response."
    type: object
    properties:
      dateRanges:
        description: Date range in which an employee assignment must intersect to be included in the list.
        type: array
        items:
          $ref: '#/definitions/DateRange'
      employeeGroupClassIds:
        description: "List of Alvaria-generated unique identifiers for the employee group classes. The definitions for these employee group classes can be retrieved with the via/v2/organizations/{orgId}/workforce/employeeGroupClasses endpoint. \r\nEmployee group assignments associated with an employee group with a employee group class with a matching ID in this list is included with employee records."
        type: array
        items:
          type: string
        example:
          - '-9994561656'
          - '-9994561254'
      employeeGroupIds:
        description: "List of Alvaria-generated unique identifiers for the employee groups. The definitions for these employee groups can be retrieved with the via/v2/organizations/{orgId}/workforce/search/employeeGroups endpoint. \r\nEmployee group assignments associated with an employee group with a matching ID in this list is included with employee records."
        type: array
        items:
          type: string
        example:
          - '-9994561656'
          - '-9994561254'
  IncludeExtraFields:
    description: Determines which extra field values to include with a requested employee record.
    type: object
    properties:
      extraFieldIds:
        description: "List of Alvaria-generated unique identifiers for the employee extra fields. The definitions for these employee extra fields can be retrieved with the via/v2/organizations/{orgId}/workforce/employeeExtraFields endpoint. \r\nExtra fields referenced in this list will be included with the requested employee records.\r\nIf this list is null or empty, all extra field values will be returned."
        type: array
        items:
          type: string
        example:
          - '-9994561656'
          - '-9994561254'
  IncludeForecastGroupColumns:
    description: Forecast group with columns to include.
    required:
      - forecastGroupId
    type: object
    properties:
      columnIdentifiers:
        description: 'List of column identifiers to include. Please refer to the Workforce SDK Developer Guide: Intra-Day Performance Column Descriptions section. This column identifier correspondences with the Internal Field Name in the guide.'
        type: array
        items:
          type: string
        example:
          - RVSFORVOL
          - ORGFORVOL
      forecastGroupId:
        description: Alvaria-generated unique identifier for the forecast group. The definition for this forecast group can be retrieved with the via/v2/organizations/{orgId}/workforce/search/forecastGroups endpoint. Forecast group to include.
        type: string
        example: '-979999997932'
  IncludeSkills:
    description: "Determines which employee skill associations to include with an employee record.\r\nSkill associations selected by includeSkills.skill are included, but if includeSkills.skill is not specified, then all employee skill associations are included.\r\ndateRanges restricts the skill associations by startDate and stopDate (inclusive). Any skill associations with a range defined by startDate and stopDate that overlaps any supplied ranges will be included in the response."
    type: object
    properties:
      dateRanges:
        description: Date range in which an employee skill association must intersect to be included in the list.
        type: array
        items:
          $ref: '#/definitions/DateRange'
      skillIds:
        description: "List of Alvaria-generated unique identifiers for the employee skills. The definitions for these employee skills can be retrieved with the via/v2/organizations/{orgId}/workforce/search/employeeSkills endpoint. \r\nAny employee skill association with a skill in this list is included with employee records."
        type: array
        items:
          type: string
        example:
          - '-9994561656'
          - '-9994561254'
  IncludeStaffGroupColumns:
    description: Staff group with columns to include.
    required:
      - staffGroupId
    type: object
    properties:
      columnIdentifiers:
        description: 'List of column identifiers to include. Please refer to the Workforce SDK Developer Guide: Intra-Day Performance Column Descriptions section. This column identifier correspondences with the Internal Field Name in the guide.'
        type: array
        items:
          type: string
        example:
          - RVSFORVOL
          - ORGFORVOL
      staffGroupId:
        description: Alvaria-generated unique identifier for the staff group. The definition for this staff group can be retrieved with the via/v2/organizations/{orgId}/workforce/search/staffGroups endpoint. Staff group to include.
        type: string
        example: '-102147482579'
  IntegerRange:
    description: Range of integer values.
    type: object
    properties:
      maximum:
        format: int32
        description: Maximum integer in the range.
        type: integer
        example: 1
      minimum:
        format: int32
        description: Minimum integer in the range. Must be less than or equal to maximum.
        type: integer
        example: 1
  IntraDayPerformance:
    description: Represents an intra-day performance.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceIntraDayPerformance
      id:
        description: Alvaria-generated unique identifier for the intra-day performance.
        type: string
        example: '975444541'
      consolidation:
        $ref: '#/definitions/IntraDayPerformanceConsolidationColumn'
      forecastGroups:
        description: List of intra-day performance forecast groups associated with this intra-day performance.
        type: array
        items:
          $ref: '#/definitions/IntraDayPerformanceForecastGroup'
      forecastUnit:
        description: Forecast unit for this intra-day performance.
        enum:
          - FifteenMinute
          - ThirtyMinute
        type: string
        example: ThirtyMinute
      intraDayPerformanceDescription:
        description: Description for this intra-day performance.
        maxLength: 30
        minLength: 1
        type: string
        example: CSV 1/5/2003
      routingSet:
        $ref: '#/definitions/IntraDayPerformanceRoutingSet'
      staffGroups:
        description: List of intra-day performance staff groups associated with this intra-day performance.
        type: array
        items:
          $ref: '#/definitions/IntraDayPerformanceStaffGroup'
      startDateTime:
        format: date-time
        description: Start datetime for this intra-day performance.
        type: string
        example: '2010-12-31T13:13:51Z'
      stopDateTime:
        format: date-time
        description: Stop datetime for this intra-day performance.
        type: string
        example: '2010-12-31T13:13:51Z'
      timeZoneId:
        description: Alvaria-generated unique identifier for the time zone associated with this intra-day performance. The definition for this time zone can be retrieved with the via/v2/organizations/{orgId}/workforce/timeZones endpoint.
        type: string
        example: '-9994561656.0'
  IntraDayPerformanceColumn:
    description: Represents an intra-day performance column.
    type: object
    properties:
      dataType:
        description: Data type for this intra-day performance column.
        enum:
          - Float
          - String
          - Boolean
          - Memo
        type: string
        example: Float
      identifier:
        description: Identifier for this intra-day performance column.
        type: string
        example: RVSFORVOL
      maximum:
        format: double
        description: Maximum for this intra-day performance column.
        type: number
        example: 999999999
      maximumDecimals:
        format: int32
        description: Maximum decimals for this intra-day performance column.
        type: integer
        example: 0
      minimum:
        format: double
        description: Minimum for this intra-day performance column.
        type: number
        example: 0
      readOnly:
        description: Indicates whether this intra-day performance column is read only.
        type: boolean
        example: false
      summaryValue:
        format: double
        description: Summary for this intra-day performance column.
        type: number
        example: 0
      values:
        description: List of column values associated with this intra-day performance column.
        type: array
        items:
          $ref: '#/definitions/IntraDayPerformanceColumnValue'
  IntraDayPerformanceColumnValue:
    description: Represents an intra-day performance column value.
    type: object
    properties:
      color:
        $ref: '#/definitions/Color'
      fontColor:
        $ref: '#/definitions/Color'
      index:
        format: int32
        description: Index for this intra-day performance column value.
        type: integer
        example: 0
      threshold:
        description: Threshold for this intra-day performance column value.
        type: string
        example: High
      value:
        description: Value for this intra-day performance column value.
        type: string
        example: '1'
  IntraDayPerformanceConsolidationColumn:
    description: Represents an intra-day performance consolidation column.
    type: object
    properties:
      columns:
        description: List of columns associated with this intra-day performance consolidation column.
        type: array
        items:
          $ref: '#/definitions/IntraDayPerformanceColumn'
      openHours:
        $ref: '#/definitions/IntraDayPerformanceOpenHours'
      timeZoneId:
        description: Alvaria-generated unique identifier for the time zone associated with this intra-day performance consolidation column. The definition for this time zone can be retrieved with the via/v2/organizations/{orgId}/workforce/timeZones endpoint.
        type: string
        example: '-9994561656.0'
  IntraDayPerformanceForecastGroup:
    description: Represents an intra-day performance forecast group.
    type: object
    properties:
      allocation:
        description: Indicates whether this intra-day performance forecast group is allocation.
        type: boolean
        example: false
      columns:
        description: List of columns associated with this intra-day performance forecast group.
        type: array
        items:
          $ref: '#/definitions/IntraDayPerformanceColumn'
      forecastGroupId:
        description: Alvaria-generated unique identifier for the forecast group associated with this intra-day performance forecast group. The definition for this forecast group can be retrieved with the via/v2/organizations/{orgId}/workforce/search/forecastGroups endpoint.
        type: string
        example: '975444541'
      groupProperties:
        $ref: '#/definitions/IntraDayPerformanceGroupProperties'
      hasChildren:
        description: Indicates whether this intra-day performance forecast group has children.
        type: boolean
        example: false
      multiSkill:
        description: Indicates whether this intra-day performance forecast group is multi-skilled.
        type: boolean
        example: false
      openHours:
        $ref: '#/definitions/IntraDayPerformanceOpenHours'
  IntraDayPerformanceForecastGroupTree:
    description: Represents intra-day performance forecast group tree.
    type: object
    properties:
      forecastGroupId:
        description: Alvaria-generated unique identifier for the forecast group associated with this intra-day performance forecast group tree. The definition for this forecast group can be retrieved with the via/v2/organizations/{orgId}/workforce/search/forecastGroups endpoint.
        type: string
        example: '975444541'
      forecastGroups:
        description: List of forecast group trees associated with this intra-day performance forecast group tree.
        type: array
        items:
          $ref: '#/definitions/IntraDayPerformanceForecastGroupTree'
      multiSkill:
        description: Indicates whether this intra-day performance forecast group tree is multi-skilled.
        type: boolean
        example: false
      staffGroups:
        description: List of staff groups trees associated with this intra-day performance forecast group tree.
        type: array
        items:
          $ref: '#/definitions/IntraDayPerformanceStaffGroupTree'
      startDateTime:
        format: date-time
        description: Start datetime for this intra-day performance forecast group tree.
        type: string
        example: '2010-12-31T13:13:51Z'
      stopDateTime:
        format: date-time
        description: Stop datetime for this intra-day performance forecast group tree.
        type: string
        example: '2010-12-31T13:13:51Z'
  IntraDayPerformanceGroupProperties:
    description: Represents intra-day performance group properties.
    type: object
    properties:
      assumptions:
        description: List of assumptions associated with intra-day performance group properties.
        type: array
        items:
          $ref: '#/definitions/IntraDayPerformanceGroupPropertiesAssumptions'
      histories:
        description: List of property histories associated with intra-day performance group properties.
        type: array
        items:
          $ref: '#/definitions/IntraDayPerformanceGroupPropertiesHistory'
  IntraDayPerformanceGroupPropertiesAssumptions:
    description: Represent intra-day performance group properties assumptions.
    type: object
    properties:
      allocationSet:
        description: Allocation set for intra-day performance group properties assumptions.
        type: string
        example: CSV
      averageHandeTimeOverride:
        description: Average handle time override for intra-day performance group properties assumptions.
        type: string
        example: CSV
      scenario:
        description: Scenario for intra-day performance group properties assumptions.
        type: string
        example: CSV
      staffBasis:
        description: Staff basis for intra-day performance group properties assumptions.
        type: string
        example: CSV
      volumeOverride:
        description: Volume override for intra-day performance group properties assumptions.
        type: string
        example: CSV
  IntraDayPerformanceGroupPropertiesHistory:
    description: Represents an intra-day performance group properties history.
    type: object
    properties:
      timeStamp:
        description: Time stamp for intra-day performance group properties history.
        type: string
        example: '2008-09-15T15:53:00Z'
      userName:
        description: User name for intra-day performance group properties history.
        type: string
        example: User
      action:
        description: Action for intra-day performance group properties history.
        type: string
        example: Action
  IntraDayPerformanceOpenHours:
    description: Represents an intra-day performance open hours.
    type: object
    properties:
      periods:
        description: List of periods associated with this intra-day performance open hours.
        type: array
        items:
          $ref: '#/definitions/IntraDayPerformanceOpenHoursPeriod'
  IntraDayPerformanceOpenHoursPeriod:
    description: Represents an intra-day performance open hours period.
    type: object
    properties:
      index:
        format: int32
        description: Index for this intra-day performance open hours period.
        type: integer
        example: 0
      open:
        description: Indicates whether this intra-day performance open hours period is open.
        type: boolean
        example: false
      periodDateTime:
        format: date-time
        description: Period datetime for this intra-day performance open hours period.
        type: string
        example: '2010-12-31T13:13:51Z'
  IntraDayPerformanceResponse:
    description: "Result of a query for intra-day performance. The result is an intra-day performance\r\nthat was selected by the selector."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceIntraDayPerformanceResponse
      intraDayPerformance:
        $ref: '#/definitions/IntraDayPerformance'
  IntraDayPerformanceRouting:
    description: Represents an intra-day performance routing.
    type: object
    properties:
      averageHandleTimeFactor:
        format: double
        description: Average handle time factor for this intra-day performance routing.
        type: number
        example: 1.5
      forecastGroupId:
        description: Alvaria-generated unique identifier for the forecast group associated with this intra-day performance routing. The definition for this forecast group can be retrieved with the via/v2/organizations/{orgId}/workforce/search/forecastGroups endpoint.
        type: string
        example: '-9994561656.0'
      staffGroupId:
        description: Alvaria-generated unique identifier for the forecast group associated with this intra-day performance routing. The definition for this forecast group can be retrieved with the via/v2/organizations/{orgId}/workforce/search/staffGroups endpoint.
        type: string
        example: '-9994561656.0'
  IntraDayPerformanceRoutingSet:
    description: Represents an intra-day performance routing set.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceIntraDayPerformanceRoutingSet
      id:
        description: Alvaria-generated unique identifier for the intra-day performance routing set.
        type: string
        example: '975444541'
      routings:
        description: List of routings associated with this intra-day performance routing set.
        type: array
        items:
          $ref: '#/definitions/IntraDayPerformanceRouting'
  IntraDayPerformanceSelector:
    description: "Specifies intra-day performance details to include such as forecast groups, staff groups, consolidation, and columns.\r\n* If no selection criteria is supplied then those details with not be included.\r\n* If the multi-skill configuration is missing, then the IDP will run the multi-skill simulator as required to satisfy the request. \r\n* If the multi-skill configuration is present, then the multi-skill simulator will run as specified by the basis and adjustments."
    type: object
    properties:
      includeConsolidationColumns:
        $ref: '#/definitions/IncludeConsolidationColumns'
      includeForecastGroupColumns:
        description: List of forecast groups with columns to include.
        type: array
        items:
          $ref: '#/definitions/IncludeForecastGroupColumns'
      includeOpenHours:
        description: "Determines whether the open hours are included.\r\nDefault is true."
        type: boolean
        example: false
      includeProperties:
        description: "Determines whether the properties are included.\r\nDefault is true."
        type: boolean
        example: false
      includeStaffGroupColumns:
        description: List of staff groups with columns to include.
        type: array
        items:
          $ref: '#/definitions/IncludeStaffGroupColumns'
      multiSkillConfiguration:
        $ref: '#/definitions/MultiSkillConfiguration'
  IntraDayPerformanceStaffGroup:
    description: Represents an intra-day performance staff group.
    type: object
    properties:
      allocation:
        description: Indicates whether this intra-day performance staff group is allocation.
        type: boolean
        example: false
      columns:
        description: List of columns associated with this intra-day performance staff group.
        type: array
        items:
          $ref: '#/definitions/IntraDayPerformanceColumn'
      groupProperties:
        $ref: '#/definitions/IntraDayPerformanceGroupProperties'
      hasChildren:
        description: Indicates whether this intra-day performance staff group has children.
        type: boolean
        example: false
      multiSkill:
        description: Indicates whether this intra-day performance staff group is multi-skilled.
        type: boolean
        example: false
      openHours:
        $ref: '#/definitions/IntraDayPerformanceOpenHours'
      staffGroupId:
        description: Alvaria-generated unique identifier for the staff group associated with this intra-day performance staff group. The definition for this staff group can be retrieved with the via/v2/organizations/{orgId}/workforce/search/staffGroups endpoint.
        type: string
        example: '975444541'
  IntraDayPerformanceStaffGroupTree:
    description: Represents an intra-day performance staff group tree.
    type: object
    properties:
      multiSkill:
        description: Indicates whether this intra-day performance staff group tree is multi-skilled.
        type: boolean
        example: false
      staffGroupId:
        description: Alvaria-generated unique identifier for the staff group associated with this intra-day performance staff group tree. The definition for this staff group can be retrieved with the via/v2/organizations/{orgId}/workforce/search/staffGroups endpoint.
        type: string
        example: '975444541'
      staffGroups:
        description: List of staff groups trees for this intra-day performance staff group tree.
        type: array
        items:
          $ref: '#/definitions/IntraDayPerformanceStaffGroupTree'
      startDateTime:
        format: date-time
        description: Start datetime for this intra-day performance staff group tree.
        type: string
        example: '2010-12-31T13:13:51Z'
      stopDateTime:
        format: date-time
        description: Stop datetime for this intra-day performance staff group tree.
        type: string
        example: '2010-12-31T13:13:51Z'
  IntraDayPerformanceSummary:
    description: Represents an intra-day performance summary.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceIntraDayPerformanceSummary
      id:
        description: Alvaria-generated unique identifier for the intra-day performance summary.
        type: string
        example: '975444541'
      createdBy:
        description: User who created this intra-day performance summary.
        type: string
        example: TESTUSER
      createdOnDateTime:
        format: date-time
        description: Timestamp that indicates when this intra-day performance summary was created.
        type: string
        example: '2010-12-31T13:13:51Z'
      forecastGroups:
        description: List of forecast groups associated with this intra-day performance summary.
        type: array
        items:
          $ref: '#/definitions/IntraDayPerformanceForecastGroupTree'
      routingSetId:
        description: Alvaria-generated unique identifier for the routing set associated with this intra-day performance summary. The definition for this routing set can be retrieved with the via/v2/organizations/{orgId}/workforce/search/routingSets endpoint.
        type: string
        example: '-9994561656.0'
      startDateTime:
        format: date-time
        description: Start datetime for this intra-day performance summary.
        type: string
        example: '2010-12-31T13:13:51Z'
      stopDateTime:
        format: date-time
        description: Stop datetime for this intra-day performance summary.
        type: string
        example: '2010-12-31T13:13:51Z'
      timeZoneId:
        description: Alvaria-generated unique identifier for the time zone associated with this intra-day performance summary. The definition for this time zone can be retrieved with the via/v2/organizations/{orgId}/workforce/timeZones endpoint.
        type: string
        example: '-9994561656.0'
  IntraDayPerformanceSummaryCollection:
    description: "Result of a query for intra-day performance summaries. The result is a list of intra-day performance summaries\r\nthat were selected by the selector, but pagination and selector limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching intra-day performance summaries. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceIntraDayPerformanceSummaryCollection
      intraDayPerformanceSummaries:
        description: List of intra-day performance summaries.
        type: array
        items:
          $ref: '#/definitions/IntraDayPerformanceSummary'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  IntraDayPerformanceSummarySelector:
    description: "Selects a set of intra-day performance summaries for routing sets, forecast groups, and/or staff groups within the requested date time range.\r\n* If no selection criteria is supplied then all intra-day performance summaries are selected.\r\n* The multi-valued selection criterias are combined using the OR operator.\r\n* For example, if there are multiple dateTimeRanges, the intra-day performance summary data returned must have a datetime within dateTimeRange #1 or within dateTimeRange #2 or within dateTimeRange #3, and so on. \r\n* The selection criteria parameters are combined together by using the AND operator.\r\n* For example, if an employeeSelector and dateTimeRanges are both specified, the intra-day performance summary data returned must match the employeeSelector criteria and have a datetime within the dateTimeRanges.\r\n* Typically, the request should include either routing sets only or forecast groups and staff groups. \r\n* If both a routing set and a forecast group are requested, then only intra-day performance forecasts that cover both the routing set and forecast group will be returned.\r\n* dateTimeRanges filters intra-day performance summaries by startDateTime and stopDateTime (inclusive).  Any intra-day performance summaries where any part of the range defined by startDateTime and stopDateTime overlaps any of the supplied ranges will be included in the response."
    type: object
    properties:
      dateTimeRanges:
        description: Intra-day performance summaries with a datetime within any specified range will be selected.
        type: array
        items:
          $ref: '#/definitions/DateTimeRange'
      forecastGroupIds:
        description: List of Alvaria-generated unique identifiers for the forecast groups. The definition for these forecast groups can be retrieved with the via/v2/organizations/{orgId}/workforce/search/forecastGroups endpoint. Intra-day performance summaries associated with forecast groups with a matching ID are selected
        type: array
        items:
          type: string
        example:
          - '994684565'
          - '994687481'
      routingSetIds:
        description: List of Alvaria-generated unique identifiers for the routing sets. The definition for these routing sets can be retrieved with the via/v2/organizations/{orgId}/workforce/search/routingSets endpoint. Intra-day performance summaries associated with routing sets with a matching ID are selected
        type: array
        items:
          type: string
        example:
          - '994684565'
          - '994687481'
      staffGroupIds:
        description: List of Alvaria-generated unique identifiers for the staff groups. The definition for these staff groups can be retrieved with the via/v2/organizations/{orgId}/workforce/search/staffGroups endpoint. Intra-day performance summaries associated with staff groups with a matching ID are selected
        type: array
        items:
          type: string
        example:
          - '994684565'
          - '994687481'
  MultiSkillConfiguration:
    description: Determines how the intra-day performance will run the multi-skill simulator as specified by the basis and adjustments if present or as required to satisfy the request if not present.
    type: object
    properties:
      adjustments:
        description: Adjustments for this multi-skill configuration.
        type: boolean
        example: false
      basis:
        description: Basis for this multi-skill configuration.
        enum:
          - Original
          - Revised
          - Actual
        type: string
        example: Original
      startDateTime:
        format: date-time
        description: Start datetime for this multi-skill configuration.
        type: string
        example: '2010-12-31T13:18:35Z'
      stopDateTime:
        format: date-time
        description: Stop datetime for this multi-skill configuration.
        type: string
        example: '2010-12-31T13:18:35Z'
  Perspective:
    description: "Represents a perspective.\r\nPerspective is an area of interest, or point of view, for describing the effects or implications of various segments. \r\nFor example, taking a 15-minute break has a negative effect from the perspective of staffing levels, but a neutral effect from the perspective of whether the employee is being paid."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforcePerspective
      id:
        description: Alvaria-generated unique identifier for the perspective.
        type: string
        example: '975444541'
      code:
        description: Unique identifier for this perspective, which can contain up to 30 characters.
        maxLength: 30
        minLength: 1
        type: string
        example: STAFF
      description:
        description: This is a deprecated property.
        maxLength: 30
        minLength: 1
        type: string
        example: Staffing Perspective
      perspectiveDescription:
        description: Description for this perspective.
        maxLength: 30
        minLength: 1
        type: string
        example: Staffing Perspective
      states:
        description: List of states defined for this perspective.
        type: array
        items:
          $ref: '#/definitions/State'
      lastModifiedTime:
        format: date-time
        description: Timestamp that indicates when this entity was last modified.
        type: string
        example: '2010-12-31T13:18:35Z'
      lastModifiedBy:
        description: Alvaria-generated unique identifier for the user who last modified this entity.
        type: string
        example: '-9994561656.0'
  PerspectiveCollection:
    description: "Result of a query for perspectives. The result contains a list of perspectives\r\nthat were selected by the selector, but pagination and selector limits, \r\nas well as system limits, may cause the list to be only a subset of the\r\nmatching perspectives. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforcePerspectiveCollection
      perspectives:
        description: List of perspectives.
        type: array
        items:
          $ref: '#/definitions/Perspective'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  PerspectivePurpose:
    description: Represents a perspective purpose.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforcePerspectivePurpose
      perspectiveId:
        description: Alvaria-generated unique identifier for the perspective associated with this perspective purpose. The definition for this perspective can be retrieved with the via/v2/organizations/{orgId}/workforce/search/perspectives endpoint.
        type: string
        example: '-9994561656.0'
      perspectiveName:
        description: Name for this perspective purpose, which can contain up to 30 characters.
        maxLength: 30
        minLength: 1
        type: string
        example: ACD
  PerspectivePurposeCollection:
    description: "Result of a query for perspective purposes. The result is a list of perspective purposes\r\nthat were selected, but pagination limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching perspective purposes. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforcePerspectivePurposeCollection
      perspectivePurposes:
        description: List of perspective purposes.
        type: array
        items:
          $ref: '#/definitions/PerspectivePurpose'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  PerspectiveSelector:
    description: "Selects a set of perspectives by filtering on the code and ID.\r\n* If no selection criteria is supplied then all perspectives are selected.\r\n* The selection criteria parameters are combined together by using the OR operator."
    type: object
    properties:
      codes:
        description: Entities with a code that exactly matches a code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLUE
          - GREEN
      partialCodes:
        description: Entities with a code that starts with any partial code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLU
          - G
      perspectiveIds:
        description: Perspectives with a matching ID are selected.
        type: array
        items:
          type: string
        example:
          - '994684565'
          - '994687481'
  RoutingSet:
    description: Represents a routing set.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceRoutingSet
      id:
        description: Alvaria-generated unique identifier for the routing set.
        type: string
        example: '975444541'
      code:
        description: Unique identifier for this routing set, which can contain up to 30 characters.
        maxLength: 30
        minLength: 1
        type: string
        example: CSV
      multiSkill:
        description: Indicates whether this routing set is multi-skilled.
        type: boolean
        example: false
      routings:
        description: List of routings associated with this routing set.
        type: array
        items:
          $ref: '#/definitions/RoutingSetRouting'
      routingSetDescription:
        description: Description for this routing set.
        maxLength: 30
        minLength: 1
        type: string
        example: CSV Routing Set
      serviceLevelGoalSeconds:
        format: double
        description: Service level goal seconds for this routing set.
        type: number
        example: 1.5
      staffGroupProperties:
        description: List of staff group properties associated with this routing set.
        type: array
        items:
          $ref: '#/definitions/RoutingSetStaffGroupProperty'
      lastModifiedTime:
        format: date-time
        description: Timestamp that indicates when this entity was last modified.
        type: string
        example: '2010-12-31T13:13:51Z'
      lastModifiedBy:
        description: Alvaria-generated unique identifier for the user who last modified this entity.
        type: string
        example: '-9994561656.0'
  RoutingSetCollection:
    description: "Result of a query for routing sets. The result is a list of routing sets\r\nthat were selected by the selector, but pagination and selector limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching routing sets. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceRoutingSetCollection
      routingSets:
        description: List of routing sets.
        type: array
        items:
          $ref: '#/definitions/RoutingSet'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  RoutingSetRouting:
    description: Represents a routing.
    type: object
    properties:
      forecastGroupId:
        description: Alvaria-generated unique identifier for the forecast group associated with this routing. The definition for this forecast group can be retrieved with the via/v2/organizations/{orgId}/workforce/search/forecastGroups endpoint.
        type: string
        example: '-9994561656.0'
      priority:
        format: int32
        description: Priority for this routing.
        type: integer
        example: 1
      staffGroupId:
        description: Alvaria-generated unique identifier for the forecast group associated with this routing. The definition for this forecast group can be retrieved with the via/v2/organizations/{orgId}/workforce/search/staffGroups endpoint.
        type: string
        example: '-9994561656.0'
  RoutingSetSelector:
    description: "Selects a set of routing sets by filtering on the code and ID.\r\n* If no selection criteria is supplied then all routing sets are selected.\r\n* The selection criteria parameters are combined together by using the OR operator."
    type: object
    properties:
      codes:
        description: Entities with a code that exactly matches a code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLUE
          - GREEN
      includeDetails:
        description: "Determines whether associated summary routing set information is included.\r\nDefault value is true."
        type: boolean
        example: false
      partialCodes:
        description: Entities with a code that starts with any partial code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLU
          - G
      routingSetIds:
        description: Routing sets with a matching ID are selected.
        type: array
        items:
          type: string
        example:
          - '994684565'
          - '994687481'
  RoutingSetStaffGroupProperty:
    description: "Represents a staff group property.\r\nUsed to assign properties to the staff groups in a routing set. \r\nStaff groups of a routings set are either volume adjustable (VOLADJUST) or staff adjustable (STAFFADJUST)."
    type: object
    properties:
      staffGroupId:
        description: Alvaria-generated unique identifier for the forecast group associated with this staff group property. The definition for this forecast group can be retrieved with the via/v2/organizations/{orgId}/workforce/search/staffGroups endpoint.
        type: string
        example: '-9994561656.0'
      value:
        description: Routing set staff property value for this staff group property.
        enum:
          - VolumeAdjust
          - StaffAdjust
        type: string
        example: STAFFADJUST
  SavedResponse:
    description: Saved response.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceSavedResponse
  ScheduledSpan:
    description: Represents a schedule span.
    type: object
    properties:
      startDateTime:
        format: date-time
        description: Start datetime for this scheduled span.
        type: string
        example: '2010-12-31T13:18:35Z'
      stateId:
        description: Alvaria-generated unique identifier for the state associated with this scheduled span. The definition for this state can be retrieved with the via/v2/organizations/{orgId}/workforce/search/perspectives endpoint which include states associated with each perspective.
        type: string
        example: '-9994561656.0'
      stopDateTime:
        format: date-time
        description: Stop datetime for this scheduled span.
        type: string
        example: '2010-12-31T13:18:35Z'
  Segment:
    description: "Represents a segment.\r\nBasic building block from which schedules are formed. This is a record of how an employee is spending a specific period of time."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceScheduleSegment
      id:
        description: Alvaria-generated unique identifier for the segment.
        type: string
        example: '975444541'
      employeeId:
        description: Alvaria-generated unique identifier for the employee associated with this segment. The definition for this employee can be retrieved with the via/v2/organizations/{orgId}/workforce/search/employees endpoint.
        type: string
        example: '-9994561656.0'
      memo:
        description: Memo associated with this segment
        type: string
        example: Vacation
      nominalDate:
        format: date
        description: Nominal date of this segment.  The time and bias of this value is ignored.
        type: string
        example: '2018-04-29'
      segmentDefinitionId:
        description: Alvaria-generated unique identifier for the segment definition associated with this segment. The definition for this segment definition can be retrieved with the via/v2/organizations/{orgId}/workforce/search/segmentDefinitions endpoint.
        type: string
        example: '-9994561656.0'
      segmentType:
        description: "Segment type, which is either general or detail.\r\nA general segment is a segment that doesn't have a specific start and stop time. A general segment can be considered to occur all day on the nominal date.\r\nA detail segment is a segment that has a specific start and stop time."
        enum:
          - General
          - Detail
        type: string
        example: Detail
      startTime:
        format: date-time
        description: Moment value, which is for detail type segment only
        type: string
        example: '2008-09-15T15:53:00Z'
      stopTime:
        format: date-time
        description: Moment value, which is for detail type segment only.
        type: string
        example: '2008-09-15T15:53:00Z'
  SegmentAudit:
    description: "Represents a segment audit.\r\nAudit for basic building block from which schedules are formed. This is a audit record of how an employee is spending a specific period of time."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceScheduleSegmentAudit
      auditAction:
        description: Audit action of this segment audit, can be ADD, CHANGE, or DELETE.
        type: string
        example: ADD
      segment:
        $ref: '#/definitions/Segment'
      segmentAuditType:
        description: "Segment audit type, which is either general or detail.\r\nA general segment audit is a segment audit that has a general segment.\r\nA detail segment audit is a segment audit that has a detail segment."
        enum:
          - General
          - Detail
        type: string
        example: Detail
      sequenceNumber:
        format: int32
        description: Sequence number of this segment audit.
        type: integer
        example: 1698893
      timeStamp:
        description: TimeStamp of this segment audit.
        type: string
        example: '2008-09-15T15:53:00Z'
  SegmentAuditActions:
    description: "Represents audit actions for a segment audit to select for retrieval.\r\nIf this filter clause is specified then only audits with an action flagged as true will be selected."
    type: object
    properties:
      add:
        description: Add audit action.
        type: boolean
        example: true
      change:
        description: Change audit action.
        type: boolean
        example: true
      delete:
        description: Delete audit action.
        type: boolean
        example: true
  SegmentAuditCollection:
    description: "Result of a query for segment audits. The result is a list of segment audits \r\nthat were selected by the selector, but pagination and selector limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching segment audits. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceSegmentAuditCollection
      segmentAudits:
        description: List of segment audits.
        type: array
        items:
          $ref: '#/definitions/SegmentAudit'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  SegmentAuditFieldChanges:
    description: "Represents field changes for a segment audit to select for retrieval.\r\nIf this filter clause is specified then only audits with a field change flagged as true will be selected."
    type: object
    properties:
      employee:
        description: Employee field change.
        type: boolean
        example: true
      nominalDate:
        description: Nominal Date field change.
        type: boolean
        example: true
      segmentDefinition:
        description: Segment definition field change.
        type: boolean
        example: true
      start:
        description: Start field change.
        type: boolean
        example: true
      stop:
        description: Stop field change.
        type: boolean
        example: true
  SegmentAuditSelector:
    description: "Selects a set of segment audits.  \r\n* If no selection criteria is supplied then all segment audits are selected.\r\n* If employeeSelector is omitted, null, or empty, then qualifying data for all employees with be returned.\r\n* The multi-valued selection criterias are combined using the OR operator.\r\n* For example, if there are multiple dateRanges, the segment audit data returned must have a nominal date within dateRange #1 or within dateRange #2 or within dateRange #3, and so on. \r\n* The selection criteria parameters are combined together by using the AND operator.\r\n* For example, if an employeeSelector and dateRanges are both specified, the segment audit data returned must match the employeeSelector criteria and have a nominal date within the dateRanges.\r\n* dateRanges filters audits by nominal date (inclusive). Any audit with a nominal date between startDate and stopDate  of any supplied range will be included in the response. \r\n* durationRanges filters detail segment audits by duration (inclusive). Any detail segment audit with a duration defined by its startTime and stopTime between the minimumDuration and maximumDuration of any supplied range will be included in the response.\r\n* overlapRanges filters detail segment audits by startTime and stopTime (exclusive). Any detail segment audit where any part of the range defined by its startTime and stopTime overlaps any supplied ranges will be included in the response.\r\n* startRanges filters detail segment audits by startTime (inclusive). Any detail segment audit with a startTime between the startDateTime and stopDateTime of any supplied range will be included in the response.\r\n* stopRanges filters detail segment audits by stopTime (inclusive). Any detail segment audit with a stopTime between the startDateTime and stopDateTime of any supplied range will be included in the response.\r\n* timeStampRanges filters segment audits by timeStamp (inclusive). Any segment audit with a timeStamp between the startDateTime and stopDateTime of any supplied range will be included in the response."
    type: object
    properties:
      auditActions:
        $ref: '#/definitions/SegmentAuditActions'
      dateRanges:
        description: Detail or general segment audits with a nominal date within any specified range are selected.
        type: array
        items:
          $ref: '#/definitions/DateRange'
      durationRanges:
        description: Detail segment audits with a duration within any specified range are selected.
        type: array
        items:
          $ref: '#/definitions/DurationRange'
      employeeSelector:
        $ref: '#/definitions/EmployeeSelector'
      fieldChanges:
        $ref: '#/definitions/SegmentAuditFieldChanges'
      includeDetailSegments:
        description: "Determines whether detail segment audits are included. If set to false, overrides any of the filtering options for selecting detail segments.\r\nDefault is true."
        type: boolean
        example: true
      includeGeneralSegments:
        description: "Determines whether general segment audits are included. If set to false, overrides any of the filtering options for selecting general segments.\r\nDefault is true."
        type: boolean
        example: true
      includeMemo:
        description: "Determines whether memos are included. \r\nDefault value is true."
        type: boolean
        example: true
      overlapRanges:
        description: Detail segment audits that overlap any specified range are selected.
        type: array
        items:
          $ref: '#/definitions/DateTimeRange'
      segmentDefintionIds:
        description: List of Alvaria-generated unique identifiers for the segment definitions. The definition for these segment definitions can be retrieved with the via/v2/organizations/{orgId}/workforce/search/segmentDefinitions endpoint. Segment audits associated with segment definitions with a matching ID are selected.
        type: array
        items:
          type: string
        example:
          - '994684565'
          - '994687481'
      startRanges:
        description: Detail segment audits with a start time that falls within any specified range are selected.
        type: array
        items:
          $ref: '#/definitions/DateTimeRange'
      stopRanges:
        description: Detail segment audits with a stop time that falls within any specified range are selected.
        type: array
        items:
          $ref: '#/definitions/DateTimeRange'
      timeStampRanges:
        description: Segment audits with a timestamp that falls within any specified range are selected
        type: array
        items:
          $ref: '#/definitions/DateTimeRange'
  SegmentCategory:
    description: Represents a segment category.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceSegmentCategory
      id:
        description: Alvaria-generated unique identifier for the segment category.
        type: string
        example: '975444541'
      code:
        description: Unique identifier for this segment category, which can contain up to 30 characters.
        maxLength: 30
        minLength: 1
        type: string
        example: CSV
      description:
        description: This is a deprecated property.
        maxLength: 30
        minLength: 1
        type: string
        example: Customer Service
      segmentCategoryDescription:
        description: Description for this segment category.
        maxLength: 30
        minLength: 1
        type: string
        example: Customer Service
      segmentDefinitionIds:
        description: List of Alvaria-generated unique identifiers for the segment definitions associated with this segment category. The definitions for these segment definitions can be retrieved with the via/v2/organizations/{orgId}/workforce/search/segmentDefinitions endpoint.
        type: array
        items:
          type: string
        example:
          - '-9994561656'
          - '-9994561254'
      lastModifiedTime:
        format: date-time
        description: Timestamp that indicates when this entity was last modified.
        type: string
        example: '2010-12-31T13:18:35Z'
      lastModifiedBy:
        description: Alvaria-generated unique identifier for the user who last modified this entity.
        type: string
        example: '-9994561656.0'
  SegmentCategoryCollection:
    description: "Result of a query for segment categories. The result is a list of segment categories \r\nthat were selected by the selector, but pagination and selector limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching segment categories. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceSegmentCategoryCollection
      segmentCategories:
        description: List of segment categories.
        type: array
        items:
          $ref: '#/definitions/SegmentCategory'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  SegmentCategorySelector:
    description: "Selects a set of segment categories by filtering on the code and ID.\r\n* If no selection criteria is supplied then all segment categories are selected.\r\n* The selection criteria parameters are combined together by using the OR operator."
    type: object
    properties:
      codes:
        description: Entities with a code that exactly matches a code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLUE
          - GREEN
      partialCodes:
        description: Entities with a code that starts with any partial code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLU
          - G
      segmentCategoryIds:
        description: Segment categories with a matching ID are selected.
        type: array
        items:
          type: string
        example:
          - '-102147483259'
          - '-102147483261'
  SegmentCollection:
    description: "Result of a query for segments. The result is a list of segments \r\nthat were selected by the selector, but pagination and selector limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching segments. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceSegmentCollection
      segments:
        description: List of segments.
        type: array
        items:
          $ref: '#/definitions/Segment'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  SegmentDefinition:
    description: "Represent a segemtn definition.\r\nSegment definition is a type of work that can be assigned to an employee."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceSegmentDefinition
      id:
        description: Alvaria-generated unique identifier for the segment definition.
        type: string
        example: '975444541'
      code:
        description: Unique identifier for this segment definition, which can contain up to 30 characters.
        maxLength: 30
        minLength: 1
        type: string
        example: BILL
      description:
        description: This is a deprecated property.
        maxLength: 30
        minLength: 1
        type: string
        example: Billing
      color:
        $ref: '#/definitions/Color'
      defaultDuration:
        format: int32
        description: Duration (in minutes) to display as the initial duration when a user is creating a new segment.
        type: integer
        example: 10
      fontColor:
        $ref: '#/definitions/Color'
      rank:
        format: int32
        description: Rank of this segment definition compared to all segment definitions. This is used when calculating schedule resolutions and when ordering lists of segment definitions to display them to users.
        type: integer
        example: 3
      requiresMemo:
        description: Indicates whether a memo is required. If true, segments associated with this segment definition must include a memo.
        type: boolean
        example: false
      segmentDefinitionDescription:
        description: Description for this segment definition.
        maxLength: 30
        minLength: 1
        type: string
        example: Billing
      states:
        description: States associated with this segment definition. States are used when calculating schedule resolution.
        type: array
        items:
          $ref: '#/definitions/SegmentDefinitionStateAssociation'
      lastModifiedTime:
        format: date-time
        description: Timestamp that indicates when this entity was last modified.
        type: string
        example: '2010-12-31T13:18:35Z'
      lastModifiedBy:
        description: Alvaria-generated unique identifier for the user who last modified this entity.
        type: string
        example: '-9994561656.0'
  SegmentDefinitionCollection:
    description: "Result of a query for segment definitions. The result contains a list of\r\nsegment definitions that were selected by the selector, but pagination \r\nand selector limits, as well as system limits, may cause the list to be \r\nonly a subset of the matching segment definitions. This can be \r\ndetermined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceSegmentDefinitionCollection
      segmentDefinitions:
        description: List of segment definitions.
        type: array
        items:
          $ref: '#/definitions/SegmentDefinition'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  SegmentDefinitionSelector:
    description: "Selects a set of segment definitions by filtering on the code and ID.\r\n* If no selection criteria is supplied then all segment definitions are selected.\r\n* The selection criteria parameters are combined together by using the OR operator."
    type: object
    properties:
      codes:
        description: Entities with a code that exactly matches a code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLUE
          - GREEN
      includeStates:
        description: "Determines whether associated states are included.\r\nDefault value is false."
        type: boolean
        example: true
      partialCodes:
        description: Entities with a code that starts with any partial code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLU
          - G
      segmentDefinitionIds:
        description: Segment definitions with a matching ID are selected.
        type: array
        items:
          type: string
        example:
          - '994684565'
          - '994687481'
  SegmentDefinitionStateAssociation:
    description: Represents an association between a segment definition and state within a perspective.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceSegmentDefinitionStateAssociation
      id:
        description: Alvaria-generated unique identifier for the segment definition.
        type: string
        example: '975444541'
      stateId:
        description: Alvaria-generated unique identifier for the state associated with this segment definition. The definition for this state can be retrieved with the via/v2/organizations/{orgId}/workforce/search/perspectives endpoint.
        type: string
        example: '-9994561656.0'
  SegmentSelector:
    description: "Selects a set of segments.\r\n* If no selection criteria is supplied then no segments are selected.\r\n* If employeeSelector is omitted or null with no other selection critiera, then no qualifying data is returned.\r\n* If employeeSelector is omitted, null, or empty with other selection criteria, then qualifying data for all employees is returned.\r\n* The multi-valued selection criterias are combined using the OR operator.\r\n* For example, if there are multiple dateRanges, the segment data returned must have a nominal date within dateRange #1 or within dateRange #2 or within dateRange #3, and so on. \r\n* The selection criteria parameters are combined together by using the AND operator.\r\n* For example, if an employeeSelector and dateRanges are both specified, the segment data returned must match the employeeSelector criteria and have a nominal date within the dateRanges.\r\n* dateRanges filters segments by nominal date (inclusive). Any segment with a nominal date between startDate and stopDate of any supplied range will be included in the response.\r\n* durationRanges filters detail segments by duration (inclusive). Any detail segment with a duration defined by its startTime and stopTime between the minimumDuration and maximumDuration of any supplied range will be included in the response.\r\n* overlapRanges filters detail segments by startTime and stopTime (exclusive). Any detail segment where any part of the range defined by its startTime and stopTime overlaps any supplied ranges will be included in the response.\r\n* startRanges filters detail segments by startTime (inclusive). Any detail segment with a startTime between the startDateTime and stopDateTime of any supplied range will be included in the response.\r\n* stopRanges filters detail segments by stopTime (inclusive). Any detail segment with a stopTime between the startDateTime and stopDateTime of any supplied range will be included in the response."
    type: object
    properties:
      dateRanges:
        description: Detail or General segments with a nominal date within any specified range are selected.
        type: array
        items:
          $ref: '#/definitions/DateRange'
      durationRanges:
        description: Detail segments with a duration within any specified range are selected.
        type: array
        items:
          $ref: '#/definitions/DurationRange'
      employeeSelector:
        $ref: '#/definitions/EmployeeSelector'
      includeDetailSegments:
        description: "Indicates whether to include detail segments in the response. If set to false, overrides any of the filtering options for selecting detail segments.\r\nDefault is true."
        type: boolean
        example: true
      includeGeneralSegments:
        description: "Indicates whether to include general segments in the response. If set to false, overrides any of the filtering options for selecting general segments.\r\nDefault is true."
        type: boolean
        example: true
      overlapRanges:
        description: Detail segments that overlap any specified range are selected.
        type: array
        items:
          $ref: '#/definitions/DateTimeRange'
      segmentDefintionIds:
        description: List of Alvaria-generated unique identifiers for the segment definitions. The definition for these segment definitions can be retrieved with the via/v2/organizations/{orgId}/workforce/search/segmentDefinitions endpoint. Segments associated with segment definitions with a matching ID are selected.
        type: array
        items:
          type: string
        example:
          - '994684565'
          - '994687481'
      startRanges:
        description: Detail segments with a start time that falls within any specified range are selected.
        type: array
        items:
          $ref: '#/definitions/DateTimeRange'
      stopRanges:
        description: Detail segments with a stop time that falls within any specified range are selected.
        type: array
        items:
          $ref: '#/definitions/DateTimeRange'
  SegmentSummary:
    description: "Represents a segment summary.\r\nSegemnt summary is a summarized view of an employee's schedule on a given date."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceSegmentSummary
      employeeId:
        description: Alvaria-generated unique identifier for the employee associated with this segment summary. The definition for this employee can be retrieved with the via/v2/organizations/{orgId}/workforce/search/employees endpoint.
        type: string
        example: '-9994561656.0'
      earliestStartTime:
        format: date-time
        description: Earliest time any segment starts that is associated with this employee and nominal date.
        type: string
        example: '2018-01-25T23:00:00Z'
      generalSegmentDefinitionId:
        description: Alvaria-generated unique identifier for the segment definition that is associated with the highest ranking general segment involved in this segment summary. This property will have no value if no general segment exists. The definition for this segment definition can be retrieved with the via/v2/organizations/{orgId}/workforce/search/segmentDefinitions endpoint.
        type: string
        example: '-9994561656.0'
      latestStopTime:
        format: date-time
        description: Latest time any segment ends that is associated with this employee and nominal date.
        type: string
        example: '2018-01-25T23:00:00Z'
      nominalDate:
        format: date
        description: Nominal date of all the segments included in this summary. Note that the times may occur on a different date than the nominal date.
        type: string
        example: '2018-04-29'
      workSegmentDefinitionId:
        description: Alvaria-generated unique identifier for the segment definition that is associated with the highest-ranking detail segment that contributes to a non-default state in the perspective designated for the staff perspective purpose. This property will have no value if no segment exists that contributes to a non-default staff perspective state. The definition for this segment definition can be retrieved with the via/v2/organizations/{orgId}/workforce/search/segmentDefinitions endpoint.
        type: string
        example: '-9994561656.0'
  SegmentSummaryCollection:
    description: "Result of a query for segment summaries. The result is a list of segment summaries \r\nthat were selected by the selector, but pagination and selector limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching segment summaries. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceSegmentSummaryCollection
      segmentSummaries:
        description: List of segment summaries.
        type: array
        items:
          $ref: '#/definitions/SegmentSummary'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  SegmentSummarySelector:
    description: "Selects a set of segment summaries using an EmployeeSelector and determines\r\nhow to control which ranges of the segment summary record are included in the result.\r\n* If no selection criteria is supplied then all segment summaries are selected.\r\n* If employeeSelector is omitted, null, or empty, then qualifying data for all employees with be returned.\r\n* The selection criteria parameters are combined together by using the AND operator.\r\n* For example, if an employeeSelector and dateRanges are both specified, the segment summary data returned must match the employeeSelector criteria and have a nominal date within the dateRanges.\r\n* dateRanges filters segments by nominal date (inclusive). Any segment with a nominal date between startDate and stopDate of any supplied range will be included in the response."
    type: object
    properties:
      dateRanges:
        description: Date ranges in which an employee assignment must intersect to be included in the list.
        type: array
        items:
          $ref: '#/definitions/DateRange'
      employeeSelector:
        $ref: '#/definitions/EmployeeSelector'
  StaffAdjustment:
    description: Represents a staff adjustment.
    type: object
    properties:
      amount:
        format: double
        description: Amount value for this staff adjustment.
        type: number
        example: 100
      percent:
        format: double
        description: Percent value for this staff adjustment.
        type: number
        example: 100
      startDateTime:
        format: date-time
        description: Start datetime for this staff adjustment.
        type: string
        example: '2010-12-31T13:18:35Z'
  StaffAdjustments:
    description: Represents a list of staff adjustments.
    type: object
    properties:
      adjustment:
        description: List of staff adjustments associated with these staff adjustments.
        type: array
        items:
          $ref: '#/definitions/StaffAdjustment'
      forecastUnit:
        description: Forecast unit for these staff adjustments.
        enum:
          - FifteenMinute
          - ThirtyMinute
        type: string
        example: ThirtyMinute
  StaffAdjustmentSet:
    description: Represents a staff adjustment set.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceStaffAdjustmentSet
      id:
        description: Alvaria-generated unique identifier for the staff adjustment set.
        type: string
        example: '975444541'
      code:
        description: Unique identifier for this staff adjustment set, which can contain up to 30 characters.
        maxLength: 30
        minLength: 1
        type: string
        example: test
      adjustments:
        $ref: '#/definitions/StaffAdjustments'
      staffAdjustmentSetDescription:
        description: Description for this staff adjustment set.
        maxLength: 30
        minLength: 1
        type: string
        example: Test Staff Adjustment Set
      staffGroupId:
        description: Alvaria-generated unique identifier for the staff group associated with this staff adjustment set. The definition for this staff group can be retrieved with the via/v2/organizations/{orgId}/workforce/search/staffGroups endpoint.
        type: string
        example: '-9994561656.0'
  StaffAdjustmentSetCollection:
    description: "Result of a query for staff adjustment sets. The result is a list of staff adjustment sets\r\nthat were selected by the selector, but pagination and selector limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching staff adjustment sets. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceStaffAdjustmentSetCollection
      staffAdjustmentSets:
        description: List of staff adjustment sets.
        type: array
        items:
          $ref: '#/definitions/StaffAdjustmentSet'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  StaffAdjustmentSetSelector:
    description: "Selects a set of staff adjustment sets by filtering on the code and ID.\r\n* If no selection criteria is supplied then all staff adjustment sets are selected.\r\n* The selection criteria parameters are combined together by using the OR operator.\r\n* If any dateTimeRanges are included, the corresponding adjustment details will be included.\r\n* dateTimeRanges includes adjustments based on forecast unit with a startDateTime between startDateTime and stopDateTime of any supplied range in the response. The startDateTime is inclusive and the stopDateTime is exclusive."
    type: object
    properties:
      codes:
        description: Entities with a code that exactly matches a code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLUE
          - GREEN
      dateTimeRanges:
        description: Adjustments based on forecast unit with a datetime within any specified range will be include.
        type: array
        items:
          $ref: '#/definitions/DateTimeRange'
      partialCodes:
        description: Entities with a code that starts with any partial code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLU
          - G
      staffAdjustmentSetIds:
        description: Staff adjustment sets with a matching ID are selected.
        type: array
        items:
          type: string
        example:
          - '994684565'
          - '994687481'
  StaffGroup:
    description: Represents a staff group.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceStaffGroup
      id:
        description: Alvaria-generated unique identifier for the staff group.
        type: string
        example: '975444541'
      code:
        description: Unique identifier for this staff group, which can contain up to 30 characters.
        maxLength: 30
        minLength: 1
        type: string
        example: CSV
      employeeGroupId:
        description: Alvaria-generated unique identifier for the employee group associated with this staff group. The definition for this employee group can be retrieved with the via/v2/organizations/{orgId}/workforce/employeeGroups endpoint.
        type: string
        example: '-9994561656.0'
      staffGroupDescription:
        description: Description for this staff group.
        maxLength: 30
        minLength: 1
        type: string
        example: CSV Staff Group
      staffGroupParentId:
        description: Alvaria-generated unique identifier for the staff group associated with this staff group. The definition for this staff group can be retrieved with the via/v2/organizations/{orgId}/workforce/search/staffGroups endpoint.
        type: string
        example: '-9994561656.0'
      staffGroupTreeId:
        description: Alvaria-generated unique identifier for the staff group associated with this staff group. The definition for this staff group can be retrieved with the via/v2/organizations/{orgId}/workforce/search/staffGroups endpoint.
        type: string
        example: '-9994561656.0'
      superStateId:
        description: Alvaria-generated unique identifier for the superstate associated with this staff group. The definition for this superstate can be retrieved with the via/v2/organizations/{orgId}/workforce/search/superStates endpoint.
        type: string
        example: '-9994561656.0'
      timeZoneId:
        description: Alvaria-generated unique identifier for the time zone associated with this staff group. The definition for this time zone can be retrieved with the via/v2/organizations/{orgId}/workforce/timeZones endpoint.
        type: string
        example: '-9994561656.0'
      lastModifiedTime:
        format: date-time
        description: Timestamp that indicates when this entity was last modified.
        type: string
        example: '2010-12-31T13:13:51Z'
      lastModifiedBy:
        description: Alvaria-generated unique identifier for the user who last modified this entity.
        type: string
        example: '-9994561656.0'
  StaffGroupCollection:
    description: "Result of a query for staff groups. The result is a list of staff groups\r\nthat were selected by the selector, but pagination and selector limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching staff groups. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceStaffGroupCollection
      staffGroups:
        description: List of staff groups.
        type: array
        items:
          $ref: '#/definitions/StaffGroup'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  StaffGroupSelector:
    description: "Selects a set of staff groups by filtering on the code and ID.\r\n* If no selection criteria is supplied then all staff groups are selected.\r\n* The selection criteria parameters are combined together by using the OR operator."
    type: object
    properties:
      codes:
        description: Entities with a code that exactly matches a code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLUE
          - GREEN
      partialCodes:
        description: Entities with a code that starts with any partial code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLU
          - G
      staffGroupIds:
        description: Staff groups with a matching ID are selected.
        type: array
        items:
          type: string
        example:
          - '994684565'
          - '994687481'
  State:
    description: "Represents a state.\r\nState is a value or effect, that a segment has with respect to a particular perspective. \r\nFor example, from the Pay perspective, a Break segment might have a state of either Paid or Unpaid."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceState
      id:
        description: Alvaria-generated unique identifier for the state.
        type: string
        example: '975444541'
      code:
        description: Unique identifier for this state, which can contain up to 30 characters.
        maxLength: 30
        minLength: 1
        type: string
        example: PAID
      description:
        description: This is a deprecated property.
        maxLength: 30
        minLength: 1
        type: string
        example: Paid
      color:
        $ref: '#/definitions/Color'
      default:
        description: This is a deprecated property.
        type: boolean
        example: true
      fontColor:
        $ref: '#/definitions/Color'
      image:
        $ref: '#/definitions/Image'
      isDefault:
        description: Indicates whether this state is the default state for the perspective that contains it.
        type: boolean
        example: true
      stateDescription:
        description: Description for this state.
        maxLength: 30
        minLength: 1
        type: string
        example: Paid
  StateStatistics:
    description: Represents a state statistics.
    type: object
    properties:
      actual:
        format: int32
        description: Actual value for this state statistic.
        type: integer
        example: 1
      inAdherence:
        format: int32
        description: In adherence value for this state statistic.
        type: integer
        example: 1
      outScheduled:
        format: int32
        description: Out scheduled value for this state statistic
        type: integer
        example: 1
      outUnscheduled:
        format: int32
        description: Out unscheduled value for this state statistic
        type: integer
        example: 1
      percent:
        format: double
        description: Percent value for this state statistic
        type: number
        example: 100
      scheduled:
        format: int32
        description: Scheduled value for this state statistic.
        type: integer
        example: 1
      stateId:
        description: Alvaria-generated unique identifier for the state associated with this state statistic. The definition for this state can be retrieved with the via/v2/organizations/{orgId}/workforce/search/perspectives endpoint which include states associated with each perspective.
        type: string
        example: '-9994561656.0'
      totalInOut:
        format: int32
        description: Total in out value for this state statistic
        type: integer
        example: 1
  SuperState:
    description: Represent a superstate.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceSuperState
      id:
        description: Alvaria-generated unique identifier for the superstate.
        type: string
        example: '975444541'
      code:
        description: Unique identifier for this superstate, which can contain up to 30 characters.
        maxLength: 30
        minLength: 1
        type: string
        example: PAY
      description:
        description: This is a deprecated property.
        maxLength: 30
        minLength: 1
        type: string
        example: Paid
      active:
        description: Indicates whether this superstate is active. When a superstate is active, a system service running on the Alvaria Workforce Management application server continually accumulates summary data and updates the tallies that are based on it.
        type: boolean
        example: true
      stateIds:
        description: List of Alvaria-generated unique identifiers for the states associated with this superstate. The definition for these states can be retrieved with the via/v2/organizations/{orgId}/workforce/search/perspectives endpoint which include states associated with each perspective.
        type: array
        items:
          type: string
        example:
          - '-9994561656'
          - '-9994561254'
      superStateDescription:
        description: Description for this superstate.
        maxLength: 30
        minLength: 1
        type: string
        example: Paid
      lastModifiedTime:
        format: date-time
        description: Timestamp that indicates when this entity was last modified.
        type: string
        example: '2010-05-11T13:18:35Z'
      lastModifiedBy:
        description: Alvaria-generated unique identifier for the user who last modified this entity.
        type: string
        example: '-9994561656.0'
  SuperStateCollection:
    description: "Result of a query for superstates. The result is a list of superstates \r\nthat were selected by the selector, but pagination and selector limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching superstates. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceSuperStateCollection
      superStates:
        description: List of superstates.
        type: array
        items:
          $ref: '#/definitions/SuperState'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  SuperStateHour:
    description: Represents a superstate hour.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceSuperStateHour
      employeeId:
        description: Alvaria-generated unique identifier for the employee associated with this superstate hour. The definition for this employee can be retrieved with the via/v2/organizations/{orgId}/workforce/search/employees endpoint.
        type: string
        example: '-9994561656.0'
      minutes:
        format: int32
        description: Number of minutes this employee contributes to the superstate on this nominal date.
        type: integer
        example: 480
      nominalDate:
        format: date
        description: Date on which this superstate hour is calculated.
        type: string
        example: '2018-04-29'
      superStateId:
        description: Alvaria-generated unique identifier for the superstate associated with this superstate hour. The definition for this superstate can be retrieved with the via/v2/organizations/{orgId}/workforce/search/superstates endpoint.
        type: string
        example: '-9994561656.0'
      lastModifiedTime:
        format: date-time
        description: Time when this superstate hour was most recently calculated.
        type: string
        example: '2012-02-15T12:29:42Z'
  SuperStateHourCollection:
    description: "Result of a query for superstate hours. The result is a list of superstate hours \r\nthat were selected by the selector, but pagination and selector limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching superstate hours. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceSuperStateHourCollection
      superStateHours:
        description: List of superstate hours.
        type: array
        items:
          $ref: '#/definitions/SuperStateHour'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  SuperStateHourSelector:
    description: "Selects a set of superstate hours using an employeeSelector and determines\r\nhow to control which ranges of the superstate hour are included in the result.\r\n* If no selection criteria is supplied then all superstate hours are selected.\r\n* If employeeSelector is omitted, null, or empty, then qualifying data for all employees with be returned.\r\n* The selection criteria parameters are combined together by using the AND operator.\r\n* For example, if an employeeSelector and dateRanges are both specified, the superstate hour data returned must match the employeeSelector criteria and have a nominal date within the dateRanges.\r\n* dateRanges filters superstate hours by nominal date (inclusive).  Any superstate hours with a nominal date between startDate and stopDate of any supplied range will be included in the response."
    type: object
    properties:
      dateRanges:
        description: Date ranges in which an employee assignment must intersect to be included in the list.
        type: array
        items:
          $ref: '#/definitions/DateRange'
      employeeSelector:
        $ref: '#/definitions/EmployeeSelector'
      superStateIds:
        description: List of Alvaria-generated unique identifiers for the superstates. The definition for these superstates can be retrieved with the via/v2/organizations/{orgId}/workforce/search/superStates endpoint. Superstate hours associated with superstates with a matching ID are selected.
        type: array
        items:
          type: string
        example:
          - '-979999997941'
          - '-979999997940'
  SuperStateSelector:
    description: "Selects a set of superstates by filtering on the code and ID.\r\n* If no selection criteria is supplied then all superstates are selected.\r\n* The selection criteria parameters are combined together by using the OR operator."
    type: object
    properties:
      codes:
        description: Entities with a code that exactly matches a code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLUE
          - GREEN
      partialCodes:
        description: Entities with a code that starts with any partial code in this list are selected.
        type: array
        items:
          type: string
        example:
          - BLU
          - G
      superStateIds:
        description: Superstates with a matching ID are selected.
        type: array
        items:
          type: string
        example:
          - '-979999997941'
          - '-979999997940'
  SystemInformation:
    description: Represents a system information.
    type: object
    properties:
      permanentCloseoutDate:
        format: date
        description: No superstate hour or schedule summary data exists before this date.
        type: string
        example: '2018-04-29'
      segmentCutoffDate:
        format: date
        description: No detail or general segment data exists before this date. Before this date, superstate hours and schedule summary data may still exist.
        type: string
        example: '2018-04-29'
  SystemParameter:
    description: Represents a Workforce Management system parameter.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceSystemParameter
      systemParameterName:
        description: System parameter name, which can contain up to 30 characters.
        maxLength: 30
        minLength: 1
        type: string
        example: FTE_DFN
      value:
        description: Current value of the system parameter.
        type: string
        example: '41.40'
  SystemParameterCollection:
    description: "Result of a query for system parameters. The result is a list of system parameters \r\nthat were selected, but pagination limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching system parameters. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceSystemParameterCollection
      systemParameters:
        description: List of system parameters.
        type: array
        items:
          $ref: '#/definitions/SystemParameter'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
  TimeRange:
    description: Range of times.
    required:
      - startTime
      - stopTime
    type: object
    properties:
      startTime:
        description: Start time of the range.
        type: string
        example: '23:00:00'
      stopTime:
        description: Stop time of the range.
        type: string
        example: '23:00:00'
  TimeZone:
    description: Represents a time zone.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceTimeZone
      id:
        description: Alvaria-generated unique identifier for the time zone.
        type: string
        example: '975444541'
      name:
        description: This is a deprecated property.
        maxLength: 30
        minLength: 1
        type: string
        example: Pacific Standard Time
      displayName:
        description: String that describes this time zone, including representative cities and offset from UTC.
        type: string
        example: (GMT- 08:00) Pacific Time
      memo:
        description: Description for this time zone.
        type: string
        example: Los Angeles, San Diego, Seattle
      timeZoneName:
        description: Unique identifier for this time zone, which can contain up to 30 characters.
        maxLength: 30
        minLength: 1
        type: string
        example: US_PST
  TimeZoneCollection:
    description: "Result of a query for time zones. The result is a list of time zones \r\nthat were selected, but pagination limits, \r\nas well as system limits, may cause the list to contain only a subset of \r\nthe matching time zones. This can be determined by examining totalItems."
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria&amp;trade; Cloud components to serialize the payload of the results.
        type: string
        example: via#workforceTimeZoneCollection
      timeZones:
        description: List of time zones.
        type: array
        items:
          $ref: '#/definitions/TimeZone'
      totalItems:
        format: int32
        description: "Indicates the total number of items within the result set, which may be less than\r\nthe number of results actually returned."
        type: integer
        example: 500
parameters:
  startIndex:
    name: startIndex
    in: query
    description: Index of the starting record. This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set.
    required: false
    type: integer
    format: int32
  maxResults:
    name: maxResults
    in: query
    description: Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit.
    required: false
    type: integer
    format: int32
  orgId:
    name: orgId
    in: path
    description: Name of a customer organization.
    required: true
    type: string
  Authorization:
    name: Authorization
    in: header
    description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
    required: true
    type: string
  x-api-key:
    name: x-api-key
    in: header
    description: Alvaria-provided value used to track API endpoint usage.
    required: true
    type: string
securityDefinitions:
  oauth for non-US:
    type: oauth2
    description: Authorization for non-US region. Does include {region}.
    flow: implicit
    authorizationUrl: https://myaspect.{region}.id.aspect-cloud.net/tokenservice/oauth2/access_token?realm={orgId}
    scopes:
      workforceapi: access Alvaria&trade; Cloud Workforce resources
  oauth for US:
    type: oauth2
    description: Authorization for US region. Does not include {region}.
    flow: implicit
    authorizationUrl: https://myaspect.id.aspect-cloud.net/tokenservice/oauth2/access_token?realm={orgId}
    scopes:
      workforceapi: access Alvaria&trade; Cloud Workforce resources
