🏢 Organization Title Management System - SOP

Standard Operating Procedures - Version 1.0

System Overview

The Organization Title Management System enables administrators to define and manage job titles within the organization, including band numbers and associated leave type configurations.

Key Features

🏢 Job Title Management

Create and manage organization-specific job titles and positions.

📊 Band Number System

Configure band numbers for salary and position classification.

📋 Leave Type Integration

Associate specific leave types with organization titles.

🔄 CRUD Operations

Full Create, Read, Update, and Delete functionality for titles.

🌙 Dark Mode Support

Complete dark mode theming for better user experience.

⏳ Loading States

Visual feedback during data operations with loading indicators.

System Architecture

1 Frontend Components
  • React Components: OrganizationTitle component with state management
  • UI Elements: Modal dialogs, tables, forms, and buttons
  • Icons: Lucide React icons for consistent visual language
  • Loading States: LoadingFlower component for data fetching
2 State Management
  • Redux Store: Centralized state management
  • organizationTitleSlice: Dedicated slice for title operations
  • Actions: create, fetch, update, delete operations
  • Selectors: Access to organization titles and loading states
3 Data Integration
  • Leave Type Integration: Real-time synchronization with leave types
  • Organization Context: Organization-based data isolation
  • API Integration: RESTful API calls for CRUD operations
  • Real-time Updates: Immediate UI updates after operations

Organization Title Data Structure

Field Type Description Required
id Number Unique identifier for the organization title Auto-generated
title String Job title name (e.g., "Senior Carer", "Team Lead") Yes
bandnumber String Band number for salary classification Yes
leaveTypeId Number ID of the associated leave type Optional
organizationId Number ID of the organization this title belongs to Yes
Dashboard Screenshot

Accessing the Organization Title System

How to navigate to and access the organization title management module.

1 Login to the Application
  • Navigate to the main application URL
  • Enter your username and password
  • Complete any required authentication steps
  • System validates your credentials and permissions
Dashboard Screenshot
2 Navigate to Organization Settings
  • From the main dashboard, locate the Admin or Settings section
  • Click on "Organization Management" or similar navigation item
  • Select "Organization Titles" from the submenu
  • System loads the Organization Title Management interface
Dashboard Screenshot
3 System Initialization
  • Component mounts and checks for organization ID
  • Automatically fetches existing organization titles from the server
  • Simultaneously fetches available leave types for association
  • Displays loading state during data retrieval
  • Renders the organization titles table once data is loaded
Note: The system automatically loads organization titles and leave types for your organization based on your user permissions. You'll only see data that belongs to your organization.

Organization Titles View

Understanding the main interface for viewing and managing organization titles.

Interface Components

1 Header Section
  • Page Title: "Organization Title Management"
  • Add Button: Circular yellow button with plus icon in top-right corner
  • Loading Indicator: Shows when data is being fetched
Dashboard Screenshot
2 Error Display Area
  • Position: Top of the content area, below header
  • Appearance: Red background with white text
  • Close Button: X icon on the right to dismiss errors
  • Auto-hide: Some errors auto-dismiss after timeout
3 Organization Titles Table
  • Structure: Responsive table with horizontal scrolling
  • Columns: Title, Band Number, Leave Type, Actions
  • Styling: Alternating row colors for better readability
  • Hover Effects: Rows highlight on hover
Dashboard Screenshot

Table Columns Explained

Column Description Data Source
Title Job title name (e.g., "Senior Carer", "Team Lead") organizationTitle.title
Band Number Salary band classification number organizationTitle.bandnumber
Leave Type Associated leave type name or "N/A" if not assigned leaveTypes.find(lt => lt.id === organizationTitle.leaveTypeId)?.name
Actions Edit and Delete buttons for each organization title Component-generated

Action Buttons

1 Edit Button
  • Appearance: Blue circular button with pencil icon
  • Position: First button in Actions column
  • Function: Opens edit modal with pre-filled data
  • Disabled State: Grayed out during loading operations
2 Delete Button
  • Appearance: Red circular button with trash icon
  • Position: Second button in Actions column
  • Function: Opens confirmation dialog for deletion
  • Disabled State: Grayed out during loading operations
Dashboard Screenshot

Adding Organization Titles

Process for creating new organization title configurations in the system.

Accessing the Add Function

1 Locate Add Button
  • Find the circular yellow button in the top-right corner
  • Button has a plus (+) icon
  • Hover shows tooltip: "Add Organization Title"
  • Button is always visible when on the organization titles page
Dashboard Screenshot
2 Click Add Button
  • Click the yellow circular button
  • System opens a slide-in modal from the right
  • Modal has teal gradient header: "Add Organization Title"
  • Form fields are empty and ready for input
Dashboard Screenshot

Filling Out the Form

1 Enter Organization Title
  • Field: Title (required)
  • Purpose: Job title name for the position
  • Format: Any text (e.g., "Senior Carer", "Team Lead", "Administrator")
  • Validation: Cannot be empty, must be unique within organization
2 Enter Band Number
  • Field: Band Number (required)
  • Purpose: Salary band classification
  • Format: Any text or number (e.g., "B3", "Level 2", "Senior")
  • Validation: Cannot be empty
3 Select Leave Type (Optional)
  • Field: Leave Type (optional)
  • Purpose: Associate a specific leave type with this title
  • Format: Dropdown selection of available leave types
  • Default: "Select Leave Type" (blank option)
  • Options: All leave types configured for the organization
Dashboard Screenshot

Submitting the Form

1 Review Information
  • Double-check all entered information
  • Ensure title is unique and descriptive
  • Verify band number is appropriate
  • Confirm leave type selection if applicable
2 Click Add Button
  • Locate the green "Add" button at bottom of modal
  • Button is disabled during submission to prevent duplicates
  • System validates all fields before submission
  • If validation fails, error messages display below fields
3 Success Confirmation
  • Modal closes automatically
  • Success message appears: "Organization title added successfully!"
  • New organization title appears in the table
  • Table automatically refreshes with updated data
Success: The new organization title is now available for assignment to employees and will appear in all relevant dropdowns throughout the system.

Editing Organization Titles

Process for modifying existing organization title configurations.

Accessing the Edit Function

1 Locate Edit Button
  • Find the blue circular button with pencil icon in Actions column
  • Button is available for every organization title in the table
  • Hover shows tooltip: "Edit"
  • Button is disabled during loading operations
Dashboard Screenshot
2 Click Edit Button
  • Click the blue edit button for the desired organization title
  • System opens a slide-in modal from the right
  • Modal has teal gradient header: "Edit Organization Title"
  • Form fields are pre-populated with current values
Dashboard Screenshot

Modifying Organization Title Details

1 Update Organization Title
  • Field: Title (required)
  • Current Value: Pre-filled with existing title
  • Editing: Modify as needed
  • Validation: Must be unique within organization
2 Update Band Number
  • Field: Band Number (required)
  • Current Value: Pre-filled with current band number
  • Editing: Modify as needed
  • Considerations: Changes may affect salary classifications
3 Update Leave Type Association
  • Field: Leave Type (optional)
  • Current Value: Pre-filled with current leave type
  • Editing: Change or remove association as needed
  • Considerations: Changes affect employees with this title
Important: Changes to organization titles will affect all employees currently assigned to this title. Consider the impact before saving changes.
Dashboard Screenshot

Saving Changes

1 Review Changes
  • Double-check all modified fields
  • Ensure title is still unique if changed
  • Verify new band number is appropriate
  • Confirm leave type association is correct
2 Click Update Button
  • Locate the green "Update" button at bottom of modal
  • Button is disabled during submission
  • System validates all fields before submission
  • If validation fails, error messages display below fields
3 Success Confirmation
  • Modal closes automatically
  • Success message appears: "Organization title updated successfully!"
  • Updated organization title appears in the table with new values
  • Table automatically refreshes with updated data
Success: The organization title has been updated and all employees assigned to this title will now have the new configuration.

Deleting Organization Titles

Process for removing organization titles from the system.

Accessing the Delete Function

1 Locate Delete Button
  • Find the red circular button with trash icon in Actions column
  • Button is available for every organization title in the table
  • Hover shows tooltip: "Delete"
  • Button is disabled during loading operations
Dashboard Screenshot
2 Click Delete Button
  • Click the red delete button for the desired organization title
  • System opens a confirmation dialog in the center of the screen
  • Dialog has title: "Confirm Delete"
  • Message: "Are you sure you want to delete this organization title?"
Dashboard Screenshot

Delete Confirmation Process

1 Review Deletion Impact
  • Check Dependencies: Ensure no employees are assigned to this title
  • Consider Alternatives: Could you edit instead of delete?
  • Backup Plan: Have a replacement title ready if needed
  • Data Loss: Deletion is permanent and cannot be undone
2 Confirmation Options
  • Cancel Button: Gray button to abort deletion
  • Delete Button: Red button to confirm deletion
  • Default Focus: Cancel button for safety
  • Keyboard Shortcut: ESC key also cancels the dialog
Warning: Deleting an organization title that is assigned to employees may cause system errors. Always reassign employees to a different title before deletion.
Dashboard Screenshot

Completing the Deletion

1 Confirm Deletion
  • Click the red "Delete" button in the confirmation dialog
  • System immediately processes the deletion request
  • Confirmation dialog closes
  • Loading state may appear briefly during processing
2 Success Confirmation
  • Success message appears: "Organization title deleted successfully!"
  • Deleted organization title disappears from the table
  • Table automatically refreshes with updated data
  • Success message auto-dismisses after 2 seconds
3 System Cleanup
  • Any references to the deleted title are handled
  • System remains stable and functional
  • No residual data from the deleted title remains
Success: The organization title has been permanently removed from the system and will no longer appear in any dropdowns or assignments.

Leave Type Integration

How organization titles integrate with leave type management for comprehensive employee configuration.

Integration Architecture

1 Data Synchronization
  • Real-time Fetching: Leave types are fetched simultaneously with organization titles
  • Organization Scope: Only leave types belonging to the current organization are available
  • Automatic Updates: Changes to leave types reflect immediately in organization titles
  • Error Handling: Graceful handling of missing leave types
2 Association Logic
  • Optional Association: Leave type assignment is not mandatory
  • Dropdown Population: Leave types are displayed in alphabetical order
  • Display Logic: Shows leave type name or "N/A" if not assigned
  • Fallback Handling: If leave type is deleted, shows "N/A" gracefully
Dashboard Screenshot

Use Cases for Leave Type Association

1 Standardized Leave Policies
  • Scenario: Different job titles have different leave entitlements
  • Example: "Senior Carer" gets 25 annual leave days, "Junior Carer" gets 20
  • Implementation: Associate each title with appropriate leave type
  • Benefit: Automated leave entitlement assignment
2 Flexible Configuration
  • Scenario: Some titles don't require specific leave configurations
  • Example: Contract positions or temporary roles
  • Implementation: Leave leave type field blank
  • Benefit: Flexible system that accommodates various employment types
3 Bulk Employee Management
  • Scenario: Managing leave entitlements for multiple employees
  • Example: All "Team Lead" positions should have executive leave package
  • Implementation: Set leave type once at title level
  • Benefit: Consistent policy application across organization

Best Practices for Leave Type Association

1 Strategic Planning
  • Define leave types before creating organization titles
  • Plan which titles require specific leave configurations
  • Consider future organizational structure changes
  • Document the leave type assignment strategy
2 Consistency Maintenance
  • Regularly review leave type assignments
  • Update associations when leave policies change
  • Ensure similar titles have consistent leave configurations
  • Audit assignments during organizational reviews
3 Change Management
  • Communicate changes to affected employees
  • Update employee records when title associations change
  • Maintain historical data for reporting purposes
  • Test changes in a development environment first
Integration Benefit: The leave type integration provides a powerful way to standardize leave entitlements across job titles, ensuring consistency and reducing manual configuration for individual employees.

Error Handling

Understanding and resolving system errors in the organization title management module.

Error Display System

1 Error Message Location
  • Position: Top of content area, below page header
  • Appearance: Red background with white text
  • Sticky: Remains visible when scrolling
  • Close Button: X icon on right side to dismiss
2 Error Types
  • Duplicate Errors: "already exists" - organization title name conflict
  • Validation Errors: Form field validation failures
  • Network Errors: API connection issues
  • Permission Errors: Insufficient user privileges
  • Data Integrity Errors: Leave type association issues

Common Error Scenarios

Error 1: Duplicate Organization Title Name

Error Message: "An organization title with this name already exists"

Cause: Attempting to create or update an organization title with a name that already exists in the organization

Solution:

  • Choose a different name for the organization title
  • Edit the existing organization title instead of creating a new one
  • Check if the organization title was recently deleted and needs to be restored
Error 2: Validation Errors

Error Message: Various field-specific validation messages

Common Causes:

  • Empty required fields (Title, Band Number)
  • Invalid leave type ID (if leave type was deleted)
  • Special characters or invalid format in fields

Solution:

  • Fill in all required fields
  • Select a valid leave type from the dropdown
  • Use appropriate characters and formats
  • Contact support if legitimate special characters are needed
Error 3: Network Connection Issues

Error Message: Various network-related error messages

Common Causes:

  • Internet connection lost
  • Server unavailable or down for maintenance
  • API endpoint changes or incorrect URLs
  • Firewall or proxy blocking requests

Solution:

  • Check internet connection and try again
  • Wait for server maintenance to complete
  • Clear browser cache and reload the page
  • Contact IT support if issue persists
Error 4: Leave Type Association Issues

Error Message: "Invalid leave type association" or similar

Cause: Attempting to associate with a leave type that doesn't exist or isn't accessible

Solution:

  • Refresh the page to reload leave types
  • Select a different leave type from the dropdown
  • Leave the leave type field blank if not needed
  • Contact administrator to check leave type availability

Error Resolution Workflow

1 Read the Error Message
  • Carefully read the entire error message
  • Note any specific field names or values mentioned
  • Look for error codes or specific technical details
2 Identify the Cause
  • Determine which operation caused the error (create, update, delete)
  • Check if the error is related to specific data values
  • Verify if the error is consistent or intermittent
3 Attempt Basic Resolution
  • For validation errors: Correct the invalid data
  • For duplicate errors: Change the conflicting value
  • For network errors: Refresh the page and try again
  • For permission errors: Contact administrator
4 Escalate if Needed
  • If basic resolution fails, contact IT support
  • Provide the exact error message
  • Note what you were trying to do when the error occurred
  • Include any relevant screenshots
Pro Tip: Most errors can be resolved by carefully reading the error message and following the specific instructions provided. The system is designed to give clear, actionable error messages whenever possible.

Loading States

How the system handles loading and data fetching operations.

Loading Indicators

1 Initial Page Load
  • Trigger: When navigating to the organization titles page
  • Indicator: LoadingFlower component in center of screen
  • Duration: Until organization titles and leave types data is fetched from server
  • User Action: No action possible during this state
Dashboard Screenshot
2 CRUD Operation Loading
  • Trigger: During create, update, or delete operations
  • Indicator: Button disabled states and possible spinners
  • Duration: Until API request completes
  • User Action: Limited - cannot perform duplicate operations

Loading State Behavior

1 Button States During Loading
  • Add Button: Disabled during initial load and CRUD operations
  • Edit Buttons: Disabled during any loading state
  • Delete Buttons: Disabled during any loading state
  • Form Submit Buttons: Disabled during submission
2 User Experience During Loading
  • Visual Feedback: Clear indicators that operation is in progress
  • Prevention of Duplicates: System prevents duplicate submissions
  • Error Handling: Loading states handle network timeouts gracefully
  • Progressive Enhancement: UI remains functional where possible
3 Loading State Transitions
  • Initial: Empty table → LoadingFlower → Populated table
  • Create: Form open → Submit clicked → Loading → Success/Error
  • Update: Form open → Submit clicked → Loading → Success/Error
  • Delete: Confirm dialog → Delete clicked → Loading → Success/Error

Performance Optimization

1 Efficient Data Fetching
  • Parallel Loading: Organization titles and leave types fetched simultaneously
  • On-Demand Loading: Data fetched only when needed
  • Optimistic Updates: UI updates before server confirmation
  • Error Recovery: System recovers gracefully from fetch failures
2 Memory Management
  • Component Cleanup: Proper cleanup on component unmount
  • State Management: Efficient Redux state updates
  • Event Listeners: Proper attachment and removal
  • Background Sync: Minimal impact on user interaction
Performance Tip: The loading states are designed to provide the best user experience while ensuring data integrity. The system prevents duplicate operations and provides clear feedback throughout all processes.

Dark Mode Support

How the system handles dark mode theming and provides optimal viewing in low-light conditions.

Dark Mode Implementation

1 Theme Detection
  • Prop-based: darkMode prop passed to component
  • Conditional Classes: Dynamic Tailwind classes based on theme
  • Consistent Styling: All UI elements support both themes
  • User Preference: Respects user's theme preference
2 Theme-Aware Components
  • Background Colors: Light gray in light mode, dark gray in dark mode
  • Text Colors: High contrast in both themes
  • Border Colors: Appropriate contrast for data separation
  • Interactive Elements: Consistent styling across themes

Theme-Specific Styling

1 Table Styling
  • Light Mode: White background with gray borders
  • Dark Mode: Dark gray background with lighter borders
  • Header: Consistent styling with appropriate contrast
  • Rows: Alternating colors adjusted for both themes
2 Modal and Form Styling
  • Modal Background: Theme-appropriate background colors
  • Form Elements: Consistent input styling in both themes
  • Buttons: Maintained contrast and visibility
  • Headers: Consistent teal gradient in both themes
3 Action Buttons
  • Edit Button: Consistent blue color in both themes
  • Delete Button: Consistent red color in both themes
  • Add Button: Consistent yellow color in both themes
  • Disabled States: Clear visual indicators in both themes
Dashboard Screenshot

Accessibility Considerations

1 Contrast Ratios
  • Text Contrast: Meets WCAG AA standards in both themes
  • Button Contrast: Sufficient contrast for all interactive elements
  • Border Contrast: Clear visual separation of elements
  • Error States: High contrast for important information
2 Colorblind-Friendly
  • Action Colors: Not relying solely on color for meaning
  • Icons: Accompanying icons for color-coded actions
  • Status Indicators: Multiple visual cues for important states
  • Form Validation: Text labels in addition to color indicators
User Experience: The dark mode implementation provides a comfortable viewing experience in low-light conditions while maintaining all functionality and accessibility standards. Users can work in their preferred theme without compromising usability.

Troubleshooting Guide

Solutions to common issues and problems you may encounter in the organization title management system.

Common Issues

Issue 1: Organization Titles Not Loading

Symptoms: Loading spinner persists, table remains empty

Possible Causes:

  • Network connection issues
  • Server unavailable or down
  • Organization ID not available
  • Permission denied for current user

Solutions:

  • Check internet connection and try refreshing
  • Verify server status with system administrator
  • Ensure you're logged in with correct permissions
  • Clear browser cache and try again
  • Contact IT support if issue persists
Issue 2: Cannot Add New Organization Title

Symptoms: Add button doesn't work, or form submission fails

Possible Causes:

  • Duplicate organization title name
  • Validation errors in form fields
  • Network connection issues
  • Insufficient permissions

Solutions:

  • Check for duplicate name error message
  • Verify all required fields are filled correctly
  • Ensure title and band number are provided
  • Check network connection and try again
  • Contact administrator to verify permissions
Issue 3: Edit/Delete Buttons Disabled

Symptoms: Action buttons are grayed out and unclickable

Possible Causes:

  • System is in loading state
  • Another operation is in progress
  • Network delay or timeout
  • Browser performance issues

Solutions:

  • Wait for current operation to complete
  • Refresh the page if buttons remain disabled
  • Check browser console for error messages
  • Clear browser cache and try again
  • Try a different browser if issue persists
Issue 4: Leave Type Dropdown Empty

Symptoms: Leave type dropdown shows no options

Possible Causes:

  • No leave types configured for organization
  • Leave types failed to load
  • Network issues during data fetch
  • Permission issues accessing leave types

Solutions:

  • Check if leave types are configured in the system
  • Refresh the page to reload leave types
  • Verify network connection
  • Contact administrator to check leave type setup
  • Proceed without leave type association if not needed
Issue 5: Error Messages Not Clearing

Symptoms: Error messages remain visible after issue is resolved

Possible Causes:

  • Error state not being cleared properly
  • Multiple errors occurring in sequence
  • Browser caching previous error state

Solutions:

  • Click the X button to manually clear the error
  • Refresh the page to reset the error state
  • Perform a successful operation to clear previous errors
  • Clear browser cache and local storage

Advanced Troubleshooting

1 Browser Developer Tools
  • Console Tab: Check for JavaScript errors
  • Network Tab: Monitor API requests and responses
  • Application Tab: Check Redux state and local storage
  • Elements Tab: Inspect CSS and HTML structure
2 Data Validation
  • API Responses: Verify data structure from server
  • Redux State: Check organizationTitles array in Redux devtools
  • Form Data: Validate payload before submission
  • Error Messages: Note exact error text for support
3 Performance Issues
  • Large Datasets: Check if too many organization titles are loading
  • Memory Leaks: Monitor browser memory usage
  • Network Speed: Check internet connection speed
  • Browser Resources: Close other tabs to free resources

Contacting Support

When to Contact Support:
  • Issues persist after trying all troubleshooting steps
  • Systematic errors affecting multiple users
  • Data corruption or loss
  • Security concerns or unauthorized access
  • Feature requests or enhancement suggestions

Information to Provide:

  • Your user ID and organization
  • Exact error messages (screenshots helpful)
  • Steps to reproduce the issue
  • Browser and operating system version
  • Date and time the issue occurred
  • Any recent changes to your system