---
openapi: 3.1.0
components:
  schemas:
    AbsenceConfirmationDto:
      type: object
      properties:
        status:
          $ref: "#/components/schemas/DecisionStatus"
        reason:
          type: string
    AbsenceCreateDto:
      type: object
      properties:
        from:
          $ref: "#/components/schemas/LocalDate"
        to:
          $ref: "#/components/schemas/LocalDate"
        absInMinutes:
          type: integer
          format: int32
        presenceAbsenceTypeUuid:
          $ref: "#/components/schemas/UUID"
        timeclassUuid:
          $ref: "#/components/schemas/UUID"
        text:
          type: string
          maxLength: 255
    AbsenceReversalDto:
      type: object
      properties:
        text:
          type: string
    ActivityType:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int64
        uuid:
          $ref: "#/components/schemas/UUID"
        externalId:
          type: string
        label:
          type: string
        statistical:
          type: boolean
    ActivityType2CostcenterDto:
      type: object
      properties:
        activityType:
          $ref: "#/components/schemas/ActivityTypeExtendedDto"
        costcenter:
          $ref: "#/components/schemas/CostcenterDto"
        hidden:
          type: boolean
    ActivityType2CostcenterEditDto:
      type: object
      properties:
        activityTypeUuid:
          $ref: "#/components/schemas/UUID"
        costcenterUuid:
          $ref: "#/components/schemas/UUID"
        hidden:
          type: boolean
    ActivityTypeDto:
      type: object
      properties:
        uuid:
          $ref: "#/components/schemas/UUID"
        label:
          type: string
    ActivityTypeExtendedDto:
      type: object
      properties:
        uuid:
          $ref: "#/components/schemas/UUID"
        label:
          type: string
        isBlunder:
          type: boolean
        process:
          $ref: "#/components/schemas/ProcessBlunderDto"
        responsible:
          $ref: "#/components/schemas/ResponsibleBlunderDto"
        blunder:
          type: boolean
    AutomaticWorktimeCreateOrEditDto:
      type: object
      required:
      - timeclassUuid
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        userUuid:
          $ref: "#/components/schemas/UUID"
        timeclassUuid:
          $ref: "#/components/schemas/UUID"
        presenceAbsenceTypeUuid:
          $ref: "#/components/schemas/UUID"
        weekDay:
          type: integer
          format: int32
        start:
          $ref: "#/components/schemas/TimeValue"
        end:
          $ref: "#/components/schemas/TimeValue"
        automaticWorktimeId:
          type: integer
          format: int64
        automaticWorktimeUuid:
          $ref: "#/components/schemas/UUID"
        comment:
          type: string
        duration:
          $ref: "#/components/schemas/DurationValue"
    AutomaticWorktimeStatus:
      type: string
      enum:
      - DEFAULT_TRUE
      - DEFAULT_FALSE
      - FORBIDDEN
    BalanceCorrectionDto:
      type: object
      required:
      - user
      - date
      properties:
        user:
          $ref: "#/components/schemas/UUID"
        date:
          $ref: "#/components/schemas/LocalDate"
        correction:
          type: integer
          format: int32
        comment:
          type: string
    CompanyCode:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int64
        uuid:
          $ref: "#/components/schemas/UUID"
        externalId:
          type: string
        description:
          type: string
    CompanyCodeDto:
      type: object
      properties:
        uuid:
          $ref: "#/components/schemas/UUID"
        externalId:
          type: string
        description:
          type: string
    Costcenter:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int64
        uuid:
          $ref: "#/components/schemas/UUID"
        companyCode:
          $ref: "#/components/schemas/CompanyCode"
        externalId:
          type: string
        label:
          type: string
    CostcenterDto:
      type: object
      properties:
        uuid:
          $ref: "#/components/schemas/UUID"
        externalId:
          type: string
        label:
          type: string
        companyCode:
          $ref: "#/components/schemas/CompanyCodeDto"
    CustomerReportConfiguration:
      type: object
      properties:
        from:
          $ref: "#/components/schemas/LocalDate"
        to:
          $ref: "#/components/schemas/LocalDate"
        order:
          type: string
        userUuid:
          $ref: "#/components/schemas/UUID"
        orderText:
          type: string
        customerText:
          type: string
        withActivityTypes:
          type: boolean
        locale:
          type: string
    DecisionStatus:
      type: string
      enum:
      - ACCEPTED
      - DECLINED
    DurationValue:
      type: string
    EmployeeGroup:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int64
        group:
          type: string
        subgroup:
          type: string
        text:
          type: string
        display:
          type: string
        noFlexitime:
          type: boolean
        expToHr:
          type: boolean
        defaultWp:
          $ref: "#/components/schemas/WorkingProfile"
        automaticWkt:
          $ref: "#/components/schemas/AutomaticWorktimeStatus"
        recordType:
          type: integer
          format: int32
    Flextime:
      type: object
      properties:
        date:
          $ref: "#/components/schemas/LocalDate"
        userId:
          type: integer
          format: int16
        userUuid:
          $ref: "#/components/schemas/UUID"
        deviation:
          type: integer
        sum:
          type: integer
    GlobalActivityTypeEditDto:
      type: object
      properties:
        activityType2CostcenterEditDto:
          $ref: "#/components/schemas/ActivityType2CostcenterEditDto"
        organisationUuid:
          $ref: "#/components/schemas/UUID"
        priceDto:
          $ref: "#/components/schemas/PriceDto"
    HolidayCreateDto:
      type: object
      properties:
        flexible:
          type: boolean
        date:
          $ref: "#/components/schemas/LocalDate"
        titles:
          type: array
          minItems: 1
          items:
            $ref: "#/components/schemas/Title"
    HolidayEditDto:
      type: object
      properties:
        flexible:
          type: boolean
        date:
          $ref: "#/components/schemas/LocalDate"
        titles:
          type: array
          minItems: 1
          items:
            $ref: "#/components/schemas/Title"
        calendarId:
          $ref: "#/components/schemas/UUID"
    HolidayLocationDto:
      type: object
      required:
      - holidayId
      - locationId
      - validFrom
      - validTo
      properties:
        holidayId:
          $ref: "#/components/schemas/UUID"
        locationId:
          $ref: "#/components/schemas/UUID"
        validFrom:
          $ref: "#/components/schemas/LocalDate"
        validTo:
          $ref: "#/components/schemas/LocalDate"
        percent:
          type: integer
          format: int32
          maximum: 100
          minimum: 0
        byLaw:
          type: boolean
        uuid:
          $ref: "#/components/schemas/UUID"
        flexible:
          type: boolean
        titles:
          type: array
          items:
            $ref: "#/components/schemas/Title"
    HolidayLocationEditDto:
      type: object
      required:
      - holidayId
      - locationId
      - validFrom
      - validTo
      properties:
        holidayId:
          $ref: "#/components/schemas/UUID"
        locationId:
          $ref: "#/components/schemas/UUID"
        validFrom:
          $ref: "#/components/schemas/LocalDate"
        validTo:
          $ref: "#/components/schemas/LocalDate"
        percent:
          type: integer
          format: int32
          maximum: 100
          minimum: 0
        byLaw:
          type: boolean
    Language:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: string
        text:
          type: string
        available:
          type: boolean
        availableForReports:
          type: boolean
        weight:
          type: integer
          format: int32
        lastTextChanges:
          $ref: "#/components/schemas/LocalDateTime"
    Layout:
      type: string
      enum:
      - INFO
      - WARNING
      - URGENT
    LinkCreateDto:
      type: object
      properties:
        texts:
          type: array
          minItems: 1
          items:
            $ref: "#/components/schemas/LinkTextDto"
    LinkEditDto:
      type: object
      properties:
        texts:
          type: array
          minItems: 1
          items:
            $ref: "#/components/schemas/LinkTextDto"
        order:
          type: integer
          format: int64
    LinkTextDto:
      type: object
      required:
      - text
      - lang
      - url
      properties:
        text:
          type: string
        lang:
          type: string
        url:
          type: string
    LocalDate:
      type: string
      format: date
      examples:
      - 2022-03-10
    LocalDateTime:
      type: string
      format: date-time
      examples:
      - 2022-03-10T12:15:50
    Location:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int64
        uuid:
          $ref: "#/components/schemas/UUID"
        extId:
          type: string
        texts:
          type: array
          items:
            $ref: "#/components/schemas/LocationText"
    LocationEditDto:
      type: object
      required:
      - extId
      properties:
        extId:
          type: string
        titles:
          type: array
          minItems: 1
          items:
            $ref: "#/components/schemas/Title"
    LocationHolidayEditDto:
      type: object
      required:
      - holidayId
      - locationId
      - validFrom
      - validTo
      properties:
        holidayId:
          $ref: "#/components/schemas/UUID"
        locationId:
          $ref: "#/components/schemas/UUID"
        validFrom:
          $ref: "#/components/schemas/LocalDate"
        validTo:
          $ref: "#/components/schemas/LocalDate"
        percent:
          type: integer
          format: int32
          maximum: 100
          minimum: 0
        byLaw:
          type: boolean
    LocationText:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int64
        language:
          $ref: "#/components/schemas/Language"
        text:
          type: string
        locations:
          $ref: "#/components/schemas/Location"
    MassMutationDto:
      type: object
      properties:
        users:
          type: array
          items:
            $ref: "#/components/schemas/UserDto"
        act:
          type: array
          items:
            $ref: "#/components/schemas/ActivityTypeDto"
    MessageCreateDto:
      type: object
      required:
      - layout
      - start
      - end
      properties:
        layout:
          $ref: "#/components/schemas/Layout"
        title:
          type: string
          maxLength: 100
        text:
          type: string
          maxLength: 2000
        start:
          $ref: "#/components/schemas/LocalDateTime"
        end:
          $ref: "#/components/schemas/LocalDateTime"
        acceptedUntil:
          $ref: "#/components/schemas/LocalDateTime"
        messageUrl:
          type: string
          maxLength: 255
    NFCTagCreateOrEditDto:
      type: object
      properties:
        nfcTagId:
          type: string
    NormalHourDto:
      type: object
      properties:
        date:
          $ref: "#/components/schemas/LocalDate"
        duration:
          type: integer
          format: int32
        userUuid:
          $ref: "#/components/schemas/UUID"
        uuid:
          $ref: "#/components/schemas/UUID"
        absence:
          type: boolean
    NoteDto:
      type: object
      properties:
        note:
          type: string
    Organisation:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int32
        uuid:
          $ref: "#/components/schemas/UUID"
        externalId:
          type: string
        roleRequestLocked:
          type: boolean
        units:
          type: array
          uniqueItems: true
          items:
            $ref: "#/components/schemas/OrganisationUnit"
    OrganisationDto:
      type: object
      properties:
        uuid:
          $ref: "#/components/schemas/UUID"
        externalId:
          type: string
        roleRequestLocked:
          type: boolean
        from:
          $ref: "#/components/schemas/LocalDate"
        to:
          $ref: "#/components/schemas/LocalDate"
    OrganisationUnit:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int32
        uuid:
          $ref: "#/components/schemas/UUID"
        organisation:
          $ref: "#/components/schemas/Organisation"
        acronym:
          type: string
        text:
          type: string
        validFrom:
          $ref: "#/components/schemas/LocalDate"
        validTo:
          $ref: "#/components/schemas/LocalDate"
    OrganisationUnitDto:
      type: object
      properties:
        uuid:
          $ref: "#/components/schemas/UUID"
        acronym:
          type: string
        text:
          type: string
        validFrom:
          $ref: "#/components/schemas/LocalDate"
        validTo:
          $ref: "#/components/schemas/LocalDate"
        organisation:
          $ref: "#/components/schemas/OrganisationDto"
    OrganisationWithOrgUnitsDto:
      type: object
      properties:
        uuid:
          $ref: "#/components/schemas/UUID"
        externalId:
          type: string
        roleRequestLocked:
          type: boolean
        from:
          $ref: "#/components/schemas/LocalDate"
        to:
          $ref: "#/components/schemas/LocalDate"
        units:
          type: array
          items:
            $ref: "#/components/schemas/OrganisationUnitDto"
    PaymentCreateEditDto:
      type: object
      properties:
        timeclassUuid:
          $ref: "#/components/schemas/UUID"
        dateOfOrigin:
          $ref: "#/components/schemas/LocalDate"
        minutes:
          type: integer
          format: int32
    PeriodDto:
      type: object
      properties:
        uuid:
          $ref: "#/components/schemas/UUID"
        period:
          $ref: "#/components/schemas/LocalDate"
        start:
          $ref: "#/components/schemas/LocalDate"
        end:
          $ref: "#/components/schemas/LocalDate"
        bookingDate:
          $ref: "#/components/schemas/LocalDate"
        booked:
          $ref: "#/components/schemas/LocalDateTime"
    PresenceAbsenceType:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int32
        uuid:
          $ref: "#/components/schemas/UUID"
        texts:
          type: array
          items:
            $ref: "#/components/schemas/PresenceAbsenceTypeText"
        isAbsence:
          type: boolean
        commentMandatory:
          type: integer
          format: int16
        recordingMode:
          type: integer
          format: int16
        order:
          type: integer
          format: int16
        allowMore:
          type: boolean
        maxDaysWithoutWarn:
          type: integer
          format: int32
        icon:
          type: string
        compensation:
          type: boolean
        allowMoreThanEntitlement:
          type: boolean
        color:
          type: string
        constantAdjustmentMinutes:
          type: integer
          format: int32
    PresenceAbsenceTypeDto:
      type: object
      properties:
        uuid:
          $ref: "#/components/schemas/UUID"
        isAbsence:
          type: boolean
        commentMandatory:
          type: integer
          format: int16
        recordingMode:
          type: integer
          format: int16
        order:
          type: integer
          format: int16
        icon:
          type: string
        allowMoreThanTargetHours:
          type: boolean
        allowMoreThanEntitlement:
          type: boolean
        maxDaysWithoutWarn:
          type: integer
          format: int32
        compensation:
          type: boolean
        color:
          type: string
        texts:
          type: array
          minItems: 1
          items:
            $ref: "#/components/schemas/PresenceAbsenceTypeTextDto"
        absence:
          type: boolean
    PresenceAbsenceTypeText:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int32
        language:
          $ref: "#/components/schemas/Language"
        text:
          type: string
        description:
          type: string
        acronym:
          type: string
        infoWorkflow1:
          type: string
        infoWorkflow2:
          type: string
        infoUrl:
          type: string
    PresenceAbsenceTypeTextDto:
      type: object
      required:
      - text
      - lang
      properties:
        text:
          type: string
        lang:
          type: string
        acronym:
          type: string
        infoWorkflow1:
          type: string
        infoWorkflow2:
          type: string
        infoUrl:
          type: string
        description:
          type: string
    PriceDto:
      type: object
      properties:
        validFrom:
          $ref: "#/components/schemas/LocalDate"
        validTo:
          $ref: "#/components/schemas/LocalDate"
        rate:
          type: integer
          format: int64
    ProcessBlunderDto:
      type: object
      properties:
        texts:
          type: array
          minItems: 1
          items:
            $ref: "#/components/schemas/ProcessBlunderTextDto"
    ProcessBlunderTextDto:
      type: object
      required:
      - text
      - lang
      properties:
        text:
          type: string
        lang:
          type: string
    ProductivityCopyDto:
      type: object
      properties:
        sourceDate:
          $ref: "#/components/schemas/LocalDate"
        sourcePeriodUuid:
          $ref: "#/components/schemas/UUID"
        targetDate:
          $ref: "#/components/schemas/LocalDate"
    ProductivityCreateDto:
      type: object
      properties:
        date:
          $ref: "#/components/schemas/LocalDate"
        minutes:
          $ref: "#/components/schemas/DurationValue"
        comment:
          type: string
        order:
          type: string
        costcenter:
          type: string
        dischargeCostcenter:
          type: string
        activityTypeUuid:
          $ref: "#/components/schemas/UUID"
    ProductivityEditDto:
      type: object
      properties:
        date:
          $ref: "#/components/schemas/LocalDate"
        minutes:
          $ref: "#/components/schemas/DurationValue"
        comment:
          type: string
        order:
          type: string
        costcenter:
          type: string
        dischargeCostcenter:
          type: string
        activityTypeUuid:
          $ref: "#/components/schemas/UUID"
    ProductivityFavoriteCreateDto:
      type: object
      properties:
        minute:
          $ref: "#/components/schemas/DurationValue"
        orderUuid:
          $ref: "#/components/schemas/UUID"
        costcenterUuid:
          $ref: "#/components/schemas/UUID"
        activityType2Costcenter:
          $ref: "#/components/schemas/ActivityType2CostcenterDto"
        costcenterDischargeUuid:
          $ref: "#/components/schemas/UUID"
        comment:
          type: string
        withPrdfComment:
          type: boolean
        withCostcenter:
          type: boolean
    Quota:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int32
        uuid:
          $ref: "#/components/schemas/UUID"
        from:
          $ref: "#/components/schemas/LocalDate"
        to:
          $ref: "#/components/schemas/LocalDate"
        quotaInMinutes:
          type: integer
          format: int32
        permanentlyGranted:
          type: boolean
        timeclass:
          $ref: "#/components/schemas/Timeclass"
        user:
          $ref: "#/components/schemas/User"
    QuotaCreateDto:
      type: object
      properties:
        usersUuid:
          type: array
          items:
            type: string
            format: uuid
            pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
        timeclassUuid:
          $ref: "#/components/schemas/UUID"
        from:
          $ref: "#/components/schemas/LocalDate"
        to:
          $ref: "#/components/schemas/LocalDate"
        quotaInMinutes:
          type: integer
          format: int32
        permanentlyGranted:
          type: boolean
    QuotaEditDto:
      type: object
      properties:
        timeclassUuid:
          $ref: "#/components/schemas/UUID"
        from:
          $ref: "#/components/schemas/LocalDate"
        to:
          $ref: "#/components/schemas/LocalDate"
        quotaInMinutes:
          type: integer
          format: int32
        permanentlyGranted:
          type: boolean
    ReducedViewSettingDto:
      type: object
      properties:
        size:
          type: string
        componentKey:
          type: string
        value:
          type: string
    ResponsibleBlunderDto:
      type: object
      properties:
        texts:
          type: array
          minItems: 1
          items:
            $ref: "#/components/schemas/ResponsibleBlunderTextDto"
    ResponsibleBlunderTextDto:
      type: object
      required:
      - text
      - lang
      properties:
        text:
          type: string
        lang:
          type: string
    RoleFilterEnum:
      type: string
      enum:
      - REQUESTABLE
      - GRANTABLE
    RoleRequestCreateDto:
      type: object
      required:
      - note
      properties:
        roleUuid:
          $ref: "#/components/schemas/UUID"
        orgUuid:
          $ref: "#/components/schemas/UUID"
        cocoUuid:
          $ref: "#/components/schemas/UUID"
        note:
          type: string
          maxLength: 255
          pattern: \S
    SettingEditDto:
      type: object
      required:
      - key
      properties:
        key:
          type: string
          pattern: "[a-zA-Z.]*"
        value:
          type: string
        description:
          type: string
    SortOrder:
      type: string
      enum:
      - ASC
      - DESC
    TargetHourDto:
      type: object
      properties:
        date:
          $ref: "#/components/schemas/LocalDate"
        userUuid:
          $ref: "#/components/schemas/UUID"
        targetHourInMinuutes:
          type: integer
          format: int16
        holidayLocation:
          $ref: "#/components/schemas/HolidayLocationDto"
        weekday:
          type: integer
          format: int16
    TeamEditDto:
      type: object
      properties:
        id:
          type: integer
          format: int16
        uuid:
          $ref: "#/components/schemas/UUID"
        label:
          type: string
        userUuids:
          type: array
          items:
            type: string
            format: uuid
            pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
        organisationUuids:
          type: array
          items:
            type: string
            format: uuid
            pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
    TimeValue:
      type: string
    Timeclass:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int16
        uuid:
          $ref: "#/components/schemas/UUID"
        type:
          type: integer
          format: int32
        timeclassCode:
          type: number
          format: float
        bookableOvertime:
          type: boolean
        quotaFrom:
          $ref: "#/components/schemas/LocalDate"
        quotaTo:
          $ref: "#/components/schemas/LocalDate"
        isNormalHour:
          type: boolean
        validFrom:
          $ref: "#/components/schemas/LocalDate"
        validTo:
          $ref: "#/components/schemas/LocalDate"
        constantDailyAdjustmentMinutes:
          type: integer
          format: int32
        order:
          type: integer
          format: int16
        users:
          type: array
          uniqueItems: true
          items:
            $ref: "#/components/schemas/User"
        items:
          type: array
          uniqueItems: true
          items:
            $ref: "#/components/schemas/WorkingProfileItem"
        configurations:
          type: array
          uniqueItems: true
          items:
            $ref: "#/components/schemas/WorkingProfile2Timeclass"
        timeclassTexts:
          type: array
          uniqueItems: true
          items:
            $ref: "#/components/schemas/TimeclassText"
        quotas:
          type: array
          uniqueItems: true
          items:
            $ref: "#/components/schemas/Quota"
        color:
          type: string
        normalHour:
          type: boolean
    Timeclass2UserDto:
      type: object
      properties:
        userUuids:
          type: array
          items:
            type: string
            format: uuid
            pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
        tclUuids:
          type: array
          items:
            type: string
            format: uuid
            pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
    TimeclassFilter:
      type: string
      enum:
      - WORKTIME
      - ABSENCE
      - PAYMENT
    TimeclassText:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int64
        timeclass:
          $ref: "#/components/schemas/Timeclass"
        language:
          $ref: "#/components/schemas/Language"
        text:
          type: string
    TimestampToggleRequest:
      type: object
      required:
      - user
      properties:
        user:
          type: string
    Title:
      type: object
      required:
      - text
      - lang
      properties:
        text:
          type: string
        lang:
          type: string
    UUID:
      type: string
      format: uuid
      pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
    User:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int16
        uuid:
          $ref: "#/components/schemas/UUID"
        language:
          $ref: "#/components/schemas/Language"
        personnelNumber:
          type: string
        externalId:
          type: string
        externalId2:
          type: string
        idpUserId:
          type: string
        birthday:
          $ref: "#/components/schemas/LocalDate"
        userSetting:
          $ref: "#/components/schemas/UserSetting"
        timeclasses:
          type: array
          uniqueItems: true
          items:
            $ref: "#/components/schemas/Timeclass"
        data:
          type: array
          uniqueItems: true
          items:
            $ref: "#/components/schemas/UserData"
    User2RoleRequestAcceptDto:
      type: object
      required:
      - note
      properties:
        validFrom:
          $ref: "#/components/schemas/LocalDate"
        validTo:
          $ref: "#/components/schemas/LocalDate"
        note:
          type: string
          maxLength: 255
          pattern: \S
    User2RoleUpdateDto:
      type: object
      required:
      - validFrom
      - validTo
      properties:
        user2roleUuid:
          $ref: "#/components/schemas/UUID"
        orgUuid:
          $ref: "#/components/schemas/UUID"
        cocoUuid:
          $ref: "#/components/schemas/UUID"
        roleUuid:
          $ref: "#/components/schemas/UUID"
        validFrom:
          $ref: "#/components/schemas/LocalDate"
        validTo:
          $ref: "#/components/schemas/LocalDate"
        requestNote:
          type: string
          maxLength: 255
        approvedNote:
          type: string
          maxLength: 255
        note:
          type: string
          maxLength: 255
    UserCostcenterDetailsDto:
      type: object
      properties:
        userUuid:
          $ref: "#/components/schemas/UUID"
        costcenterUuid:
          $ref: "#/components/schemas/UUID"
        id:
          type: integer
          format: int64
        externalId:
          type: string
        user2ccId:
          type: integer
          format: int64
        choosen:
          type: integer
          format: int32
        isPrincipalCostcenter:
          type: integer
          format: int32
    UserData:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int64
        user:
          $ref: "#/components/schemas/User"
        organisation:
          $ref: "#/components/schemas/Organisation"
        weeklyWorkingHours:
          $ref: "#/components/schemas/WeeklyWorkingHours"
        location:
          $ref: "#/components/schemas/Location"
        costcenter:
          $ref: "#/components/schemas/Costcenter"
        companyCode:
          $ref: "#/components/schemas/CompanyCode"
        employeeGroup:
          $ref: "#/components/schemas/EmployeeGroup"
        employmentLevel:
          type: number
          format: float
        validFrom:
          $ref: "#/components/schemas/LocalDate"
        validTo:
          $ref: "#/components/schemas/LocalDate"
        firstname:
          type: string
        lastname:
          type: string
        email:
          type: string
        gid:
          type: string
        dayDuration:
          type: integer
          format: int32
        displayName:
          type: string
    UserDataDto:
      type: object
      properties:
        id:
          type: integer
          format: int64
        validFrom:
          $ref: "#/components/schemas/LocalDate"
        validTo:
          $ref: "#/components/schemas/LocalDate"
        email:
          type: string
        firstname:
          type: string
        lastname:
          type: string
        employmentLevel:
          type: number
          format: float
        costcenter:
          $ref: "#/components/schemas/CostcenterDto"
        organisation:
          $ref: "#/components/schemas/OrganisationWithOrgUnitsDto"
        dayDuration:
          type: integer
          format: int32
        gid:
          type: string
    UserDto:
      type: object
      properties:
        uuid:
          $ref: "#/components/schemas/UUID"
        idpUserId:
          type: string
        personnelNumber:
          type: string
        sapOs:
          type: string
        languageId:
          type: string
        birthday:
          $ref: "#/components/schemas/LocalDate"
        data:
          type: array
          items:
            $ref: "#/components/schemas/UserDataDto"
        setting:
          $ref: "#/components/schemas/UserSettingDto"
    UserNotificationEditDto:
      type: object
      properties:
        enabled:
          type: boolean
    UserProfile:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int64
        uuid:
          $ref: "#/components/schemas/UUID"
        validTo:
          $ref: "#/components/schemas/LocalDate"
        validFrom:
          $ref: "#/components/schemas/LocalDate"
        performanceFactor:
          type: number
          format: double
        user:
          $ref: "#/components/schemas/User"
        activityType:
          $ref: "#/components/schemas/ActivityType"
        workingProfile:
          $ref: "#/components/schemas/WorkingProfile"
        recordingType:
          type: integer
          format: int32
        flextime:
          type: boolean
        submitAllowed:
          type: boolean
        commentMandatory:
          type: boolean
        interfaceCode:
          type: integer
          format: int32
        automaticWkt:
          type: boolean
    UserProfileCreateEditDto:
      type: object
      properties:
        validFrom:
          $ref: "#/components/schemas/LocalDate"
        validTo:
          $ref: "#/components/schemas/LocalDate"
        performanceFactor:
          type: number
          format: double
        activityType:
          $ref: "#/components/schemas/ActivityTypeDto"
        workingProfile:
          $ref: "#/components/schemas/WorkingProfileDto"
        recordingType:
          type: integer
          format: int32
        flextime:
          type: boolean
        submitAllowed:
          type: boolean
        commentMandatory:
          type: boolean
        changeable:
          type: boolean
        interfaceCode:
          type: integer
          format: int32
        automaticWkt:
          type: boolean
    UserSetting:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int16
        user:
          $ref: "#/components/schemas/User"
        showWorkingHours:
          type: boolean
        showProductivity:
          type: boolean
        presenceAbsenceType:
          $ref: "#/components/schemas/PresenceAbsenceType"
        showSdAttributes:
          type: integer
          format: int16
        moiKey:
          type: string
        serviceBookingImportWorktimes:
          type: boolean
        serviceBookingWorktimeCommentType:
          type: integer
          format: int32
        automaticWorktime:
          type: boolean
        showProducitivity:
          type: boolean
    UserSettingDto:
      type: object
      properties:
        showWorkingHours:
          type: boolean
        showProductivity:
          type: boolean
        automaticWorktime:
          type: boolean
        presenceAbsenceType:
          $ref: "#/components/schemas/PresenceAbsenceTypeDto"
        showSdAttributes:
          type: integer
          format: int16
        moiKey:
          type: string
        serviceBookingImportWorktimes:
          type: boolean
        serviceBookingWorktimeCommentType:
          type: integer
          format: int32
    UserSettingPatchDto:
      type: object
      properties:
        showWorkingHours:
          type:
          - boolean
          - "null"
        showProductivity:
          type:
          - boolean
          - "null"
        automaticWorktime:
          type:
          - boolean
          - "null"
        presenceAbsenceTypeUuid:
          anyOf:
          - $ref: "#/components/schemas/UUID"
          - type: "null"
        showSdAttributes:
          type:
          - integer
          - "null"
          format: int16
        moiKey:
          type:
          - string
          - "null"
        serviceBookingImportWorktimes:
          type:
          - boolean
          - "null"
        serviceBookingWorktimeCommentType:
          type:
          - integer
          - "null"
          format: int32
    UserSupporterDto:
      type: object
      properties:
        uuid:
          $ref: "#/components/schemas/UUID"
        firstname:
          type: string
        lastname:
          type: string
        organisation:
          $ref: "#/components/schemas/OrganisationWithOrgUnitsDto"
    UserUpdateLanguageDto:
      type: object
      properties:
        languageId:
          type: string
    WeeklyWorkingHours:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int64
        uuid:
          $ref: "#/components/schemas/UUID"
        label:
          type: string
        minutes:
          type: integer
          format: int32
    WorkflowValidateDto:
      type: object
      properties:
        validate:
          type: boolean
    WorkingProfile:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int16
        uuid:
          $ref: "#/components/schemas/UUID"
        maxWeeklyWorktime:
          type: integer
          format: int32
        regularWeeklyWorktime:
          type: integer
          format: int32
        implementationType:
          type: integer
          format: int16
        order:
          type: integer
          format: int16
        noChangeInPeriod:
          type: boolean
        userProfiles:
          type: array
          items:
            $ref: "#/components/schemas/UserProfile"
        workingProfile2Timeclasses:
          type: array
          items:
            $ref: "#/components/schemas/WorkingProfile2Timeclass"
        texts:
          type: array
          items:
            $ref: "#/components/schemas/WorkingProfileText"
    WorkingProfile2Timeclass:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int16
        workingProfile:
          $ref: "#/components/schemas/WorkingProfile"
        timeclass:
          $ref: "#/components/schemas/Timeclass"
        payable:
          type: boolean
        compensationWithHours:
          type: boolean
        minBalanceForCompensation:
          type: integer
          format: int16
    WorkingProfileDto:
      type: object
      properties:
        uuid:
          $ref: "#/components/schemas/UUID"
        maxWeeklyWorktime:
          type: integer
          format: int32
        implementationType:
          type: integer
          format: int16
        noChangeInPeriod:
          type: boolean
        texts:
          type: array
          items:
            $ref: "#/components/schemas/WorkingProfileTextDto"
    WorkingProfileItem:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int16
        workingProfile:
          $ref: "#/components/schemas/WorkingProfile"
        timeclass:
          $ref: "#/components/schemas/Timeclass"
        weekdayFrom:
          type: integer
          format: int16
        weekdayTo:
          type: integer
          format: int16
        timeFrom:
          type: integer
          format: int16
        timeTo:
          type: integer
          format: int16
        enabled:
          type: boolean
        order:
          type: integer
          format: int16
        followedByHoliday:
          type: integer
          format: int16
        i18nKey:
          type: string
    WorkingProfileText:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int64
        language:
          $ref: "#/components/schemas/Language"
        text:
          type: string
    WorkingProfileTextDto:
      type: object
      required:
      - text
      - lang
      properties:
        text:
          type: string
        lang:
          type: string
    WorkloadCreateDto:
      type: object
      required:
      - validFrom
      - validTo
      properties:
        userUuid:
          $ref: "#/components/schemas/UUID"
        percents:
          type: array
          maxItems: 7
          minItems: 7
          items:
            type: number
            format: float
        validFrom:
          $ref: "#/components/schemas/LocalDate"
        validTo:
          $ref: "#/components/schemas/LocalDate"
    Worktime:
      type: object
      properties:
        crUser:
          type: string
        crTime:
          $ref: "#/components/schemas/LocalDateTime"
        mutUser:
          type: string
        mutTime:
          $ref: "#/components/schemas/LocalDateTime"
        id:
          type: integer
          format: int64
        uuid:
          $ref: "#/components/schemas/UUID"
        user:
          $ref: "#/components/schemas/User"
        timeclass:
          $ref: "#/components/schemas/Timeclass"
        presenceAbsenceType:
          $ref: "#/components/schemas/PresenceAbsenceType"
        worktimePartReference:
          $ref: "#/components/schemas/Worktime"
        date:
          $ref: "#/components/schemas/LocalDate"
        start:
          $ref: "#/components/schemas/TimeValue"
        pause:
          $ref: "#/components/schemas/TimeValue"
        end:
          $ref: "#/components/schemas/TimeValue"
        duration:
          $ref: "#/components/schemas/DurationValue"
        text:
          type: string
        createdAutomatically:
          type: boolean
        booking:
          $ref: "#/components/schemas/LocalDateTime"
        worktimeParts:
          type: array
          items:
            $ref: "#/components/schemas/WorktimePartDto"
        approved:
          type: boolean
    WorktimeCreateDto:
      type: object
      required:
      - timeclassUuid
      properties:
        timeclassUuid:
          $ref: "#/components/schemas/UUID"
        date:
          $ref: "#/components/schemas/LocalDate"
        start:
          $ref: "#/components/schemas/TimeValue"
        pause:
          $ref: "#/components/schemas/TimeValue"
        end:
          $ref: "#/components/schemas/TimeValue"
        duration:
          $ref: "#/components/schemas/DurationValue"
        text:
          type: string
        presenceAbsenceTypeUuid:
          $ref: "#/components/schemas/UUID"
        userUuid:
          $ref: "#/components/schemas/UUID"
    WorktimeDto:
      type: object
      required:
      - timeclassUuid
      properties:
        timeclassUuid:
          $ref: "#/components/schemas/UUID"
        date:
          $ref: "#/components/schemas/LocalDate"
        start:
          $ref: "#/components/schemas/TimeValue"
        pause:
          $ref: "#/components/schemas/TimeValue"
        end:
          $ref: "#/components/schemas/TimeValue"
        duration:
          $ref: "#/components/schemas/DurationValue"
        text:
          type: string
        presenceAbsenceTypeUuid:
          $ref: "#/components/schemas/UUID"
        userUuid:
          $ref: "#/components/schemas/UUID"
        locked:
          type: boolean
        noEdit:
          type: boolean
        correctionPossible:
          type: boolean
        approved:
          type: boolean
        uuid:
          $ref: "#/components/schemas/UUID"
        createdAutomatically:
          type: boolean
        booking:
          $ref: "#/components/schemas/LocalDateTime"
        worktimeParts:
          type: array
          items:
            $ref: "#/components/schemas/WorktimePartDto"
    WorktimeEditDto:
      type: object
      required:
      - timeclassUuid
      properties:
        timeclassUuid:
          $ref: "#/components/schemas/UUID"
        date:
          $ref: "#/components/schemas/LocalDate"
        start:
          $ref: "#/components/schemas/TimeValue"
        pause:
          $ref: "#/components/schemas/TimeValue"
        end:
          $ref: "#/components/schemas/TimeValue"
        duration:
          $ref: "#/components/schemas/DurationValue"
        text:
          type: string
        presenceAbsenceTypeUuid:
          $ref: "#/components/schemas/UUID"
    WorktimePartDto:
      type: object
      properties:
        id:
          type: integer
          format: int64
        worktimePartReference:
          $ref: "#/components/schemas/Worktime"
        timeclassUuid:
          $ref: "#/components/schemas/UUID"
        worktimeUuid:
          $ref: "#/components/schemas/UUID"
        uuid:
          $ref: "#/components/schemas/UUID"
        start:
          $ref: "#/components/schemas/TimeValue"
        end:
          $ref: "#/components/schemas/TimeValue"
        duration:
          $ref: "#/components/schemas/DurationValue"
    WorktimeWorkflowStatusPatchDto:
      type: object
      properties:
        approve:
          type:
          - boolean
          - "null"
        confirm:
          type:
          - boolean
          - "null"
        check:
          type:
          - boolean
          - "null"
  securitySchemes:
    SecurityScheme:
      type: openIdConnect
      openIdConnectUrl: https://idp.test.chronapp.com/realms//.well-known/openid-configuration
      description: Authentication
paths:
  /{tenant}/absences/overviews/organisations/{organisation-uuid}:
    get:
      parameters:
      - name: organisation-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Organisation
      tags:
      - Absence Overview Resource
      security:
      - SecurityScheme:
        - planning.overview.myou
        - planning.overview.myou.detail
        - planning.overview.ou
        - planning.overview.ou.detail
        - planning.overview.coco
        - planning.overview.coco.detail
        - planning.overview.tenant
        - planning.overview.tenant.detail
  /{tenant}/absences/overviews/roles/{role-uuid}:
    get:
      parameters:
      - name: role-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Role
      tags:
      - Absence Overview Resource
      security:
      - SecurityScheme:
        - planning.overview.myou
        - planning.overview.myou.detail
        - planning.overview.ou
        - planning.overview.ou.detail
        - planning.overview.coco
        - planning.overview.coco.detail
        - planning.overview.tenant
        - planning.overview.tenant.detail
  /{tenant}/absences/overviews/teams/{team-uuid}:
    get:
      parameters:
      - name: team-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Team
      tags:
      - Absence Overview Resource
      security:
      - SecurityScheme:
        - planning.overview.myou
        - planning.overview.myou.detail
        - planning.overview.ou
        - planning.overview.ou.detail
        - planning.overview.coco
        - planning.overview.coco.detail
        - planning.overview.tenant
        - planning.overview.tenant.detail
  /{tenant}/absences/overviews/users/{user-uuid}:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List User
      tags:
      - Absence Overview Resource
      security:
      - SecurityScheme:
        - planning.overview.myou
        - planning.overview.myou.detail
        - planning.overview.ou
        - planning.overview.ou.detail
        - planning.overview.coco
        - planning.overview.coco.detail
        - planning.overview.tenant
        - planning.overview.tenant.detail
  /{tenant}/activitytype2costcenter/massmutation:
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/MassMutationDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update Mass Mutation
      tags:
      - Activity Type 2 Costcenter Resource
      security:
      - SecurityScheme:
        - activitytype.write
        - activitytype.write.ou
        - activitytype.write.coco
        - activitytype.write.tenant
  /{tenant}/balance-types:
    get:
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Balance Type Resource
      security:
      - SecurityScheme:
        - balancetype.read
  /{tenant}/balance-types/{bat-uuid}:
    get:
      parameters:
      - name: bat-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Get
      tags:
      - Balance Type Resource
      security:
      - SecurityScheme:
        - balancetype.read
  /{tenant}/balance2balances:
    get:
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Balance 2 Balance Resource
      security:
      - SecurityScheme:
        - balance.read
        - balance.read.ou
        - balance.read.coco
        - balance.read.tenant
  /{tenant}/balances:
    get:
      parameters:
      - name: date
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: hideZeroes
        in: query
        schema:
          type: boolean
      - name: user
        in: query
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Balance Resource
      security:
      - SecurityScheme:
        - balance.read
        - balance.read.ou
        - balance.read.coco
        - balance.read.tenant
  /{tenant}/balances/{bat-uuid}/correction:
    post:
      parameters:
      - name: bat-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/BalanceCorrectionDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Correction
      tags:
      - Balance Resource
      security:
      - SecurityScheme:
        - balance.write
        - balance.write.ou
        - balance.write.coco
        - balance.write.tenant
  /{tenant}/balances/{bat-uuid}/correction-period:
    get:
      parameters:
      - name: bat-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user
        in: query
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Correction Period
      tags:
      - Balance Resource
      security:
      - SecurityScheme:
        - balance.read
        - balance.read.ou
        - balance.read.coco
        - balance.read.tenant
  /{tenant}/balances/{bat-uuid}/details:
    get:
      parameters:
      - name: bat-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: date
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: hideZeroes
        in: query
        schema:
          type: boolean
      - name: user
        in: query
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Details
      tags:
      - Balance Resource
      security:
      - SecurityScheme:
        - balance.read
        - balance.read.ou
        - balance.read.coco
        - balance.read.tenant
  /{tenant}/balances/{usr-uuid}/overview:
    get:
      parameters:
      - name: usr-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: hideZeroes
        in: query
        schema:
          type: boolean
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Overview
      tags:
      - Balance Resource
      security:
      - SecurityScheme:
        - balance.read
        - balance.read.ou
        - balance.read.coco
        - balance.read.tenant
  /{tenant}/balances/{usr-uuid}/overview/organisation:
    get:
      parameters:
      - name: usr-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Organisation Overview
      tags:
      - Balance Resource
      security:
      - SecurityScheme:
        - balance.read.ou
        - balance.read.coco
        - balance.read.tenant
  /{tenant}/balances/{usr-uuid}/recalculate/{ped-uuid}:
    post:
      parameters:
      - name: ped-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: usr-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: until-last-booked
        in: query
        schema:
          type: boolean
          default: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Recalculate
      tags:
      - Balance Resource
      security:
      - SecurityScheme:
        - balance.recalculate
        - balance.recalculate.ou
        - balance.recalculate.coco
        - balance.recalculate.tenant
  /{tenant}/companycodes:
    get:
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Company Codes
      tags:
      - Company Codes Resource
      security:
      - SecurityScheme:
        - user.read
  /{tenant}/companycodes/{uuid}:
    get:
      parameters:
      - name: uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Get Company Code
      tags:
      - Company Codes Resource
      security:
      - SecurityScheme:
        - user.read
  /{tenant}/costcenters/{costcenter-uuid}/users:
    get:
      parameters:
      - name: costcenter-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List By Costcenter
      tags:
      - Costcenter Resource
      security:
      - SecurityScheme:
        - user.read
  /{tenant}/globalactivitytype:
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GlobalActivityTypeEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update Global
      tags:
      - Global Activity Type Resource
      security:
      - SecurityScheme:
        - global.activitytype.write
  /{tenant}/globalactivitytype/{organisation-uuid}:
    get:
      parameters:
      - name: organisation-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List All
      tags:
      - Global Activity Type Resource
      security:
      - SecurityScheme:
        - global.activitytype.read
  /{tenant}/globalactivitytype/{orguuid}:
    put:
      parameters:
      - name: orguuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              type: boolean
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Update Global All
      tags:
      - Global Activity Type Resource
      security:
      - SecurityScheme:
        - global.activitytype.write
  /{tenant}/health:
    parameters:
    - name: tenant
      in: path
      required: true
      schema:
        type: string
    get:
      responses:
        "200":
          description: OK
      summary: Get
      tags:
      - Health Resource
  /{tenant}/holidays:
    get:
      parameters:
      - name: search
        in: query
        schema:
          type: string
      - name: year
        in: query
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Holiday Resource
      security:
      - SecurityScheme:
        - holiday.read
        - holiday.search
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/HolidayCreateDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create
      tags:
      - Holiday Resource
      security:
      - SecurityScheme:
        - holiday.write
  /{tenant}/holidays/copy:
    post:
      parameters:
      - name: year
        in: query
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Copy Calendars
      tags:
      - Holiday Resource
      security:
      - SecurityScheme:
        - holiday.write
  /{tenant}/holidays/location:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/HolidayLocationEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Link Holiday To Locations
      tags:
      - Holiday Location Resource
      security:
      - SecurityScheme:
        - location.write
  /{tenant}/holidays/location/{location-uuid}:
    put:
      parameters:
      - name: location-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/HolidayLocationEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update Holiday To Locations
      tags:
      - Holiday Location Resource
      security:
      - SecurityScheme:
        - location.write
    delete:
      parameters:
      - name: location-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Unlink Holiday To Locations
      tags:
      - Holiday Location Resource
      security:
      - SecurityScheme:
        - location.write
    get:
      parameters:
      - name: location-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List For Locations
      tags:
      - Holiday Location Resource
      security:
      - SecurityScheme:
        - holiday.read
  /{tenant}/holidays/{holiday-uuid}:
    put:
      parameters:
      - name: holiday-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/HolidayEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update
      tags:
      - Holiday Resource
      security:
      - SecurityScheme:
        - holiday.write
    get:
      parameters:
      - name: holiday-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Read
      tags:
      - Holiday Resource
      security:
      - SecurityScheme:
        - holiday.read
    delete:
      parameters:
      - name: holiday-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete
      tags:
      - Holiday Resource
      security:
      - SecurityScheme:
        - holiday.write
  /{tenant}/languages:
    get:
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Language Resource
      security:
      - SecurityScheme:
        - language.read
  /{tenant}/line-managements/organisations/{organisation-uuid}:
    get:
      parameters:
      - name: organisation-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: start
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Organisation
      tags:
      - Line Management Ressource
      security:
      - SecurityScheme:
        - line-management.read
        - line-management.read.ou
        - line-management.read.coco
        - line-management.read.tenant
  /{tenant}/line-managements/roles/{role-uuid}:
    get:
      parameters:
      - name: role-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: start
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Role
      tags:
      - Line Management Ressource
      security:
      - SecurityScheme:
        - line-management.read
        - line-management.read.ou
        - line-management.read.coco
        - line-management.read.tenant
  /{tenant}/line-managements/teams/{team-uuid}:
    get:
      parameters:
      - name: team-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: start
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Team
      tags:
      - Line Management Ressource
      security:
      - SecurityScheme:
        - line-management.read
        - line-management.read.ou
        - line-management.read.coco
        - line-management.read.tenant
  /{tenant}/line-managements/users/{user-uuid}:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: start
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List User
      tags:
      - Line Management Ressource
      security:
      - SecurityScheme:
        - line-management.read
        - line-management.read.ou
        - line-management.read.coco
        - line-management.read.tenant
  /{tenant}/links:
    get:
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Link Resource
      security:
      - SecurityScheme:
        - link.read
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/LinkCreateDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create
      tags:
      - Link Resource
      security:
      - SecurityScheme:
        - link.write
  /{tenant}/links/{links-uuid}:
    put:
      parameters:
      - name: links-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/LinkEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update
      tags:
      - Link Resource
      security:
      - SecurityScheme:
        - link.write
    get:
      parameters:
      - name: links-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Read
      tags:
      - Link Resource
      security:
      - SecurityScheme:
        - link.read
    delete:
      parameters:
      - name: links-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete
      tags:
      - Link Resource
      security:
      - SecurityScheme:
        - link.write
  /{tenant}/locations:
    get:
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Location Resource
      security:
      - SecurityScheme:
        - location.read
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/LocationEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create
      tags:
      - Location Resource
      security:
      - SecurityScheme:
        - location.write
  /{tenant}/locations/holiday:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/LocationHolidayEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Link Holiday To Locations
      tags:
      - Location Holiday Resource
      security:
      - SecurityScheme:
        - holiday.write
  /{tenant}/locations/holiday/{holiday-uuid}:
    put:
      parameters:
      - name: holiday-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/LocationHolidayEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update Holiday To Locations
      tags:
      - Location Holiday Resource
      security:
      - SecurityScheme:
        - holiday.write
    delete:
      parameters:
      - name: holiday-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Unlink Holiday To Locations
      tags:
      - Location Holiday Resource
      security:
      - SecurityScheme:
        - holiday.write
    get:
      parameters:
      - name: holiday-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List For Holiday
      tags:
      - Location Holiday Resource
      security:
      - SecurityScheme:
        - location.read
  /{tenant}/locations/{uuid}:
    put:
      parameters:
      - name: uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/LocationEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update
      tags:
      - Location Resource
      security:
      - SecurityScheme:
        - location.write
    get:
      parameters:
      - name: uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Read
      tags:
      - Location Resource
      security:
      - SecurityScheme:
        - location.read
    delete:
      parameters:
      - name: uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete
      tags:
      - Location Resource
      security:
      - SecurityScheme:
        - location.write
  /{tenant}/loginfo:
    get:
      parameters:
      - name: description
        in: query
        schema:
          type: string
      - name: end
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: max
        in: query
        schema:
          type: integer
          format: int32
      - name: offset
        in: query
        schema:
          type: integer
          format: int32
      - name: start
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: status
        in: query
        schema:
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Log Info Ressource
      security:
      - SecurityScheme:
        - loginterface.read
  /{tenant}/loginfo/first:
    get:
      parameters:
      - name: description
        in: query
        schema:
          type: string
      - name: end
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: start
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: status
        in: query
        schema:
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Get Newest
      tags:
      - Log Info Ressource
      security:
      - SecurityScheme:
        - loginterface.read
  /{tenant}/loginfo/{uuid}:
    delete:
      parameters:
      - name: uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Revert Export
      tags:
      - Log Info Ressource
      security:
      - SecurityScheme:
        - porter.download
    get:
      parameters:
      - name: uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Detail List
      tags:
      - Log Info Ressource
      security:
      - SecurityScheme:
        - loginterface.read
  /{tenant}/messages:
    get:
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Message Resource
      security:
      - SecurityScheme:
        - message.read
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/MessageCreateDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create
      tags:
      - Message Resource
      security:
      - SecurityScheme:
        - message.write
  /{tenant}/messages/{message-uuid}:
    put:
      parameters:
      - name: message-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/MessageCreateDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update
      tags:
      - Message Resource
      security:
      - SecurityScheme:
        - message.write
    get:
      parameters:
      - name: message-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Read
      tags:
      - Message Resource
      security:
      - SecurityScheme:
        - message.read
    delete:
      parameters:
      - name: message-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete
      tags:
      - Message Resource
      security:
      - SecurityScheme:
        - message.write
  /{tenant}/modules:
    get:
      parameters:
      - name: showHidden
        in: query
        schema:
          type: boolean
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Module Resource
      security:
      - SecurityScheme:
        - '**'
  /{tenant}/modules/items:
    get:
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Items
      tags:
      - Module Resource
      security:
      - SecurityScheme:
        - '**'
  /{tenant}/organisations:
    get:
      parameters:
      - name: all
        in: query
        schema:
          type: boolean
      - name: empty
        in: query
        schema:
          type: boolean
      - name: search
        in: query
        schema:
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Organisation Resource
      security:
      - SecurityScheme:
        - organisation.search
  /{tenant}/organisations/all:
    get:
      parameters:
      - name: all
        in: query
        schema:
          type: boolean
      - name: empty
        in: query
        schema:
          type: boolean
      - name: search
        in: query
        schema:
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List For Role Requests
      tags:
      - Organisation Resource
      security:
      - SecurityScheme:
        - organisation.search
  /{tenant}/organisations/{org-uuid}/quotas:
    get:
      parameters:
      - name: org-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: year
        in: query
        schema:
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Organisation Quota Ressource
      security:
      - SecurityScheme:
        - quota.read
        - quota.read.ou
        - quota.read.coco
        - quota.read.tenant
  /{tenant}/organisations/{organisation-uuid}/role-assignments:
    get:
      parameters:
      - name: organisation-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: max
        in: query
        schema:
          type: integer
          format: int32
      - name: offset
        in: query
        schema:
          type: integer
          format: int32
      - name: order
        in: query
        schema:
          $ref: "#/components/schemas/SortOrder"
      - name: sort
        in: query
        schema:
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Organisation Role Assignment Resource
      security:
      - SecurityScheme:
        - role.user.read
        - role.user.read.ou
        - role.user.read.coco
        - role.user.read.tenant
  /{tenant}/organisations/{organisation-uuid}/users:
    get:
      parameters:
      - name: organisation-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Users
      tags:
      - Organisation Resource
      security:
      - SecurityScheme:
        - user.search
  /{tenant}/organisationunits/organisation/{organisation-uuid}:
    get:
      parameters:
      - name: organisation-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Organisation Unit Resource
      security:
      - SecurityScheme:
        - organisation.search
  /{tenant}/periods:
    get:
      parameters:
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Period Resource
      security:
      - SecurityScheme:
        - period.read
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PeriodDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create
      tags:
      - Period Resource
      security:
      - SecurityScheme:
        - period.write
  /{tenant}/periods/{periode-uuid}:
    put:
      parameters:
      - name: periode-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PeriodDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update
      tags:
      - Period Resource
      security:
      - SecurityScheme:
        - period.write
    get:
      parameters:
      - name: periode-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Read
      tags:
      - Period Resource
      security:
      - SecurityScheme:
        - period.read
    delete:
      parameters:
      - name: periode-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete
      tags:
      - Period Resource
      security:
      - SecurityScheme:
        - period.write
  /{tenant}/permissions/users:
    get:
      parameters:
      - name: nav-action
        in: query
        schema:
          type: string
      - name: nav-email
        in: query
        schema:
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Read
      tags:
      - Permission Resource
      security:
      - SecurityScheme:
        - '**'
  /{tenant}/presenceabsencetypes:
    get:
      parameters:
      - name: absence
        in: query
        schema:
          type: boolean
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Presence Absence Type Resource
      security:
      - SecurityScheme:
        - presenceabsencetype.read
  /{tenant}/presenceabsencetypes/worktype:
    get:
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Type
      tags:
      - Presence Absence Type Resource
      security:
      - SecurityScheme:
        - presenceabsencetype.read
  /{tenant}/quotas:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/QuotaCreateDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create
      tags:
      - Quota Ressource
      security:
      - SecurityScheme:
        - quota.write
        - quota.write.ou
        - quota.write.coco
        - quota.write.tenant
  /{tenant}/quotas/timeclasses:
    get:
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List For Quotas
      tags:
      - Quota Ressource
      security:
      - SecurityScheme:
        - timeclass.read
  /{tenant}/quotas/{quota-uuid}:
    get:
      parameters:
      - name: quota-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Read
      tags:
      - Quota Ressource
      security:
      - SecurityScheme:
        - quota.read
        - quota.read.ou
        - quota.read.coco
        - quota.read.tenant
  /{tenant}/reports/customer:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CustomerReportConfiguration"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create Customer Report
      tags:
      - Report Resource
      security:
      - SecurityScheme:
        - report.customer
        - report.customer.ou
        - report.customer.coco
        - report.customer.tenant
  /{tenant}/role-requests:
    get:
      parameters:
      - name: max
        in: query
        schema:
          type: integer
          format: int32
      - name: offset
        in: query
        schema:
          type: integer
          format: int32
      - name: order
        in: query
        schema:
          $ref: "#/components/schemas/SortOrder"
      - name: sort
        in: query
        schema:
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Get
      tags:
      - Role Request Resource
      security:
      - SecurityScheme:
        - '**'
  /{tenant}/role-requests/{role-requestuuid}:
    delete:
      parameters:
      - name: role-requestuuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/NoteDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete
      tags:
      - Role Request Resource
      security:
      - SecurityScheme:
        - role.user.request.write
  /{tenant}/role-requests/{role-requestuuid}/role-assignments:
    post:
      parameters:
      - name: role-requestuuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/User2RoleRequestAcceptDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create
      tags:
      - Role Request Role Assignment Resource
      security:
      - SecurityScheme:
        - '**'
  /{tenant}/settings:
    get:
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Setting Resource
      security:
      - SecurityScheme:
        - setting.read
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/SettingEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create
      tags:
      - Setting Resource
      security:
      - SecurityScheme:
        - setting.write
  /{tenant}/settings/{key}:
    put:
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/SettingEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update
      tags:
      - Setting Resource
      security:
      - SecurityScheme:
        - setting.write
    get:
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Read
      tags:
      - Setting Resource
      security:
      - SecurityScheme:
        - setting.read
    delete:
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete
      tags:
      - Setting Resource
      security:
      - SecurityScheme:
        - setting.write
  /{tenant}/supporters:
    get:
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/UserSupporterDto"
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Supporter Resource
      security:
      - SecurityScheme:
        - '**'
  /{tenant}/texts:
    get:
      parameters:
      - name: If-Modified-Since
        in: header
        schema:
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Read
      tags:
      - Text Resource
      security:
      - SecurityScheme:
        - '**'
  /{tenant}/timeclasses/costcenters:
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Timeclass2UserDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Batch Mutation
      tags:
      - Timeclass Resource
      security:
      - SecurityScheme:
        - timeclass.user.write
        - timeclass.user.write.ou
        - timeclass.user.write.coco
        - timeclass.user.write.tenant
  /{tenant}/timestamps:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TimestampToggleRequest"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Toggle
      tags:
      - Timestamp Resource
      security:
      - SecurityScheme:
        - timestamp.toggle
        - timestamp.toggle.ou
        - timestamp.toggle.coco
        - timestamp.toggle.tenant
  /{tenant}/token:
    get:
      parameters:
      - name: tenant
        in: path
        required: true
        schema:
          type: string
      - name: X-User
        in: header
        schema:
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Get
      tags:
      - Token Resource
      security:
      - SecurityScheme:
        - '**'
  /{tenant}/users:
    get:
      parameters:
      - name: all
        in: query
        schema:
          type: boolean
          default: "false"
      - name: max
        in: query
        schema:
          type: integer
          format: int32
          default: "999"
      - name: search
        in: query
        schema:
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - User Resource
      security:
      - SecurityScheme:
        - user.search
  /{tenant}/users/all:
    get:
      parameters:
      - name: all
        in: query
        schema:
          type: boolean
          default: "false"
      - name: max
        in: query
        schema:
          type: integer
          format: int32
          default: "999"
      - name: search
        in: query
        schema:
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List For All User
      tags:
      - User Resource
      security:
      - SecurityScheme:
        - user.search
  /{tenant}/users/deputies:
    get:
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Deputies
      tags:
      - User Resource
      security:
      - SecurityScheme:
        - user.read
  /{tenant}/users/userinfo/{user-uuid}:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: max
        in: query
        schema:
          type: integer
          format: int32
      - name: offset
        in: query
        schema:
          type: integer
          format: int32
      - name: order
        in: query
        schema:
          $ref: "#/components/schemas/SortOrder"
      - name: sort
        in: query
        schema:
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Read All User Info
      tags:
      - User Resource
      security:
      - SecurityScheme:
        - user.read
  /{tenant}/users/{user-uuid}:
    patch:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UserUpdateLanguageDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Update Language Id
      tags:
      - User Resource
      security:
      - SecurityScheme:
        - user.settings.write
        - user.settings.write.ou
        - user.settings.write.coco
        - user.settings.write.tenant
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Read
      tags:
      - User Resource
      security:
      - SecurityScheme:
        - user.read
  /{tenant}/users/{user-uuid}/absences:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: list-filter
        in: query
        schema:
          type: string
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List For User
      tags:
      - Absence Ressource
      security:
      - SecurityScheme:
        - absence.read
        - absence.read.ou
        - absence.read.coco
        - absence.read.tenant
    post:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AbsenceCreateDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create
      tags:
      - Absence Ressource
      security:
      - SecurityScheme:
        - absence.write
        - absence.write.ou
        - absence.write.coco
        - absence.write.tenant
  /{tenant}/users/{user-uuid}/absences/balances:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Get Balances
      tags:
      - Absence Ressource
      security:
      - SecurityScheme:
        - absence.read
        - absence.read.ou
        - absence.read.coco
        - absence.read.tenant
  /{tenant}/users/{user-uuid}/absences/missingtimeinminutes:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Mising Time
      tags:
      - Absence Ressource
      security:
      - SecurityScheme:
        - absence.read
        - absence.read.ou
        - absence.read.coco
        - absence.read.tenant
  /{tenant}/users/{user-uuid}/absences/{absence-uuid}:
    put:
      parameters:
      - name: absence-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AbsenceCreateDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update
      tags:
      - Absence Ressource
      security:
      - SecurityScheme:
        - absence.write
        - absence.write.ou
        - absence.write.coco
        - absence.write.tenant
    delete:
      parameters:
      - name: absence-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/NoteDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete
      tags:
      - Absence Ressource
      security:
      - SecurityScheme:
        - absence.write
        - absence.write.ou
        - absence.write.coco
        - absence.write.tenant
  /{tenant}/users/{user-uuid}/absences/{absence-uuid}/approve:
    patch:
      deprecated: true
      parameters:
      - name: absence-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/WorkflowValidateDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Approve Absence
      tags:
      - Absence Ressource
      security:
      - SecurityScheme:
        - absence.workflow.approve
        - absence.workflow.approve.ou
        - absence.workflow.approve.coco
        - absence.workflow.approve.tenant
  /{tenant}/users/{user-uuid}/absences/{absence-uuid}/audit:
    get:
      parameters:
      - name: absence-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Audit
      tags:
      - Absence Ressource
      security:
      - SecurityScheme:
        - audit.read
  /{tenant}/users/{user-uuid}/absences/{absence-uuid}/confirm:
    patch:
      deprecated: true
      parameters:
      - name: absence-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/WorkflowValidateDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Confirm Absence
      tags:
      - Absence Ressource
      security:
      - SecurityScheme:
        - absence.workflow.confirm
        - absence.workflow.confirm.ou
        - absence.workflow.confirm.coco
        - absence.workflow.confirm.tenant
  /{tenant}/users/{user-uuid}/absences/{absence-uuid}/confirmation:
    put:
      parameters:
      - name: absence-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AbsenceConfirmationDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Confirmation
      tags:
      - Absence Ressource
      security:
      - SecurityScheme:
        - absence.workflow.confirm
        - absence.workflow.confirm.ou
        - absence.workflow.confirm.coco
        - absence.workflow.confirm.tenant
  /{tenant}/users/{user-uuid}/absences/{absence-uuid}/ics:
    get:
      parameters:
      - name: absence-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Ics Download
      tags:
      - Absence Ressource
      security:
      - SecurityScheme:
        - absence.read
        - absence.read.ou
        - absence.read.coco
        - absence.read.tenant
  /{tenant}/users/{user-uuid}/absences/{absence-uuid}/reversal:
    patch:
      parameters:
      - name: absence-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AbsenceReversalDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Reversal
      tags:
      - Absence Ressource
      security:
      - SecurityScheme:
        - absence.write
        - absence.write.ou
        - absence.write.coco
        - absence.write.tenant
    post:
      parameters:
      - name: absence-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AbsenceReversalDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create Reversal
      tags:
      - Absence Ressource
      security:
      - SecurityScheme:
        - absence.write
        - absence.write.ou
        - absence.write.coco
        - absence.write.tenant
  /{tenant}/users/{user-uuid}/activitytype:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: date
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List For User
      tags:
      - Activity Type Resource
      security:
      - SecurityScheme:
        - userprofile.read
        - userprofile.read.ou
        - userprofile.read.coco
        - userprofile.read.tenant
  /{tenant}/users/{user-uuid}/activitytype2costcenter:
    put:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: "#/components/schemas/ActivityTypeDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update
      tags:
      - User Activity Type 2 Costcenter Resource
      security:
      - SecurityScheme:
        - activitytype.write
        - activitytype.write.ou
        - activitytype.write.coco
        - activitytype.write.tenant
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: showBlunder
        in: query
        schema:
          type: boolean
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List For User With Costcenter
      tags:
      - User Activity Type 2 Costcenter Resource
      security:
      - SecurityScheme:
        - activitytype.read
        - activitytype.read.ou
        - activitytype.read.coco
        - activitytype.read.tenant
    delete:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: "#/components/schemas/ActivityTypeDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete
      tags:
      - User Activity Type 2 Costcenter Resource
      security:
      - SecurityScheme:
        - activitytype.write
        - activitytype.write.ou
        - activitytype.write.coco
        - activitytype.write.tenant
  /{tenant}/users/{user-uuid}/automatic-worktime:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Automatic Worktime Resource
      security:
      - SecurityScheme:
        - automaticworktime.read
        - automaticworktime.read.ou
        - automaticworktime.read.tenant
  /{tenant}/users/{user-uuid}/automatic-worktime/{automatic-worktime-uuid}/audit:
    get:
      parameters:
      - name: automatic-worktime-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Audit
      tags:
      - Automatic Worktime Resource
      security:
      - SecurityScheme:
        - automaticworktime.read
        - automaticworktime.read.ou
        - automaticworktime.read.tenant
  /{tenant}/users/{user-uuid}/automatic-worktime/{automaticWorktimeUuid}:
    delete:
      parameters:
      - name: automaticWorktimeUuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete
      tags:
      - Automatic Worktime Resource
      security:
      - SecurityScheme:
        - automaticworktime.delete
        - automaticworktime.delete.ou
        - automaticworktime.delete.tenant
  /{tenant}/users/{user-uuid}/automatic-worktime/{isAbsence}:
    post:
      parameters:
      - name: isAbsence
        in: path
        required: true
        schema:
          type: boolean
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AutomaticWorktimeCreateOrEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create
      tags:
      - Automatic Worktime Resource
      security:
      - SecurityScheme:
        - automaticworktime.write
        - automaticworktime.write.ou
        - automaticworktime.write.tenant
  /{tenant}/users/{user-uuid}/automatic-worktime/{user-uuid}/{isAbsence}:
    put:
      parameters:
      - name: isAbsence
        in: path
        required: true
        schema:
          type: boolean
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AutomaticWorktimeCreateOrEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update
      tags:
      - Automatic Worktime Resource
      security:
      - SecurityScheme:
        - automaticworktime.write
        - automaticworktime.write.ou
        - automaticworktime.write.tenant
  /{tenant}/users/{user-uuid}/costcenters:
    post:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UserCostcenterDetailsDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Write
      tags:
      - User Costcenters Resource
      security:
      - SecurityScheme:
        - costcenter.user.write
        - costcenter.user.write.ou
        - costcenter.user.write.coco
        - costcenter.user.write.tenant
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: filter
        in: query
        schema:
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Find
      tags:
      - User Costcenters Resource
      security:
      - SecurityScheme:
        - costcenter.user.read
        - costcenter.user.read.ou
        - costcenter.user.read.coco
        - costcenter.user.read.tenant
  /{tenant}/users/{user-uuid}/costcenters/all:
    delete:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete All
      tags:
      - User Costcenters Resource
      security:
      - SecurityScheme:
        - costcenter.user.write
        - costcenter.user.write.ou
        - costcenter.user.write.coco
        - costcenter.user.write.tenant
  /{tenant}/users/{user-uuid}/costcenters/{costcenter-uuid}:
    delete:
      parameters:
      - name: costcenter-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete
      tags:
      - User Costcenters Resource
      security:
      - SecurityScheme:
        - costcenter.user.write
        - costcenter.user.write.ou
        - costcenter.user.write.coco
        - costcenter.user.write.tenant
  /{tenant}/users/{user-uuid}/costcenters/{costcenter-uuid}/audit:
    get:
      parameters:
      - name: costcenter-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Audit
      tags:
      - User Costcenters Resource
      security:
      - SecurityScheme:
        - audit.read
  /{tenant}/users/{user-uuid}/flextimes:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: booked-factored
        in: query
        schema:
          type: boolean
          default: "true"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/Flextime"
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - User Flextime Resource
      security:
      - SecurityScheme:
        - worktime.read
        - worktime.read.ou
        - worktime.read.coco
        - worktime.read.tenant
  /{tenant}/users/{user-uuid}/locations/holiday/definedforyear:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          type: integer
          format: int32
      - name: to
        in: query
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List For Holiday
      tags:
      - User Location Holiday Resource
      security:
      - SecurityScheme:
        - location.read
  /{tenant}/users/{user-uuid}/messages:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Message Already Read
      tags:
      - User 2 Message Resource
      security:
      - SecurityScheme:
        - message.user.read
  /{tenant}/users/{user-uuid}/messages/{message-uuid}:
    put:
      parameters:
      - name: message-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Read Message
      tags:
      - User 2 Message Resource
      security:
      - SecurityScheme:
        - message.user.write
  /{tenant}/users/{user-uuid}/messages/{message-uuid}/audit:
    get:
      parameters:
      - name: message-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Audit
      tags:
      - User 2 Message Resource
      security:
      - SecurityScheme:
        - audit.read
  /{tenant}/users/{user-uuid}/nfctags:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Tags
      tags:
      - User NFC Tags Resource
      security:
      - SecurityScheme:
        - nfc.read
        - nfc.read.ou
        - nfc.read.coco
        - nfc.read.tenant
    post:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/NFCTagCreateOrEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create
      tags:
      - User NFC Tags Resource
      security:
      - SecurityScheme:
        - nfc.write
        - nfc.write.ou
        - nfc.write.coco
        - nfc.write.tenant
  /{tenant}/users/{user-uuid}/nfctags/{nfcTagId}/audit:
    get:
      parameters:
      - name: nfcTagId
        in: path
        required: true
        schema:
          type: string
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Audit
      tags:
      - User NFC Tags Resource
      security:
      - SecurityScheme:
        - nfc.read
        - nfc.delete.ou
        - nfc.delete.coco
        - nfc.delete.tenant
  /{tenant}/users/{user-uuid}/nfctags/{tag-id}:
    put:
      parameters:
      - name: tag-id
        in: path
        required: true
        schema:
          type: string
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/NFCTagCreateOrEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update
      tags:
      - User NFC Tags Resource
      security:
      - SecurityScheme:
        - nfc.write
        - nfc.write.ou
        - nfc.write.coco
        - nfc.write.tenant
    delete:
      parameters:
      - name: tag-id
        in: path
        required: true
        schema:
          type: string
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete
      tags:
      - User NFC Tags Resource
      security:
      - SecurityScheme:
        - nfc.delete
        - nfc.delete.ou
        - nfc.delete.coco
        - nfc.delete.tenant
  /{tenant}/users/{user-uuid}/normal-hours:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/NormalHourDto"
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - User Normal Hour Resource
      security:
      - SecurityScheme:
        - worktime.read
        - worktime.read.ou
        - worktime.read.coco
        - worktime.read.tenant
  /{tenant}/users/{user-uuid}/notification:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - User Notification Resource
      security:
      - SecurityScheme:
        - user.settings.write
        - user.settings.write.ou
        - user.settings.write.coco
        - user.settings.write.tenant
  /{tenant}/users/{user-uuid}/notification/{key}:
    put:
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UserNotificationEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update
      tags:
      - User Notification Resource
      security:
      - SecurityScheme:
        - user.settings.write
        - user.settings.write.ou
        - user.settings.write.coco
        - user.settings.write.tenant
  /{tenant}/users/{user-uuid}/orders:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: composed
        in: query
        schema:
          type: string
      - name: search
        in: query
        schema:
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - User Order Resource
      security:
      - SecurityScheme:
        - order.read
        - order.read.ou
        - order.read.coco
        - order.read.tenant
  /{tenant}/users/{user-uuid}/payments:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: list-filter
        in: query
        schema:
          type: string
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Payment Resource
      security:
      - SecurityScheme:
        - payment.read
        - payment.read.ou
        - payment.read.coco
        - payment.read.tenant
    post:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PaymentCreateEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create
      tags:
      - Payment Resource
      security:
      - SecurityScheme:
        - payment.write
        - payment.write.ou
        - payment.write.coco
        - payment.write.tenant
  /{tenant}/users/{user-uuid}/payments/balances:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Balance
      tags:
      - Payment Resource
      security:
      - SecurityScheme:
        - payment.read
        - payment.read.ou
        - payment.read.coco
        - payment.read.tenant
  /{tenant}/users/{user-uuid}/payments/{payment-uuid}:
    put:
      parameters:
      - name: payment-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PaymentCreateEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update
      tags:
      - Payment Resource
      security:
      - SecurityScheme:
        - payment.write
        - payment.write.ou
        - payment.write.coco
        - payment.write.tenant
    delete:
      parameters:
      - name: payment-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete
      tags:
      - Payment Resource
      security:
      - SecurityScheme:
        - payment.write
        - payment.write.ou
        - payment.write.coco
        - payment.write.tenant
  /{tenant}/users/{user-uuid}/payments/{payment-uuid}/approve:
    patch:
      parameters:
      - name: payment-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/WorkflowValidateDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Approve
      tags:
      - Payment Resource
      security:
      - SecurityScheme:
        - payment.workflow.approve
        - payment.workflow.approve.ou
        - payment.workflow.approve.coco
        - payment.workflow.approve.tenant
  /{tenant}/users/{user-uuid}/payments/{payment-uuid}/audit:
    get:
      parameters:
      - name: payment-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Audit
      tags:
      - Payment Resource
      security:
      - SecurityScheme:
        - audit.read
  /{tenant}/users/{user-uuid}/payments/{payment-uuid}/confirm:
    patch:
      parameters:
      - name: payment-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/WorkflowValidateDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Confirm
      tags:
      - Payment Resource
      security:
      - SecurityScheme:
        - payment.workflow.confirm
        - payment.workflow.confirm.ou
        - payment.workflow.confirm.coco
        - payment.workflow.confirm.tenant
  /{tenant}/users/{user-uuid}/periods/{period-uuid}/worktime-workflow-status:
    get:
      parameters:
      - name: period-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Read
      tags:
      - User Period Worktime Workflow Status Resource
      security:
      - SecurityScheme:
        - worktime.workflow.status.read
        - worktime.workflow.status.read.ou
        - worktime.workflow.status.read.coco
        - worktime.workflow.status.read.tenant
    patch:
      parameters:
      - name: period-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/WorktimeWorkflowStatusPatchDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Patch
      tags:
      - User Period Worktime Workflow Status Resource
      security:
      - SecurityScheme:
        - worktime.workflow.status.approve
        - worktime.workflow.status.approve.ou
        - worktime.workflow.status.approve.coco
        - worktime.workflow.status.approve.tenant
        - worktime.workflow.status.confirm
        - worktime.workflow.status.confirm.ou
        - worktime.workflow.status.confirm.coco
        - worktime.workflow.status.confirm.tenant
  /{tenant}/users/{user-uuid}/presenceabsencetypes:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: absence
        in: query
        schema:
          type: boolean
      - name: date
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - User Presence Absence Type Resource
      security:
      - SecurityScheme:
        - presenceabsencetype.read
  /{tenant}/users/{user-uuid}/presenceabsencetypes/{presenceabsencetypes-uuid}/timeclasses:
    get:
      parameters:
      - name: presenceabsencetypes-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: date
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List For User
      tags:
      - User Presence Absence Type Resource
      security:
      - SecurityScheme:
        - presenceabsencetype.read
  /{tenant}/users/{user-uuid}/productivity:
    post:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ProductivityCreateDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update
      tags:
      - User Productivity Resource
      security:
      - SecurityScheme:
        - productivity.write
        - productivity.write.ou
        - productivity.write.coco
        - productivity.write.tenant
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: notSubmitted
        in: query
        schema:
          type: boolean
          default: false
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - User Productivity Resource
      security:
      - SecurityScheme:
        - productivity.read
        - productivity.read.ou
        - productivity.read.coco
        - productivity.read.tenant
  /{tenant}/users/{user-uuid}/productivity/approve:
    put:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Check
      tags:
      - User Productivity Resource
      security:
      - SecurityScheme:
        - productivity.write
        - productivity.write.ou
        - productivity.write.coco
        - productivity.write.tenant
  /{tenant}/users/{user-uuid}/productivity/check:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Check
      tags:
      - User Productivity Resource
      security:
      - SecurityScheme:
        - productivity.read
        - productivity.read.ou
        - productivity.read.coco
        - productivity.read.tenant
  /{tenant}/users/{user-uuid}/productivity/copy:
    post:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ProductivityCopyDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Copy Date
      tags:
      - User Productivity Resource
      security:
      - SecurityScheme:
        - productivity.write
        - productivity.write.ou
        - productivity.write.coco
        - productivity.write.tenant
  /{tenant}/users/{user-uuid}/productivity/overview:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Overview
      tags:
      - User Productivity Resource
      security:
      - SecurityScheme:
        - timeclass.user.read
        - timeclass.user.read.ou
        - timeclass.user.read.coco
        - timeclass.user.read.tenant
  /{tenant}/users/{user-uuid}/productivity/overview/compact:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: notSubmitted
        in: query
        schema:
          type: boolean
          default: false
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Compact
      tags:
      - User Productivity Resource
      security:
      - SecurityScheme:
        - productivity.read
        - productivity.read.ou
        - productivity.read.coco
        - productivity.read.tenant
  /{tenant}/users/{user-uuid}/productivity/overview/compact/by/activity-type:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Compact By Activity Type
      tags:
      - User Productivity Resource
      security:
      - SecurityScheme:
        - productivity.read
        - productivity.read.ou
        - productivity.read.coco
        - productivity.read.tenant
  /{tenant}/users/{user-uuid}/productivity/overview/daily:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Overview Daily
      tags:
      - User Productivity Resource
      security:
      - SecurityScheme:
        - timeclass.user.read
        - timeclass.user.read.ou
        - timeclass.user.read.coco
        - timeclass.user.read.tenant
  /{tenant}/users/{user-uuid}/productivity/withdraw:
    put:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Withdraw
      tags:
      - User Productivity Resource
      security:
      - SecurityScheme:
        - productivity.write
        - productivity.write.ou
        - productivity.write.coco
        - productivity.write.tenant
  /{tenant}/users/{user-uuid}/productivity/{productivity-uuid}:
    put:
      parameters:
      - name: productivity-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ProductivityEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update
      tags:
      - User Productivity Resource
      security:
      - SecurityScheme:
        - productivity.write
        - productivity.write.ou
        - productivity.write.coco
        - productivity.write.tenant
    delete:
      parameters:
      - name: productivity-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete
      tags:
      - User Productivity Resource
      security:
      - SecurityScheme:
        - productivity.write
        - productivity.write.ou
        - productivity.write.coco
        - productivity.write.tenant
  /{tenant}/users/{user-uuid}/productivity/{productivity-uuid}/audit:
    get:
      parameters:
      - name: productivity-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Audit
      tags:
      - User Productivity Resource
      security:
      - SecurityScheme:
        - audit.read
  /{tenant}/users/{user-uuid}/profiles:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - User Profile Resource
      security:
      - SecurityScheme:
        - userprofile.read
        - userprofile.read.ou
        - userprofile.read.coco
        - userprofile.read.tenant
    post:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UserProfileCreateEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create
      tags:
      - User Profile Resource
      security:
      - SecurityScheme:
        - userprofile.write
        - userprofile.write.ou
        - userprofile.write.coco
        - userprofile.write.tenant
  /{tenant}/users/{user-uuid}/profiles/{profile-uuid}:
    put:
      parameters:
      - name: profile-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UserProfileCreateEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update
      tags:
      - User Profile Resource
      security:
      - SecurityScheme:
        - userprofile.write
        - userprofile.write.ou
        - userprofile.write.coco
        - userprofile.write.tenant
    delete:
      parameters:
      - name: profile-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete
      tags:
      - User Profile Resource
      security:
      - SecurityScheme:
        - userprofile.write
        - userprofile.write.ou
        - userprofile.write.coco
        - userprofile.write.tenant
  /{tenant}/users/{user-uuid}/profiles/{profile-uuid}/audit:
    get:
      parameters:
      - name: profile-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Audit
      tags:
      - User Profile Resource
      security:
      - SecurityScheme:
        - audit.read
  /{tenant}/users/{user-uuid}/quotas:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: year
        in: query
        schema:
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - User Quota Ressource
      security:
      - SecurityScheme:
        - quota.read
        - quota.read.ou
        - quota.read.coco
        - quota.read.tenant
  /{tenant}/users/{user-uuid}/quotas/{quota-uuid}:
    put:
      parameters:
      - name: quota-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/QuotaEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update
      tags:
      - User Quota Ressource
      security:
      - SecurityScheme:
        - quota.write
        - quota.write.ou
        - quota.write.coco
        - quota.write.tenant
    delete:
      parameters:
      - name: quota-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete
      tags:
      - User Quota Ressource
      security:
      - SecurityScheme:
        - quota.write
        - quota.write.ou
        - quota.write.coco
        - quota.write.tenant
  /{tenant}/users/{user-uuid}/quotas/{quota-uuid}/audit:
    get:
      parameters:
      - name: quota-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Audit
      tags:
      - User Quota Ressource
      security:
      - SecurityScheme:
        - audit.read
  /{tenant}/users/{user-uuid}/role-assignements:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: list-filter
        in: query
        schema:
          type: string
      - name: max
        in: query
        schema:
          type: integer
          format: int32
      - name: offset
        in: query
        schema:
          type: integer
          format: int32
      - name: order
        in: query
        schema:
          $ref: "#/components/schemas/SortOrder"
      - name: sort
        in: query
        schema:
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Role Assignement Resource
      security:
      - SecurityScheme:
        - role.user.read
        - role.user.read.ou
        - role.user.read.coco
        - role.user.read.tenant
    post:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/User2RoleUpdateDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create
      tags:
      - Role Assignement Resource
      security:
      - SecurityScheme:
        - role.user.write
        - role.user.write.ou
        - role.user.write.coco
        - role.user.write.tenant
  /{tenant}/users/{user-uuid}/role-assignements/{role-assignements-uuid}:
    put:
      parameters:
      - name: role-assignements-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/User2RoleUpdateDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update
      tags:
      - Role Assignement Resource
      security:
      - SecurityScheme:
        - role.user.write
        - role.user.write.ou
        - role.user.write.coco
        - role.user.write.tenant
    delete:
      parameters:
      - name: role-assignements-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete
      tags:
      - Role Assignement Resource
      security:
      - SecurityScheme:
        - '**'
  /{tenant}/users/{user-uuid}/role-assignements/{role-assignements-uuid}/audit:
    get:
      parameters:
      - name: role-assignements-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Audit
      tags:
      - Role Assignement Resource
      security:
      - SecurityScheme:
        - audit.read
  /{tenant}/users/{user-uuid}/role-assignements/{role-assignements-uuid}/deactivate:
    put:
      parameters:
      - name: role-assignements-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Update End Date
      tags:
      - Role Assignement Resource
      security:
      - SecurityScheme:
        - role.user.write.end.date
  /{tenant}/users/{user-uuid}/role-assignements/{role-assignements-uuid}/updatedeputys:
    put:
      parameters:
      - name: role-assignements-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: "#/components/schemas/UserDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update
      tags:
      - Role Assignement Resource
      security:
      - SecurityScheme:
        - role.user.request.write
  /{tenant}/users/{user-uuid}/role-requests:
    post:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/RoleRequestCreateDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create
      tags:
      - User Role Request Resource
      security:
      - SecurityScheme:
        - role.user.request.write
  /{tenant}/users/{user-uuid}/role-requests/{role-requestuuid}/note:
    put:
      parameters:
      - name: role-requestuuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/NoteDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update Note
      tags:
      - User Role Request Resource
      security:
      - SecurityScheme:
        - role.user.write
        - role.user.write.ou
        - role.user.write.coco
        - role.user.write.tenant
  /{tenant}/users/{user-uuid}/roles:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: filter
        in: query
        schema:
          $ref: "#/components/schemas/RoleFilterEnum"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Roles
      tags:
      - User 2 Role Resource
      security:
      - SecurityScheme:
        - role.user.read
        - role.user.read.ou
        - role.user.read.coco
        - role.user.read.tenant
  /{tenant}/users/{user-uuid}/roles/granted-and-requested:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Roles Granted And Requested
      tags:
      - User 2 Role Resource
      security:
      - SecurityScheme:
        - role.user.read
        - role.user.read.ou
        - role.user.read.coco
        - role.user.read.tenant
  /{tenant}/users/{user-uuid}/settings:
    patch:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UserSettingPatchDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Update
      tags:
      - User Setting Resource
      security:
      - SecurityScheme:
        - user.settings.write
        - user.settings.write.ou
        - user.settings.write.coco
        - user.settings.write.tenant
  /{tenant}/users/{user-uuid}/supporters:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/UserSupporterDto"
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - User Supporter Resource
      security:
      - SecurityScheme:
        - worktime.read
        - worktime.read.ou
        - worktime.read.coco
        - worktime.read.tenant
  /{tenant}/users/{user-uuid}/target-hours:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/TargetHourDto"
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - User Target Hour Resource
      security:
      - SecurityScheme:
        - worktime.read
        - worktime.read.ou
        - worktime.read.coco
        - worktime.read.tenant
  /{tenant}/users/{user-uuid}/teams:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Team Resource
      security:
      - SecurityScheme:
        - team.read
    post:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TeamEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create
      tags:
      - Team Resource
      security:
      - SecurityScheme:
        - team.write
  /{tenant}/users/{user-uuid}/teams/{team-uuid}:
    put:
      parameters:
      - name: team-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TeamEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update
      tags:
      - Team Resource
      security:
      - SecurityScheme:
        - team.write
    delete:
      parameters:
      - name: team-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete
      tags:
      - Team Resource
      security:
      - SecurityScheme:
        - team.write
  /{tenant}/users/{user-uuid}/timeclasses:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: filter
        in: query
        schema:
          $ref: "#/components/schemas/TimeclassFilter"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - User Timeclass Resource
      security:
      - SecurityScheme:
        - timeclass.user.read
        - timeclass.user.read.ou
        - timeclass.user.read.coco
        - timeclass.user.read.tenant
  /{tenant}/users/{user-uuid}/timeclasses/overview:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Overview
      tags:
      - User Timeclass Resource
      security:
      - SecurityScheme:
        - timeclass.user.read
        - timeclass.user.read.ou
        - timeclass.user.read.coco
        - timeclass.user.read.tenant
  /{tenant}/users/{user-uuid}/timeclasses/{timeclass-uuid}:
    delete:
      parameters:
      - name: timeclass-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Remove User
      tags:
      - User Timeclass Resource
      security:
      - SecurityScheme:
        - timeclass.user.write
        - timeclass.user.write.ou
        - timeclass.user.write.coco
        - timeclass.user.write.tenant
    post:
      parameters:
      - name: timeclass-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Add User
      tags:
      - User Timeclass Resource
      security:
      - SecurityScheme:
        - timeclass.user.write
        - timeclass.user.write.ou
        - timeclass.user.write.coco
        - timeclass.user.write.tenant
  /{tenant}/users/{user-uuid}/timeclasses/{timeclass-uuid}/audit:
    get:
      parameters:
      - name: timeclass-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Audit
      tags:
      - User Timeclass Resource
      security:
      - SecurityScheme:
        - audit.read
  /{tenant}/users/{user-uuid}/userdata:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - User Data Resource
      security:
      - SecurityScheme:
        - user.read
  /{tenant}/users/{user-uuid}/view-settings:
    post:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ReducedViewSettingDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Set View Setting
      tags:
      - View Setting Resource
      security:
      - SecurityScheme:
        - viewsetting.write
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Get View Settings
      tags:
      - View Setting Resource
      security:
      - SecurityScheme:
        - viewsetting.read
    delete:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ReducedViewSettingDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete View Setting
      tags:
      - View Setting Resource
      security:
      - SecurityScheme:
        - viewsetting.delete
  /{tenant}/users/{user-uuid}/workingprofile-items:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - User Working Profile Item Resource
      security:
      - SecurityScheme:
        - userprofile.read
        - userprofile.read.ou
        - userprofile.read.coco
        - userprofile.read.tenant
  /{tenant}/users/{user-uuid}/workingprofile2timeclass:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: timeclass-uuid
        in: query
        schema:
          $ref: "#/components/schemas/UUID"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - User Working Profile 2 Timeclass Resource
      security:
      - SecurityScheme:
        - userprofile.read
        - userprofile.read.ou
        - userprofile.read.coco
        - userprofile.read.tenant
  /{tenant}/users/{user-uuid}/workloads:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Workloads Resource
      security:
      - SecurityScheme:
        - workinghoursprofile.read
        - workinghoursprofile.read.ou
        - workinghoursprofile.read.coco
        - workinghoursprofile.read.tenant
    post:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/WorkloadCreateDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create
      tags:
      - Workloads Resource
      security:
      - SecurityScheme:
        - workinghoursprofile.write
        - workinghoursprofile.write.ou
        - workinghoursprofile.write.coco
        - workinghoursprofile.write.tenant
  /{tenant}/users/{user-uuid}/workloads/{workloads-uuid}:
    put:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: workloads-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/WorkloadCreateDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Update
      tags:
      - Workloads Resource
      security:
      - SecurityScheme:
        - workinghoursprofile.write
        - workinghoursprofile.write.ou
        - workinghoursprofile.write.coco
        - workinghoursprofile.write.tenant
    delete:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: workloads-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/WorkloadCreateDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete
      tags:
      - Workloads Resource
      security:
      - SecurityScheme:
        - workinghoursprofile.write
        - workinghoursprofile.write.ou
        - workinghoursprofile.write.coco
        - workinghoursprofile.write.tenant
  /{tenant}/users/{user-uuid}/workloads/{workloads-uuid}/audit:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: workloads-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Audit
      tags:
      - Workloads Resource
      security:
      - SecurityScheme:
        - audit.read
  /{tenant}/users/{user-uuid}/worktimes/report:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Report
      tags:
      - User Worktime Resource
      security:
      - SecurityScheme:
        - worktime.report
        - worktime.report.ou
        - worktime.report.coco
        - worktime.report.tenant
  /{tenant}/users/{user-uuid}/worktimes/{worktime-uuid}/audit:
    get:
      parameters:
      - name: user-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: worktime-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Audit
      tags:
      - User Worktime Resource
      security:
      - SecurityScheme:
        - audit.read
  /{tenant}/users/{userUuid}/productivityfavorite:
    get:
      parameters:
      - name: userUuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
      summary: List
      tags:
      - Productivity Favorite Ressource
    post:
      parameters:
      - name: userUuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ProductivityFavoriteCreateDto"
        required: true
      responses:
        "200":
          description: OK
        "400":
          description: Bad Request
      summary: Create
      tags:
      - Productivity Favorite Ressource
  /{tenant}/users/{userUuid}/productivityfavorite/{productivityfavoriteUuid}:
    put:
      parameters:
      - name: productivityfavoriteUuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: userUuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ProductivityFavoriteCreateDto"
        required: true
      responses:
        "200":
          description: OK
        "400":
          description: Bad Request
      summary: Update
      tags:
      - Productivity Favorite Ressource
    get:
      parameters:
      - name: productivityfavoriteUuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: userUuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
      summary: Read
      tags:
      - Productivity Favorite Ressource
    delete:
      parameters:
      - name: productivityfavoriteUuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      - name: userUuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
      summary: Delete
      tags:
      - Productivity Favorite Ressource
  /{tenant}/weeks:
    get:
      parameters:
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Week Resource
      security:
      - SecurityScheme:
        - '**'
  /{tenant}/workingprofile:
    get:
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Working Profile Resource
      security:
      - SecurityScheme:
        - workingprofile.read
  /{tenant}/worktimes:
    get:
      parameters:
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: user
        in: query
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/WorktimeDto"
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Worktime Resource
      security:
      - SecurityScheme:
        - worktime.read
        - worktime.read.ou
        - worktime.read.coco
        - worktime.read.tenant
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/WorktimeCreateDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create New Worktimes
      tags:
      - Worktime Resource
      security:
      - SecurityScheme:
        - worktime.create
        - worktime.create.ou
        - worktime.create.coco
        - worktime.create.tenant
  /{tenant}/worktimes/correction:
    get:
      parameters:
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: user
        in: query
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/WorktimeDto"
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List
      tags:
      - Worktime Correction Resource
      security:
      - SecurityScheme:
        - worktime.correction
        - worktime.correction.self
        - worktime.correction.ou
        - worktime.correction.coco
        - worktime.correction.tenant
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/WorktimeCreateDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Create New Worktimes
      tags:
      - Worktime Correction Resource
      security:
      - SecurityScheme:
        - worktime.correction
        - worktime.correction.self
        - worktime.correction.ou
        - worktime.correction.coco
        - worktime.correction.tenant
  /{tenant}/worktimes/correction/{worktime-uuid}:
    put:
      parameters:
      - name: worktime-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/WorktimeEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Edit Worktimes
      tags:
      - Worktime Correction Resource
      security:
      - SecurityScheme:
        - worktime.correction
        - worktime.correction.self
        - worktime.correction.ou
        - worktime.correction.coco
        - worktime.correction.tenant
    delete:
      parameters:
      - name: worktime-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete Worktimes
      tags:
      - Worktime Correction Resource
      security:
      - SecurityScheme:
        - worktime.correction
        - worktime.correction.self
        - worktime.correction.ou
        - worktime.correction.coco
        - worktime.correction.tenant
  /{tenant}/worktimes/hourly:
    get:
      parameters:
      - name: from
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: to
        in: query
        schema:
          $ref: "#/components/schemas/LocalDate"
      - name: user
        in: query
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/WorktimeDto"
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: List Hourly
      tags:
      - Worktime Resource
      security:
      - SecurityScheme:
        - worktime.read
        - worktime.read.ou
        - worktime.read.coco
        - worktime.read.tenant
  /{tenant}/worktimes/{worktime-uuid}:
    get:
      parameters:
      - name: worktime-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Read
      tags:
      - Worktime Resource
      security:
      - SecurityScheme:
        - worktime.read
        - worktime.read.ou
        - worktime.read.coco
        - worktime.read.tenant
    put:
      parameters:
      - name: worktime-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/WorktimeEditDto"
        required: true
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
        "400":
          description: Bad Request
      summary: Edit Worktimes
      tags:
      - Worktime Resource
      security:
      - SecurityScheme:
        - worktime.update
        - worktime.update.ou
        - worktime.update.coco
        - worktime.update.tenant
    delete:
      parameters:
      - name: worktime-uuid
        in: path
        required: true
        schema:
          $ref: "#/components/schemas/UUID"
      responses:
        "200":
          description: OK
        "401":
          description: Not Authorized
        "403":
          description: Not Allowed
      summary: Delete Worktimes
      tags:
      - Worktime Resource
      security:
      - SecurityScheme:
        - worktime.delete
        - worktime.delete.ou
        - worktime.delete.coco
        - worktime.delete.tenant
info:
  title: core-backend API
  version: 5.0.15
