swagger: '2.0'
info:
  title: Alvaria&#8482; Cloud Workforce Updates REST API
  description: 'The Alvaria&#8482; Cloud Workforce Updates REST APIs enable developers to create applications that retrieves, creates, and updates to some of the Alvaria&#8482; Cloud Workforce entities. The read-only endpoints give access to Alvaria&#8482; Cloud Workforce admin current time, staff groups, and IDPs. The create endpoints give access to Alvaria&#8482; Cloud Workforce request segments and segments. The update endpoint give access to Alvaria&#8482; Cloud Workforce segments.'
  contact:
    name: Alvaria&#8482; Cloud
    url: http://www.alvaria.com
    email: customercare@alvaria.com
  license:
    name: 'License: Creative Commons Attribution 4.0 International Public License'
    url: https://creativecommons.org/licenses/by/4.0/legalcode
  version: '3.0'
host: orgId.via.aspect-cloud.net
schemes:
  - https
paths:
  '/via/v3/organizations/{orgId}/workforce/adminCurrentTime':
    get:
      tags:
        - AdminCurrentTime
      summary: Retrieves WFM current system time
      description: 'Retrieves Alvaria&#8482; Cloud Workforce system times. A timestamp of the current system time reported by database. The request server local system time. The current time expressed as UTC. The timezone for the Alvaria&#8482; Cloud Workforce database. The timezone for the Alvaria&#8482; Cloud Workforce request server. Also, current time expressed in timezone(s) specified in the request.'
      produces:
        - application/json
      parameters:
        - in: path
          name: orgId
          description: Name of a customer organization
          required: true
          type: string
        - in: header
          name: Authorization
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
          default: 'Bearer '
        - in: header
          name: x-api-key
          description: Alvaria-provided value used to track API endpoint usage
          required: true
          type: string
          default: string
      responses:
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '415':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '416':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '200':
          description: Success
          schema:
            $ref: '#/definitions/AdminCurrentTimeResponse'
      security:
        - oauth:
            - workforceapi.updates
  '/via/v3/organizations/{orgId}/workforce/checkerRequests/search':
    post:
      tags:
        - CheckerRequests
      summary: Retrieves a list of segment requests
      description: 'Retrieves a list of basic segment requests that matches the specified selector. The selection criteria are logically ANDed together. The selector can, but not require, an employee selector, request status, scorecard status, date range of the request, the creation date range of the request, the flag of ready to process, and/or checker rule SK. Filtering segment requests by CheckerRule SK is possible only if one or more ScorecardStatus elements are present. This is because every request has all CheckerRule SKs listed in its scorecard. Because of this, filtering only makes sense if a CheckerRule and ScorecardStatus are specified. If successful, a 202 response, with a searchId, will be received. Use the searchId with the GET /via/v3/organizations/{orgId}/workforce/checkerRequests/search, to retrieve cached results.'
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - in: path
          name: orgId
          description: Name of a customer organization
          required: true
          type: string
        - in: query
          name: maxResults
          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. (default: 500)'
          type: integer
          format: int32
          default: 0
        - in: header
          name: Authorization
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
          default: 'Bearer '
        - in: header
          name: x-api-key
          description: Alvaria-provided value used to track API endpoint usage
          required: true
          type: string
          default: string
        - in: body
          name: body
          description: Describes the segment requests to retrieve
          required: true
          schema:
            $ref: '#/definitions/RequestLookupSelector'
      responses:
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '415':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '416':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '200':
          description: Success
          schema:
            $ref: '#/definitions/SegmentRequestsCollection'
        '202':
          description: Success
          schema:
            $ref: '#/definitions/SegmentRequestListBaseResponse'
      security:
        - oauth:
            - workforceapi.updates
    get:
      tags:
        - CheckerRequests
      summary: Retrieve the requested list of segment requests
      description: 'Retrieves the cached list of basic segment requests that matches the searchId from the original POST /via/v3/organizations/{orgId}/workforce/checkerRequests/search. The start index (default: 0) and max results (default: 500) are optional and used for pagination of the cached data. If the max results is larger than the system max results, the system max results (500) will override the supplied max results.'
      produces:
        - application/json
      parameters:
        - in: path
          name: orgId
          description: Name of a customer organization
          required: true
          type: string
        - in: query
          name: searchId
          description: The searchId provided from the original request's response
          required: true
          type: string
        - in: query
          name: startIndex
          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. (default: 0)'
          type: integer
          format: int32
          default: 0
        - in: query
          name: maxResults
          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. (default: 500)'
          type: integer
          format: int32
          default: 0
        - in: header
          name: Authorization
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
          default: 'Bearer '
        - in: header
          name: x-api-key
          description: Alvaria-provided value used to track API endpoint usage
          required: true
          type: string
          default: string
      responses:
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '415':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '416':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '200':
          description: Success
          schema:
            $ref: '#/definitions/SegmentRequestsCollection'
        '202':
          description: Success
          schema:
            $ref: '#/definitions/SegmentRequestListBaseResponse'
      security:
        - oauth:
            - workforceapi.updates
  '/via/v3/organizations/{orgId}/workforce/checkerRequests/details/search':
    post:
      tags:
        - CheckerRequests
      summary: Retrieves a list of detail segment requests
      description: 'Retrieves a list of segment request''s details that matches the specified selector. The selector can, but not require, be a list of segment request''s id. There are flags to include segment request''s memo, segments, scorecard, summary memo, queue position, and affected dates as part of the segment details response. If successful, a 202 response, with a searchId, will be received. Use the searchId with the GET /via/v3/organizations/{orgId}/workforce/checkerRequests/details/search, to retrieve cached results.'
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - in: path
          name: orgId
          description: Name of a customer organization
          required: true
          type: string
        - in: query
          name: maxResults
          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. (default: 500)'
          type: integer
          format: int32
          default: 0
        - in: header
          name: Authorization
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
          default: 'Bearer '
        - in: header
          name: x-api-key
          description: Alvaria-provided value used to track API endpoint usage
          required: true
          type: string
          default: string
        - in: body
          name: body
          description: Describes the segment request's details to retrieve
          required: true
          schema:
            $ref: '#/definitions/SegmentRequestDetailsSelector'
      responses:
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '415':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '416':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '200':
          description: Success
          schema:
            $ref: '#/definitions/SegmentRequestsCollection'
        '202':
          description: Success
          schema:
            $ref: '#/definitions/SegmentRequestListBaseResponse'
      security:
        - oauth:
            - workforceapi.updates
    get:
      tags:
        - CheckerRequests
      summary: Retrieve the requested list of detail segment requests
      description: 'Retrieves the cached list of segment request''s details that matches the searchId from the original POST /via/v3/organizations/{orgId}/workforce/checkerRequests/details/search. The start index (default: 0) and max results (default: 500) are optional and used for pagination of the cached data. If the max results is larger than the system max results, the system max results (500) will override the supplied max results.'
      produces:
        - application/json
      parameters:
        - in: path
          name: orgId
          description: Name of a customer organization
          required: true
          type: string
        - in: query
          name: searchId
          description: The searchId provided from the original request's response
          required: true
          type: string
        - in: query
          name: startIndex
          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. (default: 0)'
          type: integer
          format: int32
          default: 0
        - in: query
          name: maxResults
          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. (default: 500)'
          type: integer
          format: int32
          default: 0
        - in: header
          name: Authorization
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
          default: 'Bearer '
        - in: header
          name: x-api-key
          description: Alvaria-provided value used to track API endpoint usage
          required: true
          type: string
          default: string
      responses:
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '415':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '416':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '200':
          description: Success
          schema:
            $ref: '#/definitions/SegmentRequestsCollection'
        '202':
          description: Success
          schema:
            $ref: '#/definitions/SegmentRequestListBaseResponse'
      security:
        - oauth:
            - workforceapi.updates
  '/via/v3/organizations/{orgId}/workforce/idp/staffGroup/search':
    post:
      tags:
        - IDPs
      summary: Retrieves a list of staff groups
      description: 'Retrieves a list of detailed information about staff groups that matches the specified selector. The selection criteria are logically ORed together. The selector can, but not require, have the staff group code, partial staff group code name, and/or staff group''s id. If successful, a 202 response, with a searchId, will be received. Use the searchId with the GET /via/v3/organizations/{orgId}/workforce/idp/staffGroup/search, to retrieve cached results.'
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - in: path
          name: orgId
          description: Name of a customer organization
          required: true
          type: string
        - in: query
          name: maxResults
          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. (default: 500)'
          type: integer
          format: int32
          default: 0
        - in: header
          name: Authorization
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
          default: 'Bearer '
        - in: header
          name: x-api-key
          description: Alvaria-provided value used to track API endpoint usage
          required: true
          type: string
          default: string
        - in: body
          name: body
          description: Describes the staff groups to retrieve
          required: true
          schema:
            $ref: '#/definitions/StaffGroupLookupSelector'
      responses:
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '415':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '416':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '200':
          description: Success
          schema:
            $ref: '#/definitions/StaffGroupCollection'
        '202':
          description: Success
          schema:
            $ref: '#/definitions/StaffGroupListBaseResponse'
      security:
        - oauth:
            - workforceapi.updates
    get:
      tags:
        - IDPs
      summary: Retrieve the requested list of staff groups
      description: 'Retrieves the list of cached detailed information about staff groups that matches the searchId from the original POST /via/v3/organizations/{orgId}/workforce/idp/staffGroup/search. The start index (default: 0) and max results (default: 500) are optional and used for pagination of the cached data. If the max results is larger than the system max results, the system max results (500) will override the supplied max results.'
      produces:
        - application/json
      parameters:
        - in: path
          name: orgId
          description: Name of a customer organization
          required: true
          type: string
        - in: query
          name: searchId
          description: The searchId provided from the original request's response
          required: true
          type: string
        - in: query
          name: startIndex
          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. (default: 0)'
          type: integer
          format: int32
          default: 0
        - in: query
          name: maxResults
          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. (default: 500)'
          type: integer
          format: int32
          default: 0
        - in: header
          name: Authorization
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
          default: 'Bearer '
        - in: header
          name: x-api-key
          description: Alvaria-provided value used to track API endpoint usage
          required: true
          type: string
          default: string
      responses:
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '415':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '416':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '200':
          description: Success
          schema:
            $ref: '#/definitions/StaffGroupCollection'
        '202':
          description: Success
          schema:
            $ref: '#/definitions/StaffGroupListBaseResponse'
      security:
        - oauth:
            - workforceapi.updates
  '/via/v3/organizations/{orgId}/workforce/idp/search':
    post:
      tags:
        - IDPs
      summary: Retrieves a list of IDPs
      description: 'Retrieves a list of IDP forecasts that matches the specified selector. The selection criteria are logically ORed together. The selector can, but not require, have a staff group''s id, forecast group''s id, routing set''s id, and/or date range of the idps. If successful, a 202 response, with a searchId, will be received. Use the searchId with the GET /via/v3/organizations/{orgId}/workforce/idp/search, to retrieve cached results.'
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - in: path
          name: orgId
          description: Name of a customer organization
          required: true
          type: string
        - in: query
          name: maxResults
          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. (default: 500)'
          type: integer
          format: int32
          default: 0
        - in: header
          name: Authorization
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
          default: 'Bearer '
        - in: header
          name: x-api-key
          description: Alvaria-provided value used to track API endpoint usage
          required: true
          type: string
          default: string
        - in: body
          name: body
          description: Describes the IDPs to retrieve
          required: true
          schema:
            $ref: '#/definitions/IDPLookupSelector'
      responses:
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '415':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '416':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDPCollection'
        '202':
          description: Success
          schema:
            $ref: '#/definitions/IDPListBaseResponse'
      security:
        - oauth:
            - workforceapi.updates
    get:
      tags:
        - IDPs
      summary: Retrieve the requested list of IDPs
      description: 'Retrieves the cached list of IDP forecasts that matches the searchId from the original POST /via/v3/organizations/{orgId}/workforce/idp/search. The start index (default: 0) and max results (default: 500) are optional and used for pagination of the cached data. If the max results is larger than the system max results, the system max results (500) will override the supplied max results.'
      produces:
        - application/json
      parameters:
        - in: path
          name: orgId
          description: Name of a customer organization
          required: true
          type: string
        - in: query
          name: searchId
          description: The searchId provided from the original request's response
          required: true
          type: string
        - in: query
          name: startIndex
          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. (default: 0)'
          type: integer
          format: int32
          default: 0
        - in: query
          name: maxResults
          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. (default: 500)'
          type: integer
          format: int32
          default: 0
        - in: header
          name: Authorization
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
          default: 'Bearer '
        - in: header
          name: x-api-key
          description: Alvaria-provided value used to track API endpoint usage
          required: true
          type: string
          default: string
      responses:
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '415':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '416':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDPCollection'
        '202':
          description: Success
          schema:
            $ref: '#/definitions/IDPListBaseResponse'
      security:
        - oauth:
            - workforceapi.updates
  '/via/v3/organizations/{orgId}/workforce/idp/details/search':
    post:
      tags:
        - IDPs
      summary: Request for IDP Details
      description: 'Retrieves detailed information about IDP forecasts that matches the specified selector. The selection criteria requires IDP''s id. Selector can also have, but not require, a forecast group with elements, a staff group with elements, and/or consolidation of forecast group and staff group with their elements that would be returned back in the response. If successful, a 202 response, with a searchId, will be received. Use the searchId with the GET /via/v3/organizations/{orgId}/workforce/idp/search, to retrieve cached results.'
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - in: path
          name: orgId
          description: Name of a customer organization
          required: true
          type: string
        - in: header
          name: Authorization
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
          default: 'Bearer '
        - in: header
          name: x-api-key
          description: Alvaria-provided value used to track API endpoint usage
          required: true
          type: string
          default: string
        - in: body
          name: body
          description: Describes the IDP details to retrieve
          required: true
          schema:
            $ref: '#/definitions/IDPDetailsSelector'
      responses:
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '415':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '416':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDPDetailsResponse'
        '202':
          description: Success
          schema:
            $ref: '#/definitions/IDPTypeBaseResponse'
      security:
        - oauth:
            - workforceapi.updates
    get:
      tags:
        - IDPs
      summary: Retrieve the requested IDP Details
      description: 'Retrieves cached detailed information about IDP forecasts that matches the searchId from the original POST /via/v3/organizations/{orgId}/workforce/idp/details/search. The start index (default: 0) and max results (default: 500) are optional and used for pagination of the cached data. If the max results is larger than the system max results, the system max results (500) will override the supplied max results.'
      produces:
        - application/json
      parameters:
        - in: path
          name: orgId
          description: Name of a customer organization
          required: true
          type: string
        - in: query
          name: searchId
          description: The searchId provided from the original request's response
          required: true
          type: string
        - in: header
          name: Authorization
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
          default: 'Bearer '
        - in: header
          name: x-api-key
          description: Alvaria-provided value used to track API endpoint usage
          required: true
          type: string
          default: string
      responses:
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '415':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '416':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDPDetailsResponse'
        '202':
          description: Success
          schema:
            $ref: '#/definitions/IDPTypeBaseResponse'
      security:
        - oauth:
            - workforceapi.updates
  '/via/v3/organizations/{orgId}/workforce/segments':
    post:
      tags:
        - Segments
      summary: Create segments
      description: 'Create segments directly to the schedule or as requests. The segment has the following required elements: employee''s id, segment''s nominal date, segment''s code, segment''s start time (only for detail segment), segment''s stop time (only for detail segment), segment''s type, and segment''s memo. The saveAsRequest flag tells the service to make it an official segment on the employee''s schedule or to make a segment request to be approved.'
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - in: path
          name: orgId
          description: Name of a customer organization
          required: true
          type: string
        - in: header
          name: Authorization
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
          default: 'Bearer '
        - in: header
          name: x-api-key
          description: Alvaria-provided value used to track API endpoint usage
          required: true
          type: string
          default: string
        - in: body
          name: body
          description: Describes the schedule segment/segment request to create
          required: true
          schema:
            $ref: '#/definitions/CreateSegmentsSelector'
      responses:
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '415':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '416':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '200':
          description: Success
          schema:
            $ref: '#/definitions/SavedResponse'
      security:
        - oauth:
            - workforceapi.updates
    put:
      tags:
        - Segments
      summary: Update segments
      description: 'Updates existing official schedule segments. Each of the updates will require the current segment and the update segment. The current segment is the existing official schedule segment that will be updated. To get the current official schedule segment use POST /via/v2/organizations/{orgId}/workforce/search/segments. If the current segment provided doesn''t match the current version on the database, the service will provide an error explaining it. The updating segment is the updated version you want the existing one to be. Every property needs to be supplied, even if that value isn''t changing. The saveAsRequest flag tells the service to make the update directly to the official segment or to make a segment request to update the current official segment for approval of the update.'
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - in: path
          name: orgId
          description: Name of a customer organization
          required: true
          type: string
        - in: header
          name: Authorization
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
          default: 'Bearer '
        - in: header
          name: x-api-key
          description: Alvaria-provided value used to track API endpoint usage
          required: true
          type: string
          default: string
        - in: body
          name: body
          description: 'Describes the existing official schedule segment to update. The CurrentSegment is the one that currently exist that you would like to update and the UpdateSegment is the updated version you want the existing one to be. Every property needs to be supplied, even if that value isn''t changing.'
          required: true
          schema:
            $ref: '#/definitions/UpdateSegmentSelector'
      responses:
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '415':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '416':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '200':
          description: Success
          schema:
            $ref: '#/definitions/SavedResponse'
      security:
        - oauth:
            - workforceapi.updates
  '/via/v3/organizations/{orgId}/workforce/segments/delete':
    post:
      tags:
        - Segments
      summary: Delete segments
      description: 'Delete segments directly from the schedule or as requests. The segment has the following required elements: employee''s id, segment''s nominal date, segment''s code, segment''s start time (only for detail segment), segment''s stop time (only for detail segment), segment''s type, and segment''s memo. The saveAsRequest flag tells the service to make it an official segment on the employee''s schedule or to make a segment request to be approved.'
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - in: path
          name: orgId
          description: Name of a customer organization
          required: true
          type: string
        - in: header
          name: Authorization
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
          default: 'Bearer '
        - in: header
          name: x-api-key
          description: Alvaria-provided value used to track API endpoint usage
          required: true
          type: string
          default: string
        - in: body
          name: body
          description: Describes the schedule segment/segment request to delete
          required: true
          schema:
            $ref: '#/definitions/DeleteSegmentsSelector'
      responses:
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '408':
          description: Request Timeout
          schema:
            $ref: '#/definitions/ErrorResponse'
        '415':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '416':
          description: Client Error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '200':
          description: Success
          schema:
            $ref: '#/definitions/SavedResponse'
      security:
        - oauth:
            - workforceapi.updates
definitions:
  AcdLogin:
    description: Definition of an Employee ACD Login record
    type: object
    properties:
      login:
        description: Code or other identifier that the Employee uses to log in to the ACD
        type: string
        example: '1920'
      acdInstanceId:
        description: Alvaria-generated unique identifier for the acd instance
        type: string
        example: '-992147482601'
      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
  AdminCurrentTimeResponse:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria™ Cloud components to serialize the payload of the results
        type: string
        example: via#workforceAdminCurrentTimeResponse
      currentTimeResponse:
        $ref: '#/definitions/CurrentTimeResponse'
  CreateSegmentsSelector:
    description: Definition for creating/updating a schedule segment or request segment
    type: object
    properties:
      saveAsRequest:
        description: Save as request segment.
        type: boolean
        example: false
      segments:
        description: Segments to be created
        type: array
        items:
          $ref: '#/definitions/Segment'
  CurrentTimeResponse:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceCurrentTimeResponse
      timeStamp:
        $ref: '#/definitions/CurrentTimeResponseTimeStamp'
      localSystem:
        $ref: '#/definitions/CurrentTimeResponseLocalSystem'
      utc:
        $ref: '#/definitions/CurrentTimeResponseUTC'
      databaseTimeZone:
        $ref: '#/definitions/CurrentTimeResponseDatabaseTimeZone'
      systemTimeZone:
        $ref: '#/definitions/CurrentTimeResponseSystemTimeZone'
  CurrentTimeResponseDatabaseTimeZone:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceCurrentTimeResponseDatabaseTimeZone
      dateTime:
        format: date-time
        description: Current time expressed in the timezone specified as the database timezone.
        type: string
        example: '2006-09-06T15:24:37.000-05:00'
      id:
        description: Alvaria-generated unique identifier for the time zone.
        type: string
        example: '-1924365234643'
  CurrentTimeResponseLocalSystem:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceCurrentTimeResponseLocalSystem
      dateTime:
        format: date-time
        description: Local system time of the server handling the request.
        type: string
        example: '2006-09-06T15:24:37.294'
  CurrentTimeResponseSystemTimeZone:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceCurrentTimeResponseSystemTimeZone
      dateTime:
        format: date-time
        type: string
        example: '2006-09-06T15:24:37.000-05:00'
      id:
        description: Alvaria-generated unique identifier for the current time response system time zone.
        type: string
        example: '-1924365234643'
  CurrentTimeResponseTimeStamp:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceCurrentTimeResponseTimeStamp
      dateTime:
        format: date-time
        description: 'Current system time as reported by the database, expressed as a timestamp.'
        type: string
        example: '2010-12-31T13:18:35Z'
      moment:
        format: int64
        description: Timestamp value converted to a moment.
        type: integer
        example: 12345678
  CurrentTimeResponseUTC:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceCurrentTimeResponseUTC
      dateTime:
        format: date-time
        description: Current time expressed in UTC.
        type: string
        example: '2006-09-06T20:24:37.000Z'
  DateRange:
    description: "Range of dates. Dates greater than or equal to the StartDate and \r\nless than or equal to the StopDate are considered within the range."
    type: object
  DateTimeRange:
    description: "Range of dates and times. A time greater than or equal to StartDateTime and \r\nless than (but not equal to) StopDateTime are considered within the range."
    type: object
    properties:
      startDateTime:
        format: date-time
        description: Start time of the range
        type: string
        example: '2010-12-31T13:18:35Z'
      stopDateTime:
        format: date-time
        description: Start date of the range
        type: string
        example: '2010-12-31T13:18:35Z'
  DeleteSegmentsSelector:
    description: Definition for deleting a schedule segment or request segment
    type: object
    properties:
      saveAsRequest:
        description: Save as request segment.
        type: boolean
        example: false
      segments:
        description: Segments to be deleted
        type: array
        items:
          $ref: '#/definitions/Segment'
  DurationRange:
    description: "Range of durations. Durations greater than or equal to MinimumDuration and \r\nless than or equal to MaximumDuration are considered within the range."
    type: object
    properties:
      minimumDuration:
        description: Minimum duration in the range
        type: string
        example: '15:01:00'
      maximumDuration:
        description: Maximum duration in the range
        type: string
        example: '15:02:00'
  ElementType:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceElementType
      value:
        description: The values for the element.
        type: array
        items:
          $ref: '#/definitions/ElementTypeValue'
      elementSummary:
        format: double
        description: The summary for the element.
        type: number
        example: 1234
      elementId:
        description: Alvaria-generated unique identifier for the elementId.
        type: string
        example: '-1924365234643'
      dataType:
        description: The data type for the element.
        default: Float
        enum:
          - Float
          - String
          - Boolean
        type: string
        example: Float
      min:
        format: double
        description: The minimum for the element.
        default: 0
        type: number
        example: 1
      max:
        format: double
        description: The maximum for the element.
        default: 1E+09
        type: number
        example: 8888
      maxDecimals:
        format: int32
        description: The maximum number of decimal places for the element.
        default: 2
        type: integer
        example: 8888
      readOnly:
        description: Is the element read only.
        default: false
        type: boolean
        example: false
  ElementTypeValue:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceElementTypeValue
      index:
        format: int32
        description: The index of the element value
        type: integer
        example: 123
      threshold:
        description: The threshold of the element value
        type: string
        example: '12'
      color:
        format: int32
        description: The color of the element value
        type: integer
        example: 12
      fontColor:
        format: int32
        description: The font color of the element value
        type: integer
        example: 12
      value:
        description: The value of the element value
        type: string
        example: '12'
  Employee:
    description: Workforce Management Employee definition
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  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: '-1924365234643'
      employeeIdentifier:
        description: 'Unique, human-readable identification code for this Employee. The maximum length is 10.'
        type: string
        example: TIG32
      lastName:
        description: Employee last name
        type: string
        example: Abernathy
      firstName:
        description: Employee first name
        type: string
        example: Jackie K.
      shortName:
        description: Shorter version of the employee Name
        type: string
        example: JKAbernathy
      sortName:
        description: Alternative representation of the Employee name that can be used for sorting purposes
        type: string
        example: 'ABERNATHY, JACKIE K.'
      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: '-1924365234643'
      active:
        description: Indicates whether an Employee is Active
        type: boolean
        example: true
      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: '-1924365234643'
      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'
      emailAddress:
        description: Employee email address
        type: string
        example: employeeemail@sample.com
      instantMessageAddress:
        description: Employee Instant Message address
        type: string
        example: sip:employeeURI@sample.com
      memo:
        description: Additional text associated with the Employee
        type: string
        example: Additional info relating to Employee
      extraFields:
        description: List of Extra Field values associated with the Employee
        type: array
        items:
          $ref: '#/definitions/ExtraFieldValue'
      skills:
        description: List of Skills associated with the Employee
        type: array
        items:
          $ref: '#/definitions/EmployeeSkillAssociation'
      employeeGroups:
        description: List of Employee Groups to which the Employee is assigned
        type: array
        items:
          $ref: '#/definitions/EmployeeGroupAssignment'
      acdLogins:
        description: List of the Employee ACD Logins
        type: array
        items:
          $ref: '#/definitions/AcdLogin'
  EmployeeFilter:
    description: "Standard used for filtering employees.\r\nThe Employee Filter allows filtering of employees by Employee Groups, \r\nhire date, termination date, extra field, skill, and segment.\r\nEmployee filter criteria is combined together by using the AND \r\noperator to determine which employees match all filter criteria."
    type: object
    properties:
      employeeGroupFilter:
        $ref: '#/definitions/EmployeeFilterEmployeeGroupFilter'
      hireDateFilter:
        $ref: '#/definitions/DateRange'
      termDateFilter:
        $ref: '#/definitions/DateRange'
      extraFieldFilter:
        $ref: '#/definitions/ExtraFieldComparison'
      skillFilter:
        $ref: '#/definitions/EmployeeFilterSkillFilter'
      segmentFilter:
        $ref: '#/definitions/EmployeeFilterSegmentFilter'
  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:
      employeeGroupIds:
        description: Alvaria-generated unique identifier for the employee groups
        type: array
        items:
          type: string
        example:
          - '-992147482601'
          - '-992147482602'
  EmployeeFilterSegmentFilter:
    description: 'Employee Filter criteria based on a specific Segment ID, Segment start date range, Segment stop date range, and Segment duration'
    type: object
    properties:
      start:
        $ref: '#/definitions/DateTimeRange'
      stop:
        $ref: '#/definitions/DateTimeRange'
      duration:
        $ref: '#/definitions/DurationRange'
      segmentDefinitionId:
        description: Alvaria-generated unique identifier for the SegmentDefinition
        type: string
        example: '66898'
  EmployeeFilterSkillFilter:
    description: 'Employee Filter criteria based on a specific Employee Skill ID, date, and priority range'
    type: object
    properties:
      priorityRange:
        $ref: '#/definitions/IntegerRange'
      priorityFrom:
        format: int32
        description: If specified only skill assignments with a priority between PriorityFrom and PriorityTo will be selected.
        type: integer
        example: 1
      priorityTo:
        format: int32
        description: If specified only skill assignments with a priority between PriorityFrom and PriorityTo will be selected.
        type: integer
        example: 1
      skillId:
        description: Alvaria-generated unique identifier for the SkillId
        type: string
        example: '1489356'
  EmployeeGroupAssignment:
    description: Employee assignment to an Employee Group
    type: object
    properties:
      employeeGroupId:
        description: Alvaria-generated unique identifier for the EmployeeGroupId
        type: string
        example: '975444541'
      leader:
        description: Whether an employee is a Leader in the Employee Group
        type: boolean
        example: false
  EmployeeSelector:
    description: "Selects employees by name, ID, employee identifier, or by a complex filter.\r\nEmployees are selected by IDs (a unique identifier that is not usually exposed to end users), employee IDs (a unique\r\nhuman-readable identifier specified by an end user), name (partial names in the format \"last_name, first_name\"),\r\nand an employee filter. These four parameters are combined together using the OR operator when selecting matching employee records.\r\nIf none of the four parameters are supplied, then all employees are selected."
    type: object
    properties:
      employeeIds:
        description: 'A list 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:
          - '-992147482601'
          - '-992147482602'
      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
      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
      employeeFilter:
        $ref: '#/definitions/EmployeeFilter'
      respectFilterProfile:
        description: '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.'
        default: true
        type: boolean
        example: true
      hideInactiveEmployees:
        description: 'Whether to hide Inactive employees. If false (the default), only active employees are selected. If true, then all matching employees are returned.'
        default: false
        type: boolean
        example: true
  EmployeeSkillAssociation:
    description: Employee Skill record
    type: object
    properties:
      skillId:
        description: Alvaria-generated unique identifier for the SkillId
        type: string
        example: '975444541'
      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
  Error:
    description: Details of an error response
    type: object
    properties:
      scope:
        description: Scope of the error
        type: string
        example: 'null'
      reason:
        description: Reason for the error
        type: string
        example: Invalid JSON
      message:
        description: Message associated with the error
        type: string
        example: Invalid JSON
  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
      message:
        description: Message that describes the error condition
        type: string
        example: Invalid JSON
      errors:
        description: Detailed information about each error that occurred
        type: array
        items:
          $ref: '#/definitions/Error'
  ExtraFieldComparison:
    description: "Extra field comparison which 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:
      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 compared against the extra field value
        type: string
        example: EMP001
      extraFieldId:
        description: Alvaria-generated unique identifier for the ExtraField
        type: string
        example: '2387932847'
  ExtraFieldValue:
    description: Value of an Employee Extra Field
    type: object
    properties:
      extraFieldId:
        description: Alvaria-generated unique identifier for the ExtraFieldId
        type: string
        example: '975444541'
      value:
        description: 'Extra Field value, expressed as a string'
        type: string
        example: ExtraData
  IDP:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceIDP
      id:
        description: Alvaria-generated unique identifier for the Id
        type: string
        example: '-1924365234643'
      creationTime:
        format: date-time
        description: The date which the idp was created.
        type: string
        example: '2010-12-31T13:18:35Z'
      createdBy:
        description: The person that created the idp.
        type: string
        example: SCHLACTER
      startTime:
        format: date-time
        description: The start time of the idp.
        type: string
        example: '2003-01-05T00:00:00'
      stopTime:
        format: date-time
        description: The stop time of the idp.
        type: string
        example: '2003-01-05T00:00:00'
      timeZone:
        $ref: '#/definitions/TimeZoneType'
      routingSet:
        $ref: '#/definitions/RoutingSetType'
      forecastGroups:
        description: The forecast groups of the idp
        type: array
        items:
          $ref: '#/definitions/IDPFGTreeType'
  IDPCollection:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria™ Cloud components to serialize the payload of the results
        type: string
        example: via#workforceIDPCollection
      searchId:
        description: Alvaria-generated unique identifier for the SearchId
        type: string
        example: 0f8fad5b-d9cb-469f-a165-70867728950e
      responseStatus:
        description: Cache Status of Response in cache
        enum:
          - NotReady
          - Ready
          - Error
          - UnknownResponseType
        type: string
        example: Ready
      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
      links:
        $ref: '#/definitions/Links'
      idps:
        description: "Result of a query for IDP. The result contains a \r\nlist of IDPs that matched the selection criteria."
        type: array
        items:
          $ref: '#/definitions/IDP'
  IDPDetailsConsolidation:
    type: object
    properties:
      staffGroups:
        type: array
        items:
          $ref: '#/definitions/StaffGroup'
  IDPDetailsMultiSkill:
    type: object
    properties:
      start:
        format: date-time
        type: string
        example: '2003-01-07T00:00:00-06:00'
      stop:
        format: date-time
        type: string
        example: '2003-01-07T00:00:00-06:00'
      basis:
        default: Revised
        enum:
          - Original
          - Revised
          - Actual
        type: string
        example: Original
      adjustments:
        default: false
        type: boolean
        example: false
  IDPDetailsResponse:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria™ Cloud components to serialize the payload of the results
        type: string
        example: via#workforceIDPDetailsResponse
      searchId:
        description: Alvaria-generated unique identifier for the SearchId
        type: string
        example: 0f8fad5b-d9cb-469f-a165-70867728950e
      responseStatus:
        description: Cache Status of Response in cache
        enum:
          - NotReady
          - Ready
          - Error
          - UnknownResponseType
        type: string
        example: Ready
      idpDetails:
        $ref: '#/definitions/IDPType'
  IDPDetailsSelector:
    description: Selects a idp and details to be returned.
    type: object
    properties:
      idpId:
        description: Alvaria-generated unique identifier for the idp
        type: string
        example: '-9921474826'
      forecastGroup:
        $ref: '#/definitions/IDPGroupType'
      staffGroup:
        $ref: '#/definitions/IDPGroupType'
      consolidation:
        $ref: '#/definitions/IDPDetailsConsolidation'
      multiSkill:
        $ref: '#/definitions/IDPDetailsMultiSkill'
      includeProperties:
        description: Should include idp's properties.
        type: boolean
        example: false
      includeOpenHours:
        description: Should include idp's open hours.
        type: boolean
        example: false
  IDPFGTreeType:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceIDPFGTreeType
      code:
        description: The code for the idp forecast group tree.
        type: string
        example: CSV
      idpFgTreeDescription:
        description: The description for the idp forecast group tree.
        type: string
        example: Customer Service
      timeZone:
        $ref: '#/definitions/TimeZoneType'
      startTime:
        format: date-time
        description: The start time for the idp forecast group tree.
        type: string
        example: '2003-01-07T00:00:00-06:00'
      stopTime:
        format: date-time
        description: The stop time for the idp forecast group tree.
        type: string
        example: '2003-01-07T00:00:00-06:00'
      forecastGroups:
        description: The forecast groups for the idp forecast group tree.
        type: array
        items:
          $ref: '#/definitions/IDPFGTreeType'
      staffGroups:
        description: The staff groups for the idp forecast group tree.
        type: array
        items:
          $ref: '#/definitions/IDPSGTreeType'
      id:
        description: Alvaria-generated unique identifier for the Id
        type: string
        example: '-1924365234643'
      multiSkill:
        description: Is idp forecast group tree a multi-skill.
        default: false
        type: boolean
        example: false
  IDPGroupResponseType:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceIDPGroupResponseType
      code:
        description: The code for the idp group
        type: string
        example: CSV
      idpGroupDescription:
        description: The description for the idp group
        type: string
        example: CSV Routing Set
      timeZone:
        $ref: '#/definitions/TimeZoneType'
      parentId:
        description: Alvaria-generated unique identifier for the parent
        type: string
        example: '-1924365234643'
      openHours:
        description: The open hour periods for the idp group
        type: array
        items:
          $ref: '#/definitions/OpenHoursTypePeriod'
      properties:
        $ref: '#/definitions/IDPGroupResponseTypeProperties'
      elements:
        description: The elements for the idp group
        type: array
        items:
          $ref: '#/definitions/ElementType'
      id:
        description: Alvaria-generated unique identifier for the Id
        type: string
        example: '-1924365234643'
      hasChildren:
        description: Does idp group have children.
        default: false
        type: boolean
        example: false
      multiSkill:
        description: Is idp group a multi-skill.
        default: false
        type: boolean
        example: false
      allocation:
        description: Is idp group allocated.
        default: false
        type: boolean
        example: false
  IDPGroupResponseTypeProperties:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceIDPGroupResponseTypeProperties
      assumptions:
        description: The assumptions for idp group property
        type: array
        items:
          $ref: '#/definitions/IDPGroupResponseTypePropertiesAssumptions'
      histories:
        description: The histories for idp group property
        type: array
        items:
          $ref: '#/definitions/IDPGroupResponseTypePropertiesHistory'
  IDPGroupResponseTypePropertiesAssumptions:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceIDPGroupResponseTypePropertiesAssumptions
      scenario:
        description: The scenario for idp group property assumption
        type: string
        example: CSV
      volumeOverride:
        description: The volume override for idp group property assumption
        type: string
        example: Volume Override
      ahtOverride:
        description: The average handle time override for idp group property assumption
        type: string
        example: AHT Override
      staffBasis:
        description: The staff basis for idp group property assumption
        type: string
        example: SRVCLEV
      allocationSet:
        description: The allocation set for idp group property assumption
        type: string
        example: allocation set
  IDPGroupResponseTypePropertiesHistory:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceIDPGroupResponseTypePropertiesHistory
      timeStamp:
        format: date-time
        description: The time stamp for the idp group property history
        type: string
        example: '2003-01-07T00:00:00-06:00'
      user:
        description: The user for the idp group property history
        type: string
        example: user
      action:
        description: The action for the idp group property history
        type: string
        example: action
  IDPGroupType:
    type: object
    properties:
      elements:
        type: array
        items:
          $ref: '#/definitions/IDStringValueType'
      id:
        description: Alvaria-generated unique identifier for the Id
        type: string
        example: '-1924365234643'
  IDPListBaseResponse:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria™ Cloud components to serialize the payload of the results
        type: string
        example: via#workforceBaseResponse`1
      searchId:
        description: Alvaria-generated unique identifier for the SearchId
        type: string
        example: 0f8fad5b-d9cb-469f-a165-70867728950e
      responseStatus:
        description: Cache Status of Response in cache
        enum:
          - NotReady
          - Ready
          - Error
          - UnknownResponseType
        type: string
        example: NotReady
  IDPLookupSelector:
    description: Selects a set of segment requests.
    type: object
    properties:
      dateTimeRange:
        $ref: '#/definitions/DateTimeRange'
      forecastGroupId:
        description: Alvaria-generated unique identifier for the forecast group
        type: string
        example: '-992147482601'
      routingSetId:
        description: Alvaria-generated unique identifier for the routing set
        type: string
        example: '-992147482601'
      staffGroupId:
        description: Alvaria-generated unique identifier for the staff group
        type: string
        example: '-992147482601'
  IDPSGTreeType:
    type: object
    properties:
      code:
        type: string
        example: CSV
      idpSgTreeDescription:
        type: string
        example: Customer Service
      timeZone:
        $ref: '#/definitions/TimeZoneType'
      start:
        format: date-time
        type: string
        example: '2003-01-07T00:00:00-06:00'
      stop:
        format: date-time
        type: string
        example: '2003-01-07T00:00:00-06:00'
      staffGroup:
        type: array
        items:
          $ref: '#/definitions/IDPSGTreeType'
      id:
        description: Alvaria-generated unique identifier for the Id
        type: string
        example: '-1924365234643'
      multiSkill:
        default: false
        type: boolean
        example: false
  IDPType:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceIDPType
      idpDescription:
        description: The description of the idp
        type: string
        example: CSV 1/10/2003
      routingSet:
        $ref: '#/definitions/RoutingSetType'
      forecastUnit:
        format: int32
        description: The routing set of the idp
        type: integer
        example: 30
      timeZone:
        $ref: '#/definitions/TimeZoneType'
      startTime:
        format: date-time
        description: The start time of the idp
        type: string
        example: '2003-01-07T00:00:00-06:00'
      stopTime:
        format: date-time
        description: The stop time of the idp
        type: string
        example: '2003-01-07T00:00:00-06:00'
      forecastGroups:
        description: The forecast groups of the idp
        type: array
        items:
          $ref: '#/definitions/IDPGroupResponseType'
      staffGroups:
        description: The staff groups of the idp
        type: array
        items:
          $ref: '#/definitions/IDPGroupResponseType'
      consolidation:
        $ref: '#/definitions/IDPTypeConsolidation'
      id:
        description: Alvaria-generated unique identifier for the Id
        type: string
        example: '-1924365234643'
      action:
        description: The action for the ipd.
        enum:
          - Delete
          - ChangeFrom
          - ChangeTo
        type: string
        example: Delete
      openHours:
        description: The open hours for the ipd.
        type: array
        items:
          $ref: '#/definitions/OpenHoursTypePeriod'
      elements:
        description: The elements for the ipd.
        type: array
        items:
          $ref: '#/definitions/ElementType'
  IDPTypeBaseResponse:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria™ Cloud components to serialize the payload of the results
        type: string
        example: via#workforceBaseResponse`1
      searchId:
        description: Alvaria-generated unique identifier for the SearchId
        type: string
        example: 0f8fad5b-d9cb-469f-a165-70867728950e
      responseStatus:
        description: Cache Status of Response in cache
        enum:
          - NotReady
          - Ready
          - Error
          - UnknownResponseType
        type: string
        example: NotReady
  IDPTypeConsolidation:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceIDPTypeConsolidation
      timeZone:
        $ref: '#/definitions/TimeZoneType'
      openHours:
        description: The open hour periods of the idp consolidation
        type: array
        items:
          $ref: '#/definitions/OpenHoursTypePeriod'
      elements:
        description: The elements of the idp consolidation
        type: array
        items:
          $ref: '#/definitions/ElementType'
  IDStringValueType:
    type: object
    properties:
      id:
        description: Alvaria-generated unique identifier for the Id
        type: string
        example: '-1924365234643'
      value:
        type: string
        example: '-1924365234643'
  IntegerRange:
    description: "Range of integer values. \r\nIntegers greater than or equal to Minimum and less than or equal to Maximum are considered within the range."
    type: object
    properties:
      minimum:
        format: int32
        description: Numbers less that this value are within the range
        type: integer
        example: 1
      maximum:
        format: int32
        description: Numbers greater than this value are not within the range
        type: integer
        example: 1
  Link:
    type: object
    properties:
      href:
        description: Link for a set of page results
        type: string
        example: https://api.us.via.aspect-cloud.net/via/v2/organizations/orgName/workforce/checkerrequests/search?searchId=0f8fad5b-d9cb-469f-a165-70867728950e&amp;startIndex=0&amp;maxResults=5
  Links:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria™ Cloud components to serialize the payload of the results
        type: string
        example: via#workforceLinks
      first:
        $ref: '#/definitions/Link'
      last:
        $ref: '#/definitions/Link'
      next:
        $ref: '#/definitions/Link'
      prev:
        $ref: '#/definitions/Link'
  OpenHoursTypePeriod:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceOpenHoursTypePeriod
      index:
        format: int32
        description: The index of the open hour period
        type: integer
        example: 1232
      open:
        description: Is open hour period open
        default: false
        type: boolean
        example: false
      timeValue:
        format: date-time
        description: The time of the open hour period
        type: string
        example: '2003-01-07T00:00:00-06:00'
  RequestLookupSelector:
    description: Selects a set of segment requests.
    type: object
    properties:
      employeeSelector:
        $ref: '#/definitions/EmployeeSelector'
      requestStatus:
        description: segment requests with a matching status are selected.
        enum:
          - OPEN
          - FAIL
          - OFFC
          - CANC
          - DEFR
        type: string
        example: OPEN
      scorecardStatus:
        description: segment requests with a matching scorecard status are selected.
        enum:
          - PASS
          - FAIL
          - WAIT
          - DEFR
          - NA
        type: string
        example: PASS
      checkerRuleId:
        description: Alvaria-generated unique identifier for the checker rule
        type: string
        example: '-992147482601'
      dateRange:
        $ref: '#/definitions/DateRange'
      createdOnDateRange:
        $ref: '#/definitions/DateRange'
  RoutingSetType:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceRoutingSetType
      code:
        description: The code for the routing set.
        type: string
        example: CSV
      routingSetDescription:
        description: The description for the routing set.
        type: string
        example: CSV Routing Set
      multiSkill:
        description: Is the routing set a multi-skill.
        type: boolean
        example: false
      serviceLevelGoalSeconds:
        format: double
        description: The number of seconds for the service level goal for the routing set.
        type: number
        example: 12
      lastModifiedBy:
        description: The user that last modify the routing set.
        type: string
        example: '-1924365234643'
      lastModifiedTime:
        format: date-time
        description: The last time the routing set was modified.
        type: string
        example: '2003-01-06T00:00:00-06:00'
      routings:
        description: The list of routes associated with the routing set.
        type: array
        items:
          $ref: '#/definitions/RoutingSetTypeRouting'
      staffGroupProperties:
        description: The list of staff groups associated with the routing set.
        type: array
        items:
          $ref: '#/definitions/RoutingSetTypeStaffGroupProperty'
      id:
        description: Alvaria-generated unique identifier for the Id
        type: string
        example: '-1924365234643'
  RoutingSetTypeRouting:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceRoutingSetTypeRouting
      forecastGroupId:
        description: Alvaria-generated unique identifier for the forecast group.
        type: string
        example: '-992147482601'
      staffGroupId:
        description: Alvaria-generated unique identifier for the staff group.
        type: string
        example: '-992147482601'
      priority:
        format: int32
        description: The priority of the routing.
        type: integer
        example: 1
      ahtFactor:
        format: double
        description: The average handle time factor of the routing.
        type: number
        example: 1.1
  RoutingSetTypeStaffGroupProperty:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceRoutingSetTypeStaffGroupProperty
      staffGroupId:
        description: Alvaria-generated unique identifier for the staff group.
        type: string
        example: '-992147482601'
      value:
        description: The staff group type associated with the staff group property.
        enum:
          - VOLADJUST
          - STAFFADJUST
        type: string
        example: VOLADJUST
  Saved:
    description: Successfully saved request to WFM
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceSaved
  SavedResponse:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria™ Cloud components to serialize the payload of the results
        type: string
        example: via#workforceSavedResponse
      searchId:
        description: Alvaria-generated unique identifier for the SearchId
        type: string
        example: 0f8fad5b-d9cb-469f-a165-70867728950e
      responseStatus:
        description: Cache Status of Response in cache
        enum:
          - NotReady
          - Ready
          - Error
          - UnknownResponseType
        type: string
        example: NotReady
      saved:
        $ref: '#/definitions/Saved'
  ScorecardTypeCell:
    description: Will be 1 cell element for every combination of Checker rule and nominal date in the segment request.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceScorecardTypeCell
      ruleId:
        description: Alvaria-generated unique identifier for the checker rule
        type: string
        example: '-992147482601'
      status:
        description: The status for the scorecard cell
        enum:
          - PASS
          - FAIL
          - WAIT
          - DEFR
          - NA
        type: string
        example: PASS
      memo:
        description: The memo for the scorecard cell
        type: string
        example: memo
      waitList:
        $ref: '#/definitions/ScorecardTypeCellWaitList'
  ScorecardTypeCellWaitList:
    description: Will only exist if Scorecard Status = WAIT
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceScorecardTypeCellWaitList
      position:
        format: int32
        description: Position of this segment request on the wait list.
        type: integer
        example: 1
      count:
        format: int32
        description: Total number of segment requests on this wait list.
        type: integer
        example: 1
  Segment:
    description: Definition for creating/updating a schedule segment or request segment
    type: object
    properties:
      id:
        description: Alvaria-generated unique identifier for the Id
        type: string
        example: '-1924365234643'
      employeeId:
        description: Alvaria-generated unique identifier for the employee.
        type: string
        example: '-1924365234643'
      nominalDate:
        format: date-time
        description: The nominal date related to the segment.
        type: string
        example: '2010-12-31'
      segmentDefinitionId:
        description: Alvaria-generated unique identifier for the segment definition.
        type: string
        example: '-1924365234643'
      startTime:
        format: date-time
        description: The start time for the segment.
        type: string
        example: '2010-12-31T13:18:35Z'
      stopTime:
        format: date-time
        description: The stop time for the segment.
        type: string
        example: '2010-12-31T13:18:35Z'
      memo:
        description: The memo for the segment.
        type: string
        example: memo
      segmentType:
        description: The segment type for the segment.
        enum:
          - Detail
          - General
        type: string
        example: General
  SegmentRequest:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceSegmentRequest
      id:
        description: Alvaria-generated unique identifier for the Id
        type: string
        example: '-1924365234643'
      employee:
        $ref: '#/definitions/Employee'
      user:
        $ref: '#/definitions/UserType'
      status:
        description: The status of the segment request.
        enum:
          - OPEN
          - FAIL
          - OFFC
          - CANC
          - DEFR
        type: string
        example: OPEN
      creationTime:
        format: date-time
        description: The date which the segment request was created.
        type: string
        example: '2010-12-31T13:18:35Z'
      sequence:
        format: int32
        description: Provides a finer resolution of creation time.
        type: integer
        example: 1
      source:
        description: Indicates from what system the segment request was added.
        type: string
        example: source
      requiresChecking:
        description: Controls whether the segment request is evaluated against the Checker and personal balance rules or sent directly to Updater.
        type: boolean
        example: false
      readyToProcess:
        description: Indicates whether this segment request is ready to be processed by Checker.
        type: boolean
        example: false
      evaluationCount:
        format: int32
        description: Indicates how many time Checker has evaluated this segment request.
        type: integer
        example: 1
      isValidSegment:
        description: Indicates whether this segment request is compatible with the current state of the employee's schedule.
        type: boolean
        example: false
      priority:
        format: int32
        description: Controls the order in which Checker evaluates the segment request.
        type: integer
        example: 1
      rank:
        format: int32
        description: rank of the segment request.
        type: integer
        example: 1
      effectiveCreationTime:
        format: date-time
        description: The effective date which the segment request was created.
        type: string
        example: '2010-12-31T13:18:35Z'
      effectiveSequence:
        format: int32
        description: Provides a finer effective resolution of creation time.
        type: integer
        example: 1
      processingStartedTime:
        format: date-time
        description: Indicates when Checker started processing the segment request.
        type: string
        example: '010-12-31T13:18:35.0000000+00:00'
      memo:
        description: Detailed memo for the segment request.
        type: string
        example: memo
      summaryMemo:
        description: Summary memo for the segment request.
        type: string
        example: summaryMemo
      scorecards:
        description: The scorecards for the segment request.
        type: array
        items:
          $ref: '#/definitions/ScorecardTypeCell'
      segments:
        $ref: '#/definitions/SegmentsType'
      datesAffected:
        description: Dates affected by request
        type: array
        items:
          format: date-time
          type: string
  SegmentRequestDetailsSelector:
    description: Selects a set of segment requests with details.
    type: object
    properties:
      segmentRequestIds:
        description: The segment requests wanting details for.
        type: array
        items:
          type: string
      includeMemo:
        description: Should include memo in the segment request's details.
        type: boolean
        example: false
      includeSegments:
        description: Should include segments in the segment request's details.
        type: boolean
        example: false
      includeScorecard:
        description: Should include scorecard in the segment request's details.
        type: boolean
        example: false
      includeSummaryMemo:
        description: Should include summary memo in the segment request's details.
        type: boolean
        example: false
      includeQueuePosition:
        description: Should include queue position in the segment request's details.
        type: boolean
        example: false
      includeAffectedDates:
        description: Should include affected dates in the segment request's details.
        type: boolean
        example: false
  SegmentRequestListBaseResponse:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria™ Cloud components to serialize the payload of the results
        type: string
        example: via#workforceBaseResponse`1
      searchId:
        description: Alvaria-generated unique identifier for the SearchId
        type: string
        example: 0f8fad5b-d9cb-469f-a165-70867728950e
      responseStatus:
        description: Cache Status of Response in cache
        enum:
          - NotReady
          - Ready
          - Error
          - UnknownResponseType
        type: string
        example: NotReady
  SegmentRequestsCollection:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria™ Cloud components to serialize the payload of the results
        type: string
        example: via#workforceSegmentRequestsCollection
      searchId:
        description: Alvaria-generated unique identifier for the SearchId
        type: string
        example: 0f8fad5b-d9cb-469f-a165-70867728950e
      responseStatus:
        description: Cache Status of Response in cache
        enum:
          - NotReady
          - Ready
          - Error
          - UnknownResponseType
        type: string
        example: Ready
      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
      links:
        $ref: '#/definitions/Links'
      segmentRequests:
        description: "Result of a query for segment request. The result contains a \r\nlist of segment request that matched the selection criteria."
        type: array
        items:
          $ref: '#/definitions/SegmentRequest'
  SegmentsType:
    description: 'The lists of segments, general segments and detail segments.'
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceSegmentsType
      detailSegments:
        description: List of detail segments
        type: array
        items:
          $ref: '#/definitions/SegmentsTypeDetailSegment'
      generalSegments:
        description: List of general segments
        type: array
        items:
          $ref: '#/definitions/SegmentsTypeGeneralSegment'
      saveAsRequest:
        description: Save as a request
        type: boolean
        example: false
  SegmentsTypeDetailSegment:
    description: The detail segment definition.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceSegmentsTypeDetailSegment
      employeeId:
        description: Alvaria-generated unique identifier for the employee.
        type: string
        example: '-992147482601'
      segmentCodeId:
        description: Alvaria-generated unique identifier for the segment code
        type: string
        example: '-992147482601'
      startTime:
        format: date-time
        description: The start time of detail segment
        type: string
        example: '2010-12-31T13:18:35Z'
      stopTime:
        format: date-time
        description: The stop time of detail segment
        type: string
        example: '2010-12-31T13:18:35Z'
      memo:
        description: The memo of detail segment
        type: string
        example: memo
      id:
        description: Alvaria-generated unique identifier for the Id
        type: string
        example: '-1924365234643'
  SegmentsTypeGeneralSegment:
    description: The general segment definition.
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceSegmentsTypeGeneralSegment
      employeeId:
        description: Alvaria-generated unique identifier for the employee.
        type: string
        example: '-1924365234643'
      segmentCodeId:
        description: Alvaria-generated unique identifier for the segment code.
        type: string
        example: '-1924365234643'
      memo:
        description: The memo of general segment
        type: string
        example: memo
      id:
        description: Alvaria-generated unique identifier for the Id
        type: string
        example: '-1924365234643'
  StaffGroup:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceStaffGroup
      id:
        description: Alvaria-generated unique identifier for the Id
        type: string
        example: '-1924365234643'
      treeId:
        description: Alvaria-generated unique identifier for the tree
        type: string
        example: '-1924365234643'
      code:
        description: The code for this staff group.
        type: string
        example: '1'
      staffGroupDescription:
        description: The description for this staff group.
        type: string
        example: staff group description
      lastModifiedBy:
        description: Who last modified this staff group.
        type: string
        example: '-992147482601'
      lastModifiedTime:
        format: date-time
        description: The last time this staff group was modified.
        type: string
        example: '2010-12-31T13:18:35Z'
      timeZoneId:
        description: Alvaria-generated unique identifier for the time zone
        type: string
        example: '-992147482601'
      scheduledRequiredStaffThresholdId:
        description: Alvaria-generated unique identifier for the scheduled required staff threshold
        type: string
        example: '-992147482601'
      requiredActualStaffThresholdId:
        description: Alvaria-generated unique identifier for the required actual staff threshold
        type: string
        example: '-992147482601'
      scheduledActualStaffThresholdId:
        description: Alvaria-generated unique identifier for the scheduled actual staff threshold
        type: string
        example: '-992147482601'
      openHoursId:
        description: Alvaria-generated unique identifier for the open hours
        type: string
        example: '-992147482601'
      superStateId:
        description: Alvaria-generated unique identifier for the super state
        type: string
        example: '-992147482601'
      employeeGroupId:
        description: Alvaria-generated unique identifier for the employee group
        type: string
        example: '-992147482601'
      parentId:
        description: Alvaria-generated unique identifier for the parent
        type: string
        example: '-992147482601'
      agentDataGroupsIds:
        description: Alvaria-generated unique identifier for the staff group
        type: array
        items:
          type: string
        example:
          - '-992147482601'
          - '-992147482602'
  StaffGroupCollection:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria™ Cloud components to serialize the payload of the results
        type: string
        example: via#workforceStaffGroupCollection
      searchId:
        description: Alvaria-generated unique identifier for the SearchId
        type: string
        example: 0f8fad5b-d9cb-469f-a165-70867728950e
      responseStatus:
        description: Cache Status of Response in cache
        enum:
          - NotReady
          - Ready
          - Error
          - UnknownResponseType
        type: string
        example: Ready
      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
      links:
        $ref: '#/definitions/Links'
      staffGroup:
        description: "Result of a query for segment request. The result contains a \r\nlist of segment request that matched the selection criteria."
        type: array
        items:
          $ref: '#/definitions/StaffGroup'
  StaffGroupListBaseResponse:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria™ Cloud components to serialize the payload of the results
        type: string
        example: via#workforceBaseResponse`1
      searchId:
        description: Alvaria-generated unique identifier for the SearchId
        type: string
        example: 0f8fad5b-d9cb-469f-a165-70867728950e
      responseStatus:
        description: Cache Status of Response in cache
        enum:
          - NotReady
          - Ready
          - Error
          - UnknownResponseType
        type: string
        example: NotReady
  StaffGroupLookupSelector:
    description: Selects a set of staff groups.
    type: object
    properties:
      code:
        description: Staff group with a matching code are selected
        type: string
        example: SALES
      partialCode:
        description: Staff group with a matching partial code are selected
        type: string
        example: SAL
      staffGroupId:
        description: Alvaria-generated unique identifier for the staff group
        type: string
        example: '-992147482601'
  TimeRange:
    description: "Range of times.\r\nTimes greater than or equal to StartTime and less than (but not equal to) StopTime are considered within the range."
    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'
  TimeZoneType:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceTimeZoneType
      displayName:
        type: string
        example: (UTC-06:00) Central Time (US and Canada)
      id:
        description: Alvaria-generated unique identifier for the Id
        type: string
        example: '-1924365234643'
  UpdateSegmentPair:
    required:
      - currentSegment
      - updateSegment
    type: object
    properties:
      currentSegment:
        $ref: '#/definitions/Segment'
      updateSegment:
        $ref: '#/definitions/Segment'
  UpdateSegmentSelector:
    required:
      - updateSegments
    type: object
    properties:
      saveAsRequest:
        description: Save as request segment.
        type: boolean
        example: false
      updateSegments:
        description: List of segments to update
        type: array
        items:
          $ref: '#/definitions/UpdateSegmentPair'
  UserType:
    type: object
    properties:
      kind:
        description: Identifier used by Alvaria  Cloud components to serialize the payload of the results
        type: string
        example: via#workforceUserType
      active:
        description: Is the user active.
        type: boolean
        example: true
      userName:
        description: The username for the user.
        type: string
        example: 'Abernathy, Jackie K.'
      altUserName:
        description: The alternative username for the user.
        type: string
        example: 'Abernathy, Jackie K.'
      systemAdministrator:
        description: Is the user a system administrator.
        type: boolean
        example: false
      filterProfileId:
        description: Alvaria-generated unique identifier for the filter profile
        type: string
        example: '-1924365234643'
      securityProfileId:
        description: Alvaria-generated unique identifier for the security profile
        type: string
        example: '-1924365234643'
      seatFilterProfileId:
        description: Alvaria-generated unique identifier for the seat filter profile
        type: string
        example: '-1924365234643'
      employeeId:
        description: Alvaria-generated unique identifier for the employee
        type: string
        example: '-1924365234643'
      firstName:
        description: The first name of the user.
        type: string
        example: Jackie K.
      lastName:
        description: The last name of the user.
        type: string
        example: Abernathy
      firstDayOfWeek:
        format: int32
        description: The first day of the work week for the user.
        type: integer
        example: 1
      timeZoneId:
        description: Alvaria-generated unique identifier for the time zone
        type: string
        example: '-1924365234643'
      fullName:
        description: The full name for the user.
        type: string
        example: 'Abernathy, Jackie K.'
      secondaryLoginId:
        description: Alvaria-generated unique identifier for the SecondaryLoginId
        type: string
        example: employeeemail@sample.com
      id:
        description: Alvaria-generated unique identifier for the Id
        type: string
        example: '-1924365234643'
securityDefinitions:
  oauth:
    type: oauth2
    flow: implicit
    authorizationUrl: https://myaspect.{region}.id.aspect-cloud.net/tokenservice/oauth2/access_token?realm={orgId}
    scopes:
      workforceapi.updates: access Via&reg; Workforce resources