Dashboard overview
TheSpecialistPageComponent serves as the main dashboard for specialists:
specialist-page.component.ts:9-20
Key features
Manage appointments
View, update, and complete client appointments
Set availability
Configure working hours and available time slots
Add diagnoses
Record diagnosis details for completed appointments
View client history
Access complete appointment history for returning clients
Specialist model
Specialists have additional properties beyond the base user model:specialist.model.ts:3-8
Specialties
Specialists can offer multiple services:specialty.model.ts:1-7
- Haircut
- Beard trim
- Hair coloring
- Styling
- Hair treatment
Specialists can add or remove specialties from their profile to reflect their current service offerings.
Appointment management
Viewing appointments
The dashboard displays pending appointments prominently using theAppointmentsPendingComponent:
- Upcoming appointment details
- Client information
- Specialty and service details
- Appointment date and time
- Quick action buttons
Loading specialist appointments
Appointments are automatically loaded based on the specialist’s ID:appointment.facade.ts:92-98
Filtering by status
Specialists can filter appointments by status:appointment.facade.ts:168-185
- Pending
- Completed
- Canceled
View all scheduled appointments waiting to be completed
Date range queries
Specialists can query appointments within specific date ranges:appointment.facade.ts:187-206
- Reviewing weekly schedules
- Generating monthly reports
- Planning time off
- Analyzing appointment patterns
Completing appointments
Specialists can mark appointments as completed and add diagnosis information:Updating appointment status
Once an appointment is marked as completed, the client can rate the service.
Canceling appointments
Specialists can cancel appointments when necessary:- Select the appointment to cancel
- Click the cancel button
- Provide a detailed cancellation reason
- Confirm the cancellation
Managing availability
Specialists must configure their availability so clients can book appointments:Availability model
Availability is stored as an array of time slots:specialist.model.ts:5-6
Preset schedules
Specialists can choose from preset availability templates:- Full-time: Monday-Friday, 9:00 AM - 6:00 PM
- Part-time: Monday-Friday, 2:00 PM - 6:00 PM
- Weekends: Saturday-Sunday, 10:00 AM - 5:00 PM
- Custom: Define your own schedule
During registration
Specialists select their availability during account creation:register-form.component.ts:128-129
Specialists can update their availability at any time through their profile settings.
Client history
Specialists can view complete appointment history for returning clients:appointment.facade.ts:153-166
- Previous diagnoses and treatment notes
- Service preferences
- Rating history
- Appointment frequency
Access to client history helps specialists provide personalized service and track treatment progress.
Profile management
Specialists can update their profile:Editable fields
- Personal info
- Professional info
- Read-only
- First name and last name
- Phone number
- Profile picture
Managing specialties
Specialists can add or remove specialties:- Navigate to profile settings
- Open the specialty selector
- Select or deselect specialties
- Save changes
register-form.component.ts:143-147
Dashboard components
User information card
Displays specialist profile:- Name and profile picture
- Contact information
- Specialties offered
- Availability schedule
Appointments pending
Shows upcoming appointments with:- Client name and contact
- Appointment date and time
- Service requested
- Action buttons (complete, cancel, view details)
Navigation
The specialist dashboard provides quick navigation to:- Home: Return to main dashboard
- Appointments: View all appointments with filtering
- Clients: Access client list and history
- Profile: Edit professional information
- Logout: Sign out of the application
Appointment workflow
Typical specialist workflow:Reactive state management
The specialist dashboard uses Angular signals for real-time updates:- Automatic appointment list updates
- Loading states during data operations
- Error handling with notifications
- Optimistic UI updates for better UX
Permissions
Specialists have access to: ✅ View own appointments ✅ Complete and cancel appointments ✅ Add diagnoses to completed appointments ✅ View client appointment history ✅ Update own profile and availability ❌ Book appointments (specialist-specific limitation) ❌ Access other specialists’ appointments ❌ Modify client information ❌ Delete appointmentsAdmin users have access to all specialist features plus additional administrative capabilities.
Next steps
Appointments
Deep dive into appointment management
User Roles
Understand all user roles and permissions