Nedap Moves.Roster Slot API

The moves.RosterSlot API from Nedap — 14 operation(s) for moves.rosterslot.

Operations 14

GET /t/moves/roster_slots Return the roster slots of a unit (referred to with either a team_id or… #
GET /t/moves/roster_slots/{id} Return the roster slot with the specified id #
POST /t/moves/roster_slots/{roster_slot_id}/assign Assigns a RosterSlot to an Employee by creating a ShiftAssignment for it #
DELETE /t/moves/roster_slots/{roster_slot_id}/clear_assignments Clears all ShiftAssignments for the specified RosterSlot #
GET /t/moves/roster_slots/on_call Return the on call roster slots of a unit on the specified date #
GET /t/teams/{team_id}/on_call_roster_slots Return the on call roster slots of a Team on the specified date #
GET /t/teams/{team_id}/roster_slots Return the roster slots of a Team within the specified period. #
GET /v0/plannen_roosteren/roster_slots Return the roster slots of a unit (referred to with either a team_id or… #
GET /v0/plannen_roosteren/roster_slots/{id} Return the roster slot with the specified id #
POST /v0/plannen_roosteren/roster_slots/{roster_slot_id}/assign Assigns a RosterSlot to an Employee by creating a ShiftAssignment for it #
DELETE /v0/plannen_roosteren/roster_slots/{roster_slot_id}/clear_assignments Clears all ShiftAssignments for the specified RosterSlot #
GET /v0/plannen_roosteren/roster_slots/on_call Return the on call roster slots of a unit on the specified date #
GET /v0/plannen_roosteren/teams/{team_id}/on_call_rosterslots Return the on call roster slots of a Team on the specified date #
GET /v0/plannen_roosteren/teams/{team_id}/rosterslots Return the roster slots of a Team within the specified period. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/nedap-moves-rosterslot-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

nedap-moves-rosterslot-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Nedap Moves.Roster Slot API
  version: 0.0.0
  description: 'Operations tagged moves.RosterSlot across 2 of this provider''s published API definitions: nedap-ons-deprecated-openapi-original.json, nedap-ons-openapi-original.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api-development.ons.io
tags:
- name: moves.RosterSlot
paths:
  /t/moves/roster_slots:
    get:
      tags:
      - moves.RosterSlot
      summary: Return the roster slots of a unit (referred to with either a team_id or…
      operationId: moves.RosterSlotAPI.byUnitAndPeriod
      parameters:
      - name: team_id
        in: query
        description: The id of the requested unit in Ons Administration
        required: false
        schema:
          type: string
      - name: unit_id
        in: query
        description: The id of the requested unit in Ons Planning
        required: false
        schema:
          type: integer
          format: int64
      - name: from
        in: query
        description: The start date of the requested period
        required: true
        schema:
          type: string
          format: date
      - name: to
        in: query
        description: The end date of the requested period (exclusive)
        required: true
        schema:
          type: string
          format: date
      responses:
        '200':
          description: No response was specified
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/moves.list.RosterSlotList'
        '400':
          description: Parsing errors or user errors.
        '401':
          description: Unauthorized.
        '404':
          description: Could not find Unit
      x-replaced-by: /v0/plannen_roosteren/roster_slots
      deprecated: true
      x-deprecated-since: 19-11-2025
    servers:
    - url: https://api-development.ons.io
  /t/moves/roster_slots/{id}:
    get:
      tags:
      - moves.RosterSlot
      summary: Return the roster slot with the specified id
      operationId: moves.RosterSlotAPI.byId
      parameters:
      - name: id
        in: path
        description: The id of the requested roster slot
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/moves.RosterSlot'
        '400':
          description: Parsing errors or user errors.
        '401':
          description: Unauthorized.
        '404':
          description: Could not find RosterSlot
      x-cupido-common-method: true
      x-replaced-by: /v0/plannen_roosteren/roster_slots/{id}
      deprecated: true
      x-deprecated-since: 19-11-2025
    servers:
    - url: https://api-development.ons.io
  /t/moves/roster_slots/{roster_slot_id}/assign:
    post:
      tags:
      - moves.RosterSlot
      summary: Assigns a RosterSlot to an Employee by creating a ShiftAssignment for it
      description: Requires `employeeId`, `timelineShiftId` and `date`. Optional fields (`beginTime`, `endTime`, `startBreakTime`, `stopBreakTime`, `externalExpertiseProfileId`) allow full shift customization. To explicitly remove a break or an external expertise profile from the assignment, send `null` or an empty string for the respective field(s). If optional fields are provided, their values will overwrite the original shift's values. An optional `order` assigns the employee to a specific spot when the shift has multiple positions. `order` does not modify the base shift or its default values, it only selects which spot this assignment occupies.
      operationId: moves.RosterSlotAPI.assign
      parameters:
      - name: roster_slot_id
        in: path
        description: The {id} of the roster slot
        required: true
        schema:
          type: string
      requestBody:
        description: The shift assignment to be added
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/moves.ShiftAssignment'
        required: true
      responses:
        '200':
          description: No response was specified
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/moves.RosterSlot'
      x-replaced-by: /v0/plannen_roosteren/roster_slots/{roster_slot_id}/assign
      deprecated: true
      x-deprecated-since: 19-11-2025
    servers:
    - url: https://api-development.ons.io
  /t/moves/roster_slots/{roster_slot_id}/clear_assignments:
    delete:
      tags:
      - moves.RosterSlot
      summary: Clears all ShiftAssignments for the specified RosterSlot
      description: Clears all shift assignments by default. When the `order` parameter is provided, only clears the assignment for the specified shift spot.
      operationId: moves.RosterSlotAPI.clearAssignmentsV2
      parameters:
      - name: roster_slot_id
        in: path
        description: The {id} of the roster slot
        required: true
        schema:
          type: string
      - name: order
        in: query
        description: The `order` of the specific shift spot to clear. If not provided, all assignments will be cleared.
        required: false
        schema:
          type: integer
          format: int32
          example: 0
      responses:
        '204':
          description: Deleted
      x-replaced-by: /v0/plannen_roosteren/roster_slots/{roster_slot_id}/clear_assignments
      deprecated: true
      x-deprecated-since: 19-11-2025
    servers:
    - url: https://api-development.ons.io
  /t/moves/roster_slots/on_call:
    get:
      tags:
      - moves.RosterSlot
      summary: Return the on call roster slots of a unit on the specified date
      operationId: moves.RosterSlotAPI.onCallByUnitAndDate
      parameters:
      - name: team_id
        in: query
        description: The id of the requested unit in Ons Administration
        required: false
        schema:
          type: string
      - name: unit_id
        in: query
        description: The id of the requested unit in Ons Planning
        required: false
        schema:
          type: integer
          format: int64
      - name: date
        in: query
        description: The requested date
        required: true
        schema:
          type: string
          format: date
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/moves.list.RosterSlotList'
        '400':
          description: Parsing errors or user errors.
        '401':
          description: Unauthorized.
        '404':
          description: Could not find Unit
      x-replaced-by: /v0/plannen_roosteren/roster_slots/on_call
      deprecated: true
      x-deprecated-since: 19-11-2025
    servers:
    - url: https://api-development.ons.io
  /t/teams/{team_id}/on_call_roster_slots:
    get:
      tags:
      - moves.RosterSlot
      summary: Return the on call roster slots of a Team on the specified date
      description: This endpoint is deprecated. Please use `GET /plannen_roosteren/roster_slots/on_call` endpoint instead.
      operationId: moves.RosterSlotAPI.onCallByTeamId
      parameters:
      - name: team_id
        in: path
        description: The {id} of the requested team
        required: true
        schema:
          type: integer
          format: int64
      - name: date
        in: query
        description: The requested date
        required: true
        schema:
          type: string
          format: date
      responses:
        '200':
          description: No response was specified
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/moves.list.RosterSlotList'
      deprecated: true
      x-deprecated-since: 02-09-2025
      x-replaced-by: /v0/plannen_roosteren/teams/{team_id}/on_call_rosterslots
    servers:
    - url: https://api-development.ons.io
  /t/teams/{team_id}/roster_slots:
    get:
      tags:
      - moves.RosterSlot
      summary: Return the roster slots of a Team within the specified period.
      description: This endpoint is deprecated. Please use `GET /plannen_roosteren/roster_slots` endpoint instead.
      operationId: moves.RosterSlotAPI.byTeamId
      parameters:
      - name: team_id
        in: path
        description: The {id} of the requested team
        required: true
        schema:
          type: integer
          format: int64
      - name: valid_from
        in: query
        description: The start date of the requested period
        required: true
        schema:
          type: string
          format: date
      - name: valid_to
        in: query
        description: The end date of the requested period (exclusive)
        required: true
        schema:
          type: string
          format: date
      responses:
        '200':
          description: No response was specified
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/moves.list.RosterSlotList'
      deprecated: true
      x-deprecated-since: 02-09-2025
      x-replaced-by: /v0/plannen_roosteren/teams/{team_id}/rosterslots
    servers:
    - url: https://api-development.ons.io
  /v0/plannen_roosteren/roster_slots:
    get:
      tags:
      - moves.RosterSlot
      summary: Return the roster slots of a unit (referred to with either a team_id or…
      operationId: moves.RosterSlotAPI.byUnitAndPeriod
      parameters:
      - name: team_id
        in: query
        description: The id of the requested unit in Ons Administration
        required: false
        schema:
          type: string
      - name: unit_id
        in: query
        description: The id of the requested unit in Ons Planning
        required: false
        schema:
          type: integer
          format: int64
      - name: from
        in: query
        description: The start date of the requested period
        required: true
        schema:
          type: string
          format: date
      - name: to
        in: query
        description: The end date of the requested period (exclusive)
        required: true
        schema:
          type: string
          format: date
      responses:
        '200':
          description: No response was specified
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/moves.list.RosterSlotList'
        '400':
          description: Parsing errors or user errors.
        '401':
          description: Unauthorized.
        '404':
          description: Could not find Unit
      x-replacement-for:
      - /t/moves/roster_slots
    servers:
    - url: https://api-development.ons.io
  /v0/plannen_roosteren/roster_slots/{id}:
    get:
      tags:
      - moves.RosterSlot
      summary: Return the roster slot with the specified id
      operationId: moves.RosterSlotAPI.byId
      parameters:
      - name: id
        in: path
        description: The id of the requested roster slot
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/moves.RosterSlot'
        '400':
          description: Parsing errors or user errors.
        '401':
          description: Unauthorized.
        '404':
          description: Could not find RosterSlot
      x-cupido-common-method: true
      x-replacement-for:
      - /t/moves/roster_slots/{id}
    servers:
    - url: https://api-development.ons.io
  /v0/plannen_roosteren/roster_slots/{roster_slot_id}/assign:
    post:
      tags:
      - moves.RosterSlot
      summary: Assigns a RosterSlot to an Employee by creating a ShiftAssignment for it
      description: Requires `employeeId`, `timelineShiftId` and `date`. Optional fields (`beginTime`, `endTime`, `startBreakTime`, `stopBreakTime`, `externalExpertiseProfileId`) allow full shift customization. To explicitly remove a break or an external expertise profile from the assignment, send `null` or an empty string for the respective field(s). If optional fields are provided, their values will overwrite the original shift's values. An optional `order` assigns the employee to a specific spot when the shift has multiple positions. `order` does not modify the base shift or its default values, it only selects which spot this assignment occupies.
      operationId: moves.RosterSlotAPI.assign
      parameters:
      - name: roster_slot_id
        in: path
        description: The {id} of the roster slot
        required: true
        schema:
          type: string
      requestBody:
        description: The shift assignment to be added
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/moves.ShiftAssignment'
        required: true
      responses:
        '200':
          description: No response was specified
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/moves.RosterSlot'
      x-replacement-for:
      - /t/moves/roster_slots/{roster_slot_id}/assign
    servers:
    - url: https://api-development.ons.io
  /v0/plannen_roosteren/roster_slots/{roster_slot_id}/clear_assignments:
    delete:
      tags:
      - moves.RosterSlot
      summary: Clears all ShiftAssignments for the specified RosterSlot
      description: Clears all shift assignments by default. When the `order` parameter is provided, only clears the assignment for the specified shift spot.
      operationId: moves.RosterSlotAPI.clearAssignmentsV2
      parameters:
      - name: roster_slot_id
        in: path
        description: The {id} of the roster slot
        required: true
        schema:
          type: string
      - name: order
        in: query
        description: The `order` of the specific shift spot to clear. If not provided, all assignments will be cleared.
        required: false
        schema:
          type: integer
          format: int32
          example: 0
      responses:
        '204':
          description: Deleted
      x-replacement-for:
      - /t/moves/roster_slots/{roster_slot_id}/clear_assignments
    servers:
    - url: https://api-development.ons.io
  /v0/plannen_roosteren/roster_slots/on_call:
    get:
      tags:
      - moves.RosterSlot
      summary: Return the on call roster slots of a unit on the specified date
      operationId: moves.RosterSlotAPI.onCallByUnitAndDate
      parameters:
      - name: team_id
        in: query
        description: The id of the requested unit in Ons Administration
        required: false
        schema:
          type: string
      - name: unit_id
        in: query
        description: The id of the requested unit in Ons Planning
        required: false
        schema:
          type: integer
          format: int64
      - name: date
        in: query
        description: The requested date
        required: true
        schema:
          type: string
          format: date
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/moves.list.RosterSlotList'
        '400':
          description: Parsing errors or user errors.
        '401':
          description: Unauthorized.
        '404':
          description: Could not find Unit
      x-replacement-for:
      - /t/moves/roster_slots/on_call
    servers:
    - url: https://api-development.ons.io
  /v0/plannen_roosteren/teams/{team_id}/on_call_rosterslots:
    get:
      tags:
      - moves.RosterSlot
      summary: Return the on call roster slots of a Team on the specified date
      description: This endpoint is deprecated. Please use `GET /plannen_roosteren/roster_slots/on_call` endpoint instead.
      operationId: moves.RosterSlotAPI.onCallByTeamId
      parameters:
      - name: team_id
        in: path
        description: The {id} of the requested team
        required: true
        schema:
          type: integer
          format: int64
      - name: date
        in: query
        description: The requested date
        required: true
        schema:
          type: string
          format: date
      responses:
        '200':
          description: No response was specified
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/moves.list.RosterSlotList'
      deprecated: true
      x-deprecated-since: 02-09-2025
      x-replacement-for:
      - /t/teams/{team_id}/on_call_roster_slots
    servers:
    - url: https://api-development.ons.io
  /v0/plannen_roosteren/teams/{team_id}/rosterslots:
    get:
      tags:
      - moves.RosterSlot
      summary: Return the roster slots of a Team within the specified period.
      description: This endpoint is deprecated. Please use `GET /plannen_roosteren/roster_slots` endpoint instead.
      operationId: moves.RosterSlotAPI.byTeamId
      parameters:
      - name: team_id
        in: path
        description: The {id} of the requested team
        required: true
        schema:
          type: integer
          format: int64
      - name: from
        in: query
        description: The start date of the requested period
        required: true
        schema:
          type: string
          format: date
        x-original-parameter:
          name: valid_from
      - name: to
        in: query
        description: The end date of the requested period (exclusive)
        required: true
        schema:
          type: string
          format: date
        x-original-parameter:
          name: valid_to
      responses:
        '200':
          description: No response was specified
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/moves.list.RosterSlotList'
      deprecated: true
      x-deprecated-since: 02-09-2025
      x-replacement-for:
      - /t/teams/{team_id}/roster_slots
    servers:
    - url: https://api-development.ons.io
components:
  schemas:
    moves.Plancard:
      type: object
      properties:
        hourTypeId:
          type:
          - integer
          - 'null'
          format: int64
        hourTypeName:
          type:
          - string
          - 'null'
        hourTypeCode:
          type:
          - string
          - 'null'
        duration:
          type:
          - integer
          - 'null'
          description: Duration of this Plancard in seconds.
          format: int32
        note:
          type:
          - string
          - 'null'
          description: The note added to this Plancard in the planscreen.
        promisedStart:
          type:
          - string
          - 'null'
          description: The entered start time of this Plancard. This time is an intent, not a guarantee.
          format: date-time
        dayPart:
          type:
          - integer
          - 'null'
          description: 'Daypart on which this Plancard is defined in the care arrangement.


            <pre>

            1 - Morning

            2 - Afternoon

            3 - Evening

            0 - Night (Night-plancards generally occur after Evening-plancards for the same date)

            null - Incidentally added Plancard that is not linked to a care arrangement.

            </pre>'
          format: int32
        deleted:
          type:
          - boolean
          - 'null'
          description: Indicates if this Planccard has been incidentally deleted.
        cycleBase:
          type: string
          description: The date from which the recurrence pattern is calculated (usually a Sunday)
          format: date
        cycleInterval:
          type: integer
          description: The plancard occurs every N-days
          format: int32
        cycleOffset:
          type: integer
          description: The number of days from cycleBase the plancard occurs, effectively indicating a day of the week. Usually [0-6], 0 is Sunday
          format: int32
        originalCycleOffset:
          type: integer
          description: When the plancard was incidentally moved, this attribute holds the original value of cycleOffset.
          format: int32
        incidentallyChanged:
          type: boolean
          description: The information on this plancard is different from its regular/structural state.
        instanceOfType:
          type: string
          description: Either 'PatternRule' (a regular plancard created from the care arrangement) or 'EventRule' (a plancard that was incidentally added from the planscreen)
        instanceOfId:
          type: integer
          description: Reference to 'PatternRule'-record in case `instanceOfType` is `PatternRule`
          format: int32
        kind:
          type:
          - string
          - 'null'
          description: Unused
        exportable:
          type:
          - boolean
          - 'null'
          description: Indicates if this Plancard will be exported. Only available through specific APIs.
      description: '{@link PlannedVisit}s are the aggregation of a list of Plancards.'
      example:
        hourTypeId: 25
        hourTypeName: PV eten en drinken
        hourTypeCode: '31'
        duration: 600
        note: Les naïfs ægithales hâtifs pondant à Noël où il gèle sont sûrs d'être déçus en voyant leurs drôles d'œufs abîmés.
        promisedStart: '2010-03-15T00:00:00.000+01:00'
        dayPart: 1
        deleted: false
        cycleBase: '2021-06-24'
        cycleInterval: 7
        cycleOffset: 3
        originalCycleOffset: 5
        incidentallyChanged: false
        instanceOfType: PatternRule
        instanceOfId: 16
        kind: arrangement
        exportable: true
    moves.list.RosterSlotList:
      type: object
      properties:
        rosterSlots:
          type: array
          items:
            $ref: '#/components/schemas/moves.RosterSlot'
      description: RosterSlotList model (no description)
      example:
        rosterSlots:
        - id: 21@2014-04-11
          date: '2013-12-31'
          beginTime: '2013-12-31T22:00:00.000+01:00'
          endTime: '2013-12-31T23:00:00.000+01:00'
          note: Some note
          shiftId: 1@2014-03-28
          externalExpertiseProfileId: 1
          externalTeamId: 1
          authorizesForLocationId: 12
          shiftAssignments:
          - id: 1
            date: '1999-12-31'
            beginTime: '1999-12-31T22:00:00.000+01:00'
            endTime: '1999-12-31T23:00:00.000+01:00'
            externalExpertiseProfileId: 1
            expertiseProfileName: Verpleegkundige
            shiftId: 1@2014-03-28
            employeeId: 1
            employeeLeadingName: Jan Henk
            employeeName: Jan Henk Heilersig
            onCall: true
          - id: 2
            date: '1999-12-31'
            beginTime: '1999-12-31T22:00:00.000+01:00'
            endTime: '1999-12-31T23:00:00.000+01:00'
            externalExpertiseProfileId: 1
            expertiseProfileName: Verpleegkundige
            shiftId: 1@2014-03-28
            employeeId: 2
            employeeLeadingName: Selvi
            employeeName: Selvi Ratnasingam
            onCall: false
          flexRequests:
          - id: 1
            date: '2025-01-15'
            shiftTimelineId: 123
            shiftId: 123@2024-03-28
            order: 0
            rosterTeamId: 8
            rosterUnitId: 15
            requestingTeamId: 8
            flexTeamId: 432
            flexUnitId: 10
            startTime: '2024-01-15T08:00:00.000+01:00'
            endTime: '2024-01-15T16:00:00.000+01:00'
            breakStartTime: '2024-01-15T12:00:00.000+01:00'
            breakEndTime: '2024-01-15T12:30:00.000+01:00'
            externalExpertiseProfileId: 10
            expertiseProfileName: Expertise Profile Name
            requestedAt: '2024-01-10T14:30:00.000+01:00'
            flexSignups:
            - id: 1
              shiftId: 123@2025-01-15
              date: '2025-01-15'
              employeeId: 1
              employeeLeadingName: Pieter
              employeeName: Pieter Bos
              suggested: false
              struckOut: false
              signedUpAt: '2025-01-15T00:00:00.000+01:00'
          flexSignups:
          - id: 1
            shiftId: 123@2025-01-15
            date: '2025-01-15'
            employeeId: 1
            employeeLeadingName: Pieter
            employeeName: Pieter Bos
            suggested: false
            struckOut: false
            signedUpAt: '2025-01-15T00:00:00.000+01:00'
          plannedVisits:
          - date: '2013-12-06'
            calculatedStart: '2013-12-06T12:51:00.000+01:00'
            totalDuration: -1386330660
            travelTimeBefore: 3600
            gapTimeBefore: 0
            notes: []
            plancards: []
            shiftTimelineId: 6
            shiftName: Middag De Terp PV
            shiftCode: MDT
            teamId: 328
            teamUuid: 8978eec1-55c8-4c2f-bf63-4d9ae599263c
            unitId: 1090
            teamName: V&V De Terp
            teamCode: '1410'
            teamBlockplanned: false
            authorizesForLocationId: 12
            clientId: 14947
            clientUuid: 3c18790a-145a-4281-b5bd-0d7e0013ce5d
            clientCode: '05645'
            clientName: A Radstaak - de Doring
            clientGender: F
            clientIsDummy: false
            clientBirthDate: '1932-05-23'
            employeeId: 1
            employeeUuid: '1234567890'
            employeeCode: code
            employeeName: employee
            employeeGender: m
            employeeIsDummy: true
    moves.LocationAuthorization:
      type: object
      properties:
        locationId:
          type:
          - integer
          - 'null'
          description: 'The location this LocationAuthorization grants access to.

            Reference to Cupido::Location.'
          format: int64
      description: LocationAuthorization model (no description)
      example:
        locationId: 1
    moves.FlexRequest:
      type: object
      properties:
        id:
          type: integer
          format: int64
          x-cupido-id: true
        date:
          type: string
          format: date
        shiftTimelineId:
          type: integer
          format: int64
        shiftId:
          type: string
        order:
          type: integer
          format: int64
        rosterTeamId:
          type: integer
          format: int64
        rosterUnitId:
          type: integer
          format: int64
        requestingTeamId:
          type: integer
          format: int64
        flexTeamId:
          type: integer
          format: int64
        flexUnitId:
          type: integer
          format: int64
        startTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
        breakStartTime:
          type: string
          format: date-time
        breakEndTime:
          type: string
          format: date-time
        externalExpertiseProfileId:
          type: integer
          format: int64
        expertiseProfileName:
          type: string
        requestedAt:
          type: string
          format: date-time
        flexSignups:
          type: array
          items:
            $ref: '#/components/schemas/moves.FlexSignup'
      description: FlexRequest model (no description)
      example:
        id: 1
        date: '2025-01-15'
        shiftTimelineId: 123
        shiftId: 123@2025-01-15
        order: 0
        rosterTeamId: 8
        rosterUnitId: 15
        requestingTeamId: 8
        flexTeamId: 432
        flexUnitId: 10
        startTime: '2025-01-15T08:00:00.000+01:00'
        endTime: '2025-01-15T16:00:00.000+01:00'
        breakStartTime: '2025-01-15T12:00:00.000+01:00'
        breakEndTime: '2025-01-15T12:30:00.000+01:00'
        externalExpertiseProfileId: 10
        expertiseProfileName: Verpleegkundige
        requestedAt: '2025-01-01T14:30:00.000+01:00'
        flexSignups:
        - id: 1
          shiftId: 123@2025-01-15
          date: '2025-01-15'
          employeeId: 1
          employeeLeadingName: Jan Henk
          employeeName: Jan Henk Heilersig
          suggested: false
          struckOut: false
          signedUpAt: '2025-01-01T00:00:00.000+01:00'
    moves.RosterSlot:
      type: object
      properties:
        id:
          type: string
          x-cupido-id: true
        date:
          type: string
          format: date
        beginTime:
          type: string
          description: 'Regular begin time of the Shift.

            The date component of this field is always the same as the date of this RosterSlot.'
          format: date-time
        beginBreakTime:
          type: string
          description: 'Regular begin time of the break in this Shift (if any).

            Can be after midnight, relative to the date of this RosterSlot.'
          format: date-time
        endBreakTime:
          type: string
          description: 'Regular end time of the break in this Shift (if any).

            Can be after midnight, relative to the date of this RosterSlot.'
          format: date-time
        endTime:
          type: string
          description: 'Regular end time of this Shift.

            Can be after midnight, relative to the date of this RosterSlot.'
          format: date-time
        note:
          type: string
        code:
          type: string
          description: 'The code of the Shift.

            Usually a shortend version of the description.'
        description:
          type: string
          description: The description of the Shift.
        transportationMethodName:
          type: string
          description: Name of the transportation method of the Shift.
        transportationMethodImage:
          type: string
          description: 'Image of the transportation method of the Shift.


            Possible values:

            <pre>

            car

            person

            bike

            moped

            train

            bus

            unknown

            </pre>'
        expertiseProfileName:
          type: string
          description: Name of expertise required for this RosterSlot.
        teamName:
          type: string
          description: Name of the team this RosterSlot belongs to.
        shiftId:
          type: string
        externalExpertiseProfileId:
          type: integer
          description: Id of the related expertise profile in OA
          format: int64
        externalTeamId:
          type: integer
          description: Id of the related team in OA
          format: int64
        authorizesForLocationId:
          type: integer
          description: 'Being assigned as Employee for the Team or Shift

            implies authorization for this Location.'
          format: int64
          deprecated: true
        locationAuthorizations:
          type: array
          items:
            $ref: '#/components/schemas/moves.LocationAuthorization'
          description: 'Being assigned as Employee for the Team or Shift

            implies authorization for these Locations.'
        shiftAssignments:
          type: array
          items:
            $ref: '#/components/schemas/moves.ShiftAssignment'
        flexRequests:
          type: array
          items:
            $ref: '#/components/schemas/moves.FlexRequest'
        flexSignups:
          type: array
          items:
            $ref: '#/components/schemas/moves.FlexSignup'
        plannedVisits:
          type: array
          items:
            $ref: '#/components/schemas/moves.PlannedVisit'
          description: The PlannedVisits that are planned to this RosterSlot.
      description: 'A RosterSlot that has been assigned to the Employee,

        or that the Employee has signed-up for.


        Note 1:  When rosterSlot is set, unavailabilityOccurrence, directlyPlannedVisits, availabilityOccurrence and leaveRequestOccurrence are all null.

        Note 2:  When multiple Employees are assigned to this RosterSlot, a ShiftAssignment will be included for each one of them.'
      example:
        id: 21@2014-04-11
        date: '2013-12-31'
        beginTime: '2013-12-31T22:00:0

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/nedap/refs/heads/main/openapi/nedap-moves-rosterslot-api-openapi.yml