Settings & Configuration
Settings & Configuration Complete guide to system settings, user management, security configuration, and administrative features in Timesheet.
Timesheet provides comprehensive administrative settings for system configuration, user management, security controls, and operational preferences. This guide covers all administrative features available to system administrators.
The settings system includes:
System Settings - Core application configuration and preferences
User Management - User accounts, roles, and permissions
Security Settings - Authentication, access control, and audit logging
Integration Settings - External service configuration and API settings
Notification Settings - Email templates and notification preferences
Backup & Maintenance - Data backup, cleanup, and system maintenance
Single interface for all system settings
Environment-specific configurations
Real-time setting updates without restart
Configuration validation and error checking
Granular permission controls
Delegated administration capabilities
Audit trails for all administrative actions
Multi-level approval workflows
Comprehensive security controls
Password policies and enforcement
Session management and timeout controls
IP restrictions and access logging
Real-time system health monitoring
Performance metrics and analytics
Error logging and alerting
Automated maintenance tasks
Configure basic company details displayed throughout the system:
Setting Description Example companyNameCompany name displayed in headers "Acme Corporation Pty Ltd" companyLogoLogo URL for branding "/assets/logo.png" contactEmailPrimary contact email "support@company.com " contactPhonePrimary contact phone "+61 3 9000 0000" addressCompany address "123 Collins St, Melbourne VIC 3000" abnAustralian Business Number "12 345 678 901"
Configure date/time formats and timezone:
Setting Description Options timezoneSystem timezone Australia/Melbourne, Australia/Sydney dateFormatDate display format DD-MM-YYYY, MM/DD/YYYY, YYYY-MM-DD timeFormatTime display format 12-hour, 24-hour weekStartDayFirst day of week Sunday, Monday fiscalYearStartFiscal year start month January, July
Configure regional preferences for Australian compliance:
Setting Description Default currencyDefault currency AUD currencySymbolCurrency symbol $ decimalPlacesCurrency decimal places 2 numberFormatNumber formatting 1,234.56 publicHolidaysPublic holiday calendar Australian national + state
Setting Description Options defaultThemeDefault UI theme light, dark, auto enableDarkModeAllow dark mode toggle true, false defaultLanguageSystem language en-AU, en-US showEmployeePhotosDisplay employee photos true, false enableAnimationsUI animations true, false
Setting Description Default defaultDashboardViewDefault timesheet view week dashboardRefreshIntervalAuto-refresh interval (seconds) 300 showQuickStatsDisplay quick statistics true enableRealTimeUpdatesReal-time data updates true
Control which features are available:
Feature Description Default enableFaceDetectionFace detection for clock-in true enableGeofencingLocation-based restrictions true enableOfflineModeOffline functionality true enableShiftSwapsEmployee shift swapping true enableLeaveRequestsLeave request system true enableAnalyticsAnalytics and reporting true
Setting Description Default clockIdleTimeoutAuto-logout timeout (seconds) 30 enablePhotoCaptureRequire photos for clock-in true photoQualityPhoto compression quality 0.85 faceDetectionConfidenceFace detection threshold 0.65 minFaceSizeMinimum face size ratio 0.18
Setting Description Default defaultGeofenceRadiusDefault radius (metres) 100 defaultGeofenceModeDefault enforcement mode soft enableGpsTrackingGPS location tracking true locationAccuracyThresholdGPS accuracy requirement (metres) 50
Setting Description Default autoApplyBreakRulesAutomatically apply break rules true breakReminderEnabledSend break reminders true breakReminderThresholdReminder threshold (hours) 4.5 unpaidBreakDeductionAuto-deduct unpaid breaks true
Role Description Permissions super_adminSystem administrator Full system access adminCompany administrator All company data access managerDepartment manager Assigned location/role access supervisorTeam supervisor Team member access only userRegular employee Own data access only
Employee Management - Create, edit, delete employees
Timesheet Management - View, edit timesheet data
Roster Management - Create, edit rosters and schedules
Award Management - Configure awards and pay rules
Device Management - Register and manage devices
System Settings - Access system configuration
Reporting - Generate and export reports
User Management - Manage user accounts
POST /api/users
Content-Type : application/json
{
"name" : "Jane Manager" ,
"email" : "jane.manager@company.com" ,
"role" : "manager" ,
"location" : [ "Head Office" , "Warehouse" ],
"managedRoles" : [ "Casual Employee" , "Part-time Employee" ],
"isActive" : true ,
"requirePasswordChange" : true
}
Field Type Description nameString Full name emailString Email address (unique) roleString System role locationArray Accessible locations managedRolesArray Roles user can manage isActiveBoolean Account status lastLoginDate Last login timestamp passwordChangedAtDate Last password change
Configure password requirements:
Setting Description Default minPasswordLengthMinimum password length 8 requireUppercaseRequire uppercase letters true requireLowercaseRequire lowercase letters true requireNumbersRequire numbers true requireSpecialCharsRequire special characters true passwordExpiryPassword expiry (days) 90 preventReusePrevent password reuse count 5
Users can be restricted to specific locations:
View employees at assigned locations only
Create timesheets for assigned locations
Generate reports for accessible locations
Manage devices at assigned locations
Managers can be assigned specific roles to manage:
Create/edit employees with managed roles
View timesheets for managed role employees
Assign managed roles to employees
Generate reports for managed roles
Configure access time restrictions:
Business hours only access
Weekend access restrictions
Holiday access controls
Emergency access procedures
Setting Description Default sessionTimeoutSession timeout (minutes) 480 sessionExtendOnActivityExtend session on activity true maxConcurrentSessionsMax sessions per user 3 forceLogoutOnPasswordChangeForce logout on password change true
Setting Description Default maxLoginAttemptsMax failed login attempts 5 lockoutDurationAccount lockout duration (minutes) 30 enableTwoFactorTwo-factor authentication false requireStrongPasswordsEnforce password policy true
Configure IP-based access controls:
Whitelist specific IP addresses
Block suspicious IP addresses
Geo-location restrictions
VPN detection and blocking
The system logs all significant events:
User login/logout activities
Employee data modifications
Timesheet entries and edits
System setting changes
Security events and violations
Setting Description Default enableAuditLoggingEnable audit logging true logRetentionDaysLog retention period (days) 2555 (7 years) logLevelLogging detail level info enableRealTimeAlertsReal-time security alerts true
Generate compliance reports for:
Fair Work audit requirements
Privacy Act compliance
Security incident reporting
Data access auditing
Setting Description Default enableDataEncryptionEncrypt sensitive data true anonymizeOldDataAnonymize old employee data false dataRetentionYearsData retention period 7 enableRightToErasureSupport data deletion requests true
Setting Description Default enableAutoBackupAutomatic database backups true backupFrequencyBackup frequency daily backupRetentionBackup retention (days) 90 encryptBackupsEncrypt backup files true
Image storage and management:
Setting Description Required cloudinaryCloudNameCloudinary cloud name Yes cloudinaryApiKeyAPI key Yes cloudinaryApiSecretAPI secret Yes uploadPresetUpload preset name No imageQualityDefault image quality No
Email notifications and communications:
Setting Description Required smtpHostSMTP server hostname Yes smtpPortSMTP server port Yes smtpUserSMTP username Yes smtpPasswordSMTP password Yes smtpSecureUse SSL/TLS No emailFromAddressFrom email address Yes emailFromNameFrom display name No
Setting Description Default apiRateLimitRequests per minute 100 apiRateLimitWindowRate limit window (seconds) 60 enableApiThrottlingEnable request throttling true maxRequestSizeMaximum request size (MB) 10
Setting Description Default enableApiAuthenticationRequire API authentication true apiKeyExpiryAPI key expiry (days) 365 enableCorsEnable CORS true allowedOriginsAllowed CORS origins *
Customize email templates for various notifications:
Employee onboarding emails
Password reset notifications
Timesheet approval requests
System alert notifications
Roster change notifications
Available variables for email templates:
{{employeeName}} - Employee full name
{{companyName}} - Company name
{{date}} - Current date
{{time}} - Current time
{{rosterId}} - Roster ID
{{shiftDate}} - Shift date
{{location}} - Location name
Notification Type Description Default lateArrivalAlertsLate arrival notifications true overtimeAlertsOvertime threshold alerts true missedBreakAlertsMissed break notifications true deviceOfflineAlertsDevice offline notifications true systemErrorAlertsSystem error notifications true
Setting Description Default adminNotificationEmailAdmin notification email admin@company.com systemNotificationEmailSystem notification email system@company.com enableEmployeeNotificationsSend notifications to employees true enableManagerNotificationsSend notifications to managers true
GET /api/settings?category=general
Query Parameters:
category - Settings category (general, security, notifications)
Response:
{
"settings" : {
"companyName" : "Acme Corporation Pty Ltd" ,
"timezone" : "Australia/Melbourne" ,
"dateFormat" : "DD-MM-YYYY" ,
"enableFaceDetection" : true ,
"defaultGeofenceRadius" : 100
}
}
PATCH /api/settings
Content-Type : application/json
{
"companyName" : "Updated Company Name" ,
"enableFaceDetection" : false ,
"defaultGeofenceRadius" : 150
}
GET /api/users?role=manager&isActive=true
POST /api/users
Content-Type : application/json
{
"name" : "New Manager" ,
"email" : "manager@company.com" ,
"role" : "manager" ,
"location" : [ "Head Office" ],
"managedRoles" : [ "Casual Employee" ]
}
PATCH /api/users/{userId}/permissions
Content-Type : application/json
{
"location" : [ "Head Office" , "Warehouse" ],
"managedRoles" : [ "Casual Employee" , "Part-time Employee" ]
}
GET /api/audit-logs?startDate=2024-01-01&endDate=2024-01-31&eventType=login
GET /api/security/report?period=monthly
Regular Reviews - Review settings quarterly
Documentation - Document all configuration changes
Testing - Test settings in development environment first
Backup - Backup configuration before major changes
Principle of Least Privilege - Grant minimum required permissions
Regular Audits - Review user access regularly
Offboarding Process - Disable accounts promptly when employees leave
Training - Provide training on system usage and security
Strong Passwords - Enforce strong password policies
Regular Updates - Keep system and dependencies updated
Monitoring - Monitor for suspicious activities
Incident Response - Have incident response procedures
Regular Maintenance - Perform regular database maintenance
Monitor Performance - Track system performance metrics
Capacity Planning - Plan for growth and scaling
Optimization - Optimize queries and processes
Check user permissions for settings management
Verify setting validation requirements
Check for conflicting settings
Review error logs for validation failures
Verify user role and permissions
Check location and role assignments
Confirm account is active
Review IP restrictions and access controls
Verify SMTP configuration
Check email template configuration
Test email connectivity
Review spam/junk folders
Check database performance
Review system resource usage
Optimize slow queries
Consider scaling options
POST /api/system/validate-config