Skip to main content

Profile & Account

Your profile is where you keep your own details current — name, phone numbers, addresses, avatar, language, time zone — and decide how Resgrid reaches you: which channels for calls, messages and notifications, quiet hours, and verified contact methods. It also holds your certifications, staffing schedules (automatic status changes), scheduled report deliveries, and the departments you belong to.

Profile dropdown → Profile. Administrators can open any member's profile from Personnel.

Edit profile

Scheduled Reports​

Authorization: Profile_View / Profile_Update policies

Report delivery

Viewing Scheduled Reports​

Lists configured scheduled report deliveries with type, active status, day schedule, and time.

Creating Scheduled Reports​

FieldRequiredDescription
Report TypeYesType of report to deliver
DaysYesDay(s) of week for delivery
TimeYesDelivery time
ActiveDefault OnWhether the schedule is active

Creates a ScheduledTask of type ReportDelivery.

Editing Scheduled Reports​

Modify existing report delivery schedules.

Staffing Schedules​

Creating Staffing Schedules​

Staffing schedules

Authorization: Profile_View / Profile_Update policies

FieldRequiredDescription
UserYesTarget user for schedule
Staffing LevelYesLevel to set at scheduled time
Schedule TypeYesWeekly or Specific Date/Time
Days (Weekly)ConditionalDay(s) of week
Date/Time (Specific)ConditionalExact date and time

Creates a ScheduledTask of type UserStaffingLevel.

Custom staffing levels are resolved from the department's custom state configuration.

Viewing Schedules​

Lists all staffing schedules for a user with custom state name resolution.

Managing Schedules​

  • Activate — Enable a disabled schedule
  • Deactivate — Disable an active schedule
  • Delete — Remove a schedule permanently

Certifications​

Viewing Certifications​

Authorization: Profile_View policy

Certifications

Lists all certifications for a user.

Adding Certifications​

FieldRequiredDescription
TypeYesCertification type
NameYesCertification name
NumberNoCertification number
IssuerNoIssuing organization
ExpiryNoExpiration date
AreaNoCertification area
FileNoSupporting document

File Upload Constraints:

  • Maximum 10 MB
  • Allowed types: jpg, jpeg, png, gif, pdf, doc, docx, ppt, pptx, pps, ppsx, odt, xls, xlsx, txt

Downloading Certification Files​

Retrieve attached certification documents with department ownership validation.

Password Reset​

Authorization: Profile_View policy

Administrators can reset passwords for other users:

  • Cannot reset the department owner's password
  • Uses UserManager.GeneratePasswordResetToken + ResetPassword
  • Optionally emails new credentials to the user

Your Departments​

Viewing Departments​

Lists all departments the user belongs to with default/active indicators.

Your departments

Joining a Department​

Join a new department using a department join code:

  1. Enter the department's link code
  2. System validates the code
  3. User added to the department

Switching Active Department​

Action: SetActiveDepartment (JSON body)

Switches the user's active department:

  1. Signs out the user
  2. Re-signs in with new department context
  3. Authentication claims are refreshed

Setting Default Department​

Sets which department loads by default on login. Also switches to it immediately.

Leaving a Department​

Action: DeleteDepartmentLink

Removes the user from a secondary department:

  • Complex logic handles active/default department reassignment
  • Re-signs in if the removed department was active

Avatar Management​

Retrieving Avatars​

The GetAvatar endpoint returns images by type:

  • Type 1 (or null) — User avatar
  • Type 2 — Department logo/avatar

Uploading Images​

  • Validates content type starts with image/
  • Converts to PNG format via ImageSharp library
  • Stores for later cropping

Cropping Images​

The Crop endpoint uses ImageSharp to:

  • Resize the image to specified dimensions
  • Crop to final size
  • Save as PNG

Account Deletion​

The AccountController handles permanent account deletion:

Prerequisites​

  • Must be a registered user (SystemRoles.Users)
  • System checks if user owns any departments (warns about ownership)
  • Requires confirmation (AreYouSure checkbox)

Deletion Process​

  1. User confirms deletion
  2. _deleteService.DeleteUserAccountAsync called
  3. Audit trail records IP address and user-agent
  4. Redirects to LogOff

Contact Method Verification​

Each contact method on a user's profile (email, mobile number, home number) has a verification status that determines whether the system will send dispatches, notifications, and messages through that channel. For full details, see Contact Method Verification.

Verification Status Indicators​

When viewing or editing a profile, each contact field displays a verification indicator:

IndicatorMeaningAction
Green verified badgeContact method is verifiedNo action needed
Yellow warning + Verify buttonContact method is pending verification; communications are blockedClick Verify to send a verification code
Subtle info bannerContact method is grandfathered (pre-existing); communications still workRecommended to verify for uninterrupted delivery

Verifying a Contact Method​

  1. Click the Verify button next to the unverified contact field.
  2. A verification code is sent to the contact method (email for email addresses, SMS for phone numbers).
  3. Enter the 6-digit code in the inline input that appears.
  4. Click Confirm to complete verification.
danger

Verification codes expire after 30 minutes. You can request up to 3 codes per hour per contact method, and attempt up to 5 verifications per day per contact method.

Automatic Verification Reset​

If you change your email address, mobile number, or home number, the verification status for the changed field is automatically reset to Pending. You must re-verify the new contact information before communications resume on that channel.

Setup examples​

Department typeHow to set it up
VolunteersVerify email and mobile so SMS dispatch works; set a staffing schedule Unavailable Mon–Fri 08:00–17:00 if you cannot leave work; enable push for calls and email for messages.
Career staffPush + SMS for calls only on duty days via a staffing schedule; certifications with expiry so the training officer gets reminders.
Officers / adminsSchedule the reports you read every month to your inbox; enable 2FA.
Members of several departmentsUse Your Departments to switch; notification preferences are per department.

Technical reference​

ProfileController, HomeController.EditUserProfile; routes /User/Profile/{Reporting,AddNewScheduledReport,EditScheduledReport,ViewSchedules,AddNewStaffingSchedule,EditStaffingSchedule,Certifications,AddCertification,EditCertification,YourDepartments,ResetPasswordForUser}; contact verification api/v4/ContactVerification/*; avatar via GetAvatar?id=; deletion under /User/Account/DeleteAccount.

Interactions with Other Modules​

ModuleInteraction
ReportsScheduled report delivery uses report generation
Custom StatusesCustom staffing levels in staffing schedules
CertificationsCertification types from Types module
DepartmentMulti-department membership management
SecurityPassword reset subject to admin permissions
DashboardActive department determines dashboard context
Contact VerificationVerification status gates outbound communications per channel