Web Repository - Feature Inventory¶
Overview¶
This document catalogs all features implemented in the Psyter Web Application, organized by user role and functional area. Each feature includes dependencies, integration points, and technical implementation details.
Public Features (Unauthenticated Users)¶
1. Home Page & Public Website¶
Feature: Public landing page with service information
Controllers: WebController
Views:
- ~/Views/Web/English/Home.cshtml
- ~/Views/Web/Arabic/Home.cshtml
Key Functionality:
- Service overview and features
- Care provider highlights
- Testimonials
- Blog/article snippets
- Download app section (iOS, Android, Huawei)
- Language switcher (English/Arabic)
- Mobile-responsive design
Dependencies:
- SEO metadata from database
- Static content/images
- Google Analytics integration
Integration Points:
- Google Analytics tracking
- Social media links
- Mobile app store links
2. Care Provider Listings¶
Feature: Browse and search care providers/therapists
Controllers: WebController.PhysicianList()
Views:
- ~/Views/Web/English/PhysicianList.cshtml
- ~/Views/Web/Arabic/PhysicianList.cshtml
Key Functionality:
- List all active care providers
- Filter by specialty, language, gender, availability
- View provider profiles
- See ratings and reviews
- Check availability
- Book appointments (requires login)
API Endpoints:
- GET /ServiceProvider/GetServiceProviders - Provider listings
- GET /Common/GetSpecialities - Specialty catalog
- GET /Common/GetLanguages - Language catalog
Dependencies:
- PsyterAPI for provider data
- Filtering/sorting logic
- Pagination support
Search Filters:
- Specialty
- Language
- Gender
- Availability
- Rating
- Best match algorithm
3. Care Provider Profile¶
Feature: View detailed care provider profile
Controllers: WebController.CareProviderDetail()
Views:
- ~/Views/Web/English/CareProviderDetail.cshtml
- ~/Views/Web/Arabic/CareProviderDetail.cshtml
Key Functionality:
- Personal information
- Professional experience
- Education history
- Specialties and services
- Availability calendar
- Ratings and reviews
- Session pricing
- Book appointment button
API Endpoints:
- GET /ServiceProvider/GetServiceProviderProfile/{id}
- GET /ServiceProvider/GetAvailability/{id}
- GET /ServiceProvider/GetRatings/{id}
4. User Registration¶
Feature: New user account creation (Patients & Care Providers)
Controllers: UserManagerController
Views:
- ~/Views/Web/English/Register.cshtml
- ~/Views/Web/Arabic/Register.cshtml
Registration Types:
1. Patient Registration:
- Personal information
- Contact details
- Password creation
- Email verification
- Care Provider Registration:
- Personal information
- Professional details
- Credentials upload
- Educational background
- Work experience
- Specialties selection
- National ID verification
- Terms & conditions acceptance
API Endpoints:
- POST /User/RegUser - Register new user
- GET /User/Verification/{code} - Verify email
Dependencies:
- Email service for verification
- File upload for credentials
- Catalog data (specialties, countries, etc.)
Validation:
- Email format and uniqueness
- Password strength
- Required fields
- File format and size limits
- National ID format (for Saudi Arabia)
5. User Authentication¶
Feature: Login and logout functionality
Controllers: UserManagerController
Views:
- ~/Views/Web/English/Login.cshtml
- ~/Views/Web/Arabic/Login.cshtml
Login Methods:
1. Email/Password
2. Mobile number (with country code)
3. Social login (Google, Apple) - if configured
API Endpoints:
- POST /authenticate - User login
- GET /User/GetUserDetails - User profile after login
Session Management:
- User info stored in session
- API tokens cached
- Role-based redirection after login
Features:
- Remember me functionality
- Forgot password link
- Multi-language support
6. Password Recovery¶
Feature: Forgot password and reset password
Controllers: UserManagerController
Views:
- ~/Views/Web/English/ForgotPassword.cshtml
- ~/Views/Web/English/ResetPassword.cshtml
- Arabic equivalents
Workflow:
1. User enters email
2. System sends reset link
3. User clicks link
4. User enters new password
5. Password updated
API Endpoints:
- POST /User/ForgotPassword - Request password reset
- POST /User/ResetPassword - Update password
7. Psychological Screening/Assessment¶
Feature: Take psychological assessment questionnaires
Controllers: ScreeningController, WebController
Views:
- ~/Views/Patient/English/Screening.cshtml
- ~/Views/Patient/Arabic/Screening.cshtml
Assessment Types:
- Depression screening
- Anxiety screening
- Stress assessment
- PTSD screening
- OCD screening
- Combined assessments (DASS - Depression, Anxiety, Stress Scale)
Key Functionality:
- Multi-step questionnaire
- Progress tracking
- Score calculation
- Results interpretation
- Recommendations based on scores
- Option to save results (requires login)
- Share results with care provider
API Endpoints:
- GET /Screening/GetQuestions/{type} - Get questions
- POST /Screening/SaveAnswers - Submit answers
- GET /Screening/GetResults/{id} - Get results
8. Content Pages¶
Feature: Informational and legal pages
Controllers: WebController, ContentManagerController
Pages:
- About Us
- FAQ (Frequently Asked Questions)
- Contact Us
- Privacy Policy
- Terms & Conditions
- Blog/Articles
- Disorders Information (Anxiety, Depression, PTSD, etc.)
- How It Works
Views: Separate English and Arabic views for each page
Features:
- Rich text content
- Images and media
- SEO optimization
- Mobile-responsive
API Endpoints:
- GET /Content/GetPage/{pageName} - Dynamic content
- GET /Content/GetFAQs - FAQ list
- GET /Content/GetBlogs - Blog posts
9. Contact Form¶
Feature: Contact form for inquiries
Controllers: WebController.Contact()
Fields:
- Name
- Email
- Phone
- Subject
- Message
API Endpoints:
- POST /Common/SendContactMessage
Features:
- Form validation
- Email notification to admin
- Confirmation message to user
Patient/Client Features (Authenticated)¶
10. Patient Dashboard¶
Feature: Patient home screen after login
Controllers: ClientController.Dashboard()
Views:
- ~/Views/Patient/English/Dashboard.cshtml
- ~/Views/Patient/Arabic/Dashboard.cshtml
Dashboard Sections:
- Upcoming appointments
- Recent messages
- Assigned homework
- Diary entries
- Quick actions (book appointment, screening, etc.)
- Notifications
11. Profile Management¶
Feature: View and edit patient profile
Controllers: ClientController.Profile()
Profile Sections:
1. Personal Information:
- Name, date of birth, gender
- Profile photo
- Contact information
- Address
-
Account Settings:
- Email
- Password
- Language preference
- Timezone
- Notification preferences -
Medical History (if applicable):
- Current medications
- Allergies
- Previous treatments
API Endpoints:
- GET /User/GetProfile/{userId}
- PUT /User/UpdateProfile
- POST /User/UploadProfilePhoto
12. Appointment Booking¶
Feature: Book appointments with care providers
Controllers: ClientController.BookAppointment()
Booking Flow:
1. Select care provider (or let system recommend)
2. View provider’s available slots
3. Select preferred date/time
4. Choose session type (video/audio)
5. Apply discount code (optional)
6. Confirm booking
7. Payment processing
8. Receive confirmation
Session Types:
- Initial consultation (longer session)
- Follow-up session
- Group session
Payment Options:
- Credit/Debit card (Visa, Mastercard, Mada)
- Apple Pay (if available)
- Package/subscription credits
API Endpoints:
- GET /Availability/GetProviderAvailability/{providerId}
- POST /Booking/CreateBooking
- POST /Payment/ProcessPayment
- GET /Booking/GetBookingDetails/{bookingId}
Features:
- Calendar view of availability
- Time zone conversion
- Automatic reminders (email/SMS)
- Waiting list option if no slots available
13. Appointment Management¶
Feature: View and manage booked appointments
Controllers: ClientController.MyAppointments()
Key Functionality:
- View upcoming appointments
- View past appointments
- Join video/audio session
- Cancel appointment
- Reschedule appointment
- View appointment details
- Download appointment summary
Appointment Status:
- Scheduled
- Completed
- Cancelled
- No-show
- In-progress
API Endpoints:
- GET /Booking/GetClientBookings/{clientId}
- PUT /Booking/CancelBooking/{bookingId}
- PUT /Booking/RescheduleBooking
14. Video/Audio Sessions¶
Feature: Attend virtual therapy sessions
Controllers: ClientController.JoinSession()
Views:
- ~/Views/Patient/English/VideoSession.cshtml
- Meeting interface views
Session Features:
- Video conferencing (WebRTC-based)
- Audio-only option
- Chat messaging during session
- Screen sharing (for care provider)
- Session recording (with consent)
- Connection quality indicator
- Technical support button
Meeting Controls:
- Microphone mute/unmute
- Camera on/off
- Switch camera (mobile)
- Volume control
- End call
- Report technical issues
Pre-session Checks:
- Camera/microphone test
- Connection quality test
- System compatibility check
Technical Stack:
- WebRTC for peer-to-peer communication
- Signaling server for session initiation
- TURN/STUN servers for NAT traversal
API Endpoints:
- GET /Session/GetSessionToken/{bookingId}
- POST /Session/StartSession/{bookingId}
- POST /Session/EndSession/{bookingId}
- POST /Session/ReportIssue
15. Messaging¶
Feature: Secure messaging with care providers
Controllers: ClientController.Messages()
Views:
- ~/Views/Patient/English/Messages.cshtml
- ~/Views/Patient/Arabic/Messages.cshtml
Key Functionality:
- View message threads
- Send text messages
- Attach files/images
- Read receipts
- Message history
- Search messages
- Unread message notifications
API Endpoints:
- GET /Message/GetThreads/{userId}
- GET /Message/GetMessages/{threadId}
- POST /Message/SendMessage
- POST /Message/UploadAttachment
Features:
- Real-time messaging (WebSocket or polling)
- File attachments (images, PDFs)
- Message encryption for security
- Offline message storage
16. Prescriptions¶
Feature: View prescriptions from care providers
Controllers: ClientController.Prescriptions()
Views:
- ~/Views/Patient/English/Prescriptions.cshtml
Key Functionality:
- View prescription list
- View prescription details
- Download prescription (PDF)
- Print prescription
- Prescription history
Prescription Information:
- Medication name and dosage
- Duration
- Instructions
- Prescriber information
- Date prescribed
- Pharmacy notes
API Endpoints:
- GET /Prescription/GetClientPrescriptions/{clientId}
- GET /Prescription/GetPrescriptionDetails/{prescriptionId}
- GET /Prescription/DownloadPDF/{prescriptionId}
17. Diary/Journal¶
Feature: Personal journal for mental health tracking
Controllers: ClientController.Diary()
Views:
- ~/Views/Patient/English/Diary.cshtml
Key Functionality:
- Create diary entries
- Edit entries
- Delete entries
- View entry history
- Mood tracking
- Activity logging
- Share entries with care provider (optional)
Entry Fields:
- Date and time
- Mood rating (1-10 scale)
- Activities performed
- Thoughts and feelings
- Sleep quality
- Medication adherence
- Notes
API Endpoints:
- GET /Diary/GetEntries/{clientId}
- POST /Diary/CreateEntry
- PUT /Diary/UpdateEntry/{entryId}
- DELETE /Diary/DeleteEntry/{entryId}
Features:
- Calendar view
- Mood graphs/trends
- Export to PDF
- Privacy controls
18. Homework Assignments¶
Feature: View and complete assigned homework
Controllers: ClientController.Homework()
Views:
- ~/Views/Patient/English/Homework.cshtml
Key Functionality:
- View assigned homework
- Download homework files
- Submit completed homework
- Upload attachments
- View homework history
- Track completion status
Homework Types:
- Reading materials
- Worksheets
- Exercises
- Reflections
- Videos to watch
- Activities to complete
API Endpoints:
- GET /Homework/GetClientHomework/{clientId}
- POST /Homework/SubmitHomework/{homeworkId}
- POST /Homework/UploadAttachment
19. Payment History & Wallet¶
Feature: View payment history and wallet balance
Controllers: ClientController.Wallet(), PaymentController
Views:
- ~/Views/Patient/English/Wallet.cshtml
- ~/Views/Patient/English/PaymentHistory.cshtml
Wallet Features:
- View current balance
- Add funds
- View transaction history
- Refund requests
- Promotional credit
Payment History:
- All transactions
- Appointment payments
- Refunds
- Package purchases
- Receipt download
API Endpoints:
- GET /Payment/GetWalletBalance/{userId}
- POST /Payment/AddFunds
- GET /Payment/GetTransactionHistory/{userId}
- POST /Payment/RequestRefund/{transactionId}
20. User Preferences¶
Feature: Set personal preferences for care provider matching
Controllers: UserPreferenceDataController, ClientController
Views:
- ~/Views/Patient/English/UserPreference.cshtml
Preference Categories:
1. Care Provider Preferences:
- Gender preference
- Language preference
- Specialty preference
- Age range preference
-
Communication Preferences:
- Preferred session type (video/audio)
- Notification preferences
- Reminder frequency -
Scheduling Preferences:
- Preferred days
- Preferred times
- Time zone
API Endpoints:
- GET /UserPreference/GetPreferences/{userId}
- POST /UserPreference/SavePreferences
Features:
- Best match algorithm uses preferences
- Optional - can skip
- Can update anytime
21. Questionnaire History¶
Feature: View past screening/assessment results
Controllers: ClientController.QuestionnaireHistory()
Views:
- ~/Views/Patient/English/QuestionnaireHistory.cshtml
Key Functionality:
- View all completed questionnaires
- See score trends over time
- Compare results
- Download reports
- Share with care provider
API Endpoints:
- GET /Screening/GetUserResults/{userId}
- GET /Screening/GetResultDetails/{resultId}
22. Referrals¶
Feature: Refer friends and family
Controllers: ClientController.Referral()
Views:
- ~/Views/Patient/English/Referral.cshtml
Key Functionality:
- Generate referral link
- Share via email, SMS, social media
- Track referrals
- View referral rewards
- Redeem rewards
Rewards System:
- Credit for successful referrals
- Discounts on appointments
- Free sessions after X referrals
API Endpoints:
- GET /Referral/GetReferralCode/{userId}
- POST /Referral/SendReferral
- GET /Referral/GetReferralStats/{userId}
23. Rate Care Provider¶
Feature: Rate and review care providers after sessions
Controllers: ClientController.RateCareProvider()
Rating Categories:
- Overall experience (1-5 stars)
- Professionalism
- Communication
- Helpfulness
- Written review (optional)
API Endpoints:
- POST /Rating/SubmitRating
- GET /Rating/GetUserRatings/{userId}
Features:
- Can only rate after completed session
- One rating per session
- Anonymous review option
24. Packages & Subscriptions¶
Feature: Purchase appointment packages
Controllers: ClientController.Packages()
Package Types:
- 5 sessions package
- 10 sessions package
- Monthly subscription
- Custom packages (organization)
Benefits:
- Discounted rates
- Priority booking
- Flexible scheduling
- Valid for X months
API Endpoints:
- GET /Package/GetAvailablePackages
- POST /Package/PurchasePackage/{packageId}
- GET /Package/GetUserPackages/{userId}
25. Notifications¶
Feature: View all notifications
Controllers: ClientController.Notifications()
Notification Types:
- Appointment reminders
- New messages
- Homework assignments
- Prescription updates
- System announcements
- Promotional offers
API Endpoints:
- GET /Notification/GetUserNotifications/{userId}
- PUT /Notification/MarkAsRead/{notificationId}
- DELETE /Notification/Delete/{notificationId}
Care Provider Features (Authenticated)¶
26. Care Provider Dashboard¶
Feature: Provider home screen
Controllers: ServiceProviderController.Dashboard()
Views:
- ~/Views/Physician/English/Dashboard.cshtml
- ~/Views/Physician/Arabic/Dashboard.cshtml
Dashboard Sections:
- Today’s appointments
- Pending tasks (notes, homework review)
- New patient requests
- Messages
- Quick stats (total patients, sessions this week, etc.)
- Financial summary
27. Profile & CV Management¶
Feature: Manage professional profile
Controllers: ServiceProviderController.Profile()
Profile Sections:
1. Personal Information:
- Name, photo
- Contact details
- Languages spoken
- Gender
-
Professional Information:
- Specialties
- Professional bio
- Years of experience
- License number
- Professional memberships -
Education:
- Degrees and certifications
- Universities attended
- Graduation years
- Certificates upload -
Work Experience:
- Current position
- Previous positions
- Workplace details
- Duration -
Services Offered:
- Session types
- Pricing
- Specializations -
Documents:
- National ID
- Professional license
- Certificates
- Insurance
API Endpoints:
- GET /ServiceProvider/GetProfile/{providerId}
- PUT /ServiceProvider/UpdateProfile
- POST /ServiceProvider/UploadDocument
28. Availability/Schedule Management¶
Feature: Manage working hours and availability
Controllers: PhysicianAvailabilityController, ServiceProviderController.Availability()
Views:
- ~/Views/Physician/English/Availability.cshtml
Key Functionality:
- Set weekly schedule
- Set recurring availability
- Add one-time slots
- Block time off
- Set buffer times between appointments
- Maximum daily appointments
- Emergency slot reservation
Schedule Components:
- Regular weekly schedule
- Exception dates (holidays, time off)
- Time zone management
- Slot duration configuration
API Endpoints:
- GET /Availability/GetProviderSchedule/{providerId}
- POST /Availability/SetRecurringSchedule
- POST /Availability/AddSlot
- DELETE /Availability/BlockSlot/{slotId}
- POST /Availability/SetTimeOff
Features:
- Calendar view
- Drag-and-drop slot creation
- Bulk operations
- Import/export schedule
29. Appointment Management (Provider)¶
Feature: View and manage patient appointments
Controllers: ServiceProviderController.Appointments()
Views:
- ~/Views/Physician/English/AppointmentList.cshtml
- ~/Views/Physician/English/AppointmentDetail.cshtml
Key Functionality:
- View all appointments (upcoming, past, cancelled)
- Filter by date, patient, status
- View appointment details
- Join session
- Cancel/reschedule
- Mark no-show
- Add pre-session notes
Appointment Details:
- Patient information
- Session type
- Date and time
- Status
- Payment status
- Session notes
- Prescriptions
- Homework
API Endpoints:
- GET /Booking/GetProviderBookings/{providerId}
- GET /Booking/GetBookingDetails/{bookingId}
- PUT /Booking/UpdateStatus/{bookingId}
30. Patient List & History¶
Feature: View all patients and their history
Controllers: ServiceProviderController.Patients(), ServiceProviderController.PatientHistory()
Views:
- ~/Views/Physician/English/PatientList.cshtml
- ~/Views/Physician/English/PatientHistory.cshtml
Patient List Features:
- All patients treated
- Active vs. inactive
- Search by name
- Filter by specialty/issue
- Quick stats (total sessions, last session)
Patient History:
- All sessions with patient
- Clinical notes
- Prescriptions given
- Homework assigned
- Assessment results
- Progress tracking
API Endpoints:
- GET /ServiceProvider/GetPatients/{providerId}
- GET /ServiceProvider/GetPatientHistory/{providerId}/{patientId}
31. Clinical Notes/SOAP Notes¶
Feature: Document session notes
Controllers: ServiceProviderController.ClinicalNotes()
Note Types:
1. SOAP Format (Subjective, Objective, Assessment, Plan):
- Subjective: Patient’s description
- Objective: Provider’s observations
- Assessment: Diagnosis/impression
- Plan: Treatment plan
- Progress Notes
- Treatment Plans
API Endpoints:
- POST /ClinicalNote/CreateNote
- GET /ClinicalNote/GetSessionNotes/{bookingId}
- PUT /ClinicalNote/UpdateNote/{noteId}
Features:
- Templates for common conditions
- Voice-to-text (if available)
- Secure storage
- Patient access control (can share or hide)
32. Prescription Creation¶
Feature: Create and manage prescriptions
Controllers: PrescriptionController
Views:
- ~/Views/Physician/English/CreatePrescription.cshtml
- ~/Views/Physician/English/PrescriptionList.cshtml
Prescription Fields:
- Patient information
- Date
- Medication details:
- Name (generic/brand)
- Dosage
- Frequency
- Duration
- Route of administration
- Instructions
- Diagnosis
- Provider signature
API Endpoints:
- POST /Prescription/Create
- GET /Prescription/GetProviderPrescriptions/{providerId}
- PUT /Prescription/Update/{prescriptionId}
- GET /Prescription/GeneratePDF/{prescriptionId}
Features:
- Drug database/search
- Medication history
- Interaction warnings
- Allergy checks
- E-prescription format
- Print/download PDF
33. Homework Assignment¶
Feature: Assign homework to patients
Controllers: ServiceProviderController.AssignHomework()
Homework Types:
- Worksheets
- Reading materials
- Exercises
- Videos
- Journaling prompts
- Behavioral experiments
API Endpoints:
- POST /Homework/AssignHomework
- GET /Homework/GetAssignedHomework/{providerId}
- GET /Homework/GetHomeworkSubmissions/{homeworkId}
Features:
- Template library
- File attachments
- Due dates
- Submission tracking
- Grading/feedback
34. Group Session Management¶
Feature: Create and manage group therapy sessions
Controllers: ServiceProviderController.ManageGroupSession()
Views:
- ~/Views/Physician/English/ManageGroupSession.cshtml
- ~/Views/Physician/English/GroupSessionList.cshtml
Key Functionality:
- Create group session
- Set date, time, duration
- Set maximum participants
- Set price per participant
- Manage participant list
- Send invitations
- Conduct session
- Share session recordings (optional)
Group Session Types:
- Support groups
- Psychoeducation
- Skills training
- Mindfulness sessions
API Endpoints:
- POST /GroupSession/Create
- GET /GroupSession/GetProviderSessions/{providerId}
- POST /GroupSession/InviteParticipants
- POST /GroupSession/Start/{sessionId}
35. Package Management¶
Feature: Create appointment packages for patients
Controllers: ServiceProviderController.ManagePackages()
Package Configuration:
- Number of sessions
- Validity period
- Price
- Description
- Session types included
- Discount percentage
API Endpoints:
- POST /Package/CreateProviderPackage
- GET /Package/GetProviderPackages/{providerId}
- PUT /Package/UpdatePackage/{packageId}
36. Financial Reports & Payslips¶
Feature: View earnings and financial reports
Controllers: ServiceProviderController.Payslip(), ServiceProviderController.FinancialReports()
Views:
- ~/Views/Physician/English/Payslip.cshtml
- ~/Views/Physician/English/FinancialReport.cshtml
Reports Include:
- Monthly earnings
- Session count
- Patient count
- Average session price
- Payment status (pending/paid)
- Tax information
- Downloadable payslips (PDF)
API Endpoints:
- GET /Payment/GetProviderEarnings/{providerId}
- GET /Payment/GetPayslip/{providerId}/{month}
- GET /Payment/GeneratePayslipPDF
Payslip Details:
- Provider information
- Period
- Sessions conducted
- Gross earnings
- Platform fees
- Net earnings
- Payment method
37. Referral Management (Provider)¶
Feature: Refer patients to other specialists
Controllers: ServiceProviderController.Referral()
Key Functionality:
- Search for specialists
- Create referral
- Add referral notes
- Track referral status
- View referral history
API Endpoints:
- POST /Referral/CreateProviderReferral
- GET /Referral/GetProviderReferrals/{providerId}
38. Collaboration Tools¶
Feature: Collaborate with other providers
Controllers: CollaborationController
Collaboration Types:
- Case consultations
- Supervision sessions
- Co-therapy
- Multidisciplinary team meetings
API Endpoints:
- POST /Collaboration/CreateRequest
- GET /Collaboration/GetRequests/{providerId}
39. Analytics Dashboard (Provider)¶
Feature: View practice analytics
Controllers: ServiceProviderController.Analytics()
Metrics:
- Total sessions
- Active patients
- Completion rates
- Average rating
- Revenue trends
- Popular time slots
- Patient demographics
- Cancellation rates
Visualization:
- Charts and graphs
- Trend analysis
- Comparative data
Admin Features¶
40. User Management¶
Feature: Manage all platform users
Controllers: Admin/CatalogueController, UserManagerController
Views:
- ~/Views/Admin/UserList.cshtml
- ~/Views/Admin/UserDetail.cshtml
Key Functionality:
- View all users (patients, providers, admins)
- Search and filter
- View user details
- Edit user information
- Activate/deactivate accounts
- Reset passwords
- Assign roles
- View user activity logs
API Endpoints:
- GET /Admin/GetAllUsers
- GET /Admin/GetUserDetails/{userId}
- PUT /Admin/UpdateUser/{userId}
- POST /Admin/DeactivateUser/{userId}
41. Care Provider Verification¶
Feature: Verify care provider credentials
Controllers: Admin/Catalogue/PhysicianListController
Verification Steps:
1. Review application
2. Verify identity documents
3. Verify professional license
4. Verify education credentials
5. Background check
6. Interview (optional)
7. Approve or reject
API Endpoints:
- GET /Admin/GetPendingProviders
- POST /Admin/VerifyProvider/{providerId}
- POST /Admin/RejectProvider/{providerId}
42. Catalog Management¶
Feature: Manage platform catalogs
Controllers: Admin/Catalogue/CatalogueController
Catalog Types:
- Specialties
- Languages
- Countries/Cities
- Education types
- Physician roles
- User preferences
- Screening questions
- Service types
API Endpoints:
- GET /Catalogue/Get{EntityType}
- POST /Catalogue/Add{EntityType}
- PUT /Catalogue/Update{EntityType}
- DELETE /Catalogue/Delete{EntityType}
43. Promotion/Discount Management¶
Feature: Create and manage promotional codes
Controllers: Admin/Catalogue/ManagePromotionController
Promotion Types:
- Percentage discount
- Fixed amount discount
- First session free
- Package discount
- Seasonal promotions
Configuration:
- Code
- Discount value
- Valid from/to
- Usage limits
- User type restrictions
- Service restrictions
API Endpoints:
- POST /Promotion/Create
- GET /Promotion/GetAll
- PUT /Promotion/Update/{promoId}
- DELETE /Promotion/Delete/{promoId}
44. Payment Configuration¶
Feature: Configure payment settings
Controllers: Admin/Catalogue/PaymentController
Settings:
- Payment gateway configuration
- Platform fees
- Provider commission rates
- Tax rates
- Refund policies
- Payment methods enabled
API Endpoints:
- GET /Admin/GetPaymentConfig
- PUT /Admin/UpdatePaymentConfig
45. System Configuration¶
Feature: Configure application settings
Controllers: Admin/Catalogue/CatalogueController
Configuration Areas:
- Application constants
- Email templates
- Notification settings
- Session durations
- Booking rules
- Security settings
API Endpoints:
- GET /ApplicationConfiguration/GetAll
- PUT /ApplicationConfiguration/Update
46. Reports & Analytics (Admin)¶
Feature: System-wide reports
Controllers: Admin/ReportsController
Report Types:
- User growth
- Appointment statistics
- Revenue reports
- Provider performance
- Patient engagement
- Platform usage
- Error logs
Export Formats:
- PDF
- Excel
- CSV
API Endpoints:
- GET /Admin/GetReport/{reportType}
- POST /Admin/ExportReport
47. Organization Management¶
Feature: Manage corporate/organization accounts
Controllers: OrganizationController
Organization Features:
- Create organization
- Add organization users
- Set organization packages
- View organization reports
- Manage organization billing
API Endpoints:
- POST /Organization/Create
- GET /Organization/GetAll
- GET /Organization/GetDetails/{orgId}
- PUT /Organization/Update/{orgId}
48. Content Management¶
Feature: Manage website content
Controllers: ContentManagerController
Content Types:
- Pages (About, FAQ, etc.)
- Blog posts
- Testimonials
- Announcements
- Email templates
API Endpoints:
- GET /Content/GetPage/{pageName}
- PUT /Content/UpdatePage
- POST /Content/CreateBlogPost
49. SEO Management¶
Feature: Manage SEO metadata
Controllers: SEOManagerController
SEO Elements:
- Page titles
- Meta descriptions
- Keywords
- Open Graph tags
- Structured data
- Canonical URLs
API Endpoints:
- GET /SEO/GetPageMeta/{pageName}
- PUT /SEO/UpdatePageMeta
50. Event Management¶
Feature: Create and manage platform events
Controllers: EventController
Event Types:
- Webinars
- Workshops
- Training sessions
- Conferences
API Endpoints:
- POST /Event/Create
- GET /Event/GetAll
- PUT /Event/Update/{eventId}
Accountant Features¶
51. Financial Management¶
Feature: Manage platform finances
Controllers: AccountantController
Key Functionality:
- View all transactions
- Provider payments
- Refund processing
- Financial reports
- Tax reports
- Reconciliation
API Endpoints:
- GET /Finance/GetAllTransactions
- GET /Finance/GetProviderPayments
- POST /Finance/ProcessRefund
- GET /Finance/GenerateReport
Marketing Manager Features¶
52. Campaign Management¶
Feature: Manage marketing campaigns
Controllers: MarkeetingController
Campaign Types:
- Email campaigns
- SMS campaigns
- Push notifications
- Social media
API Endpoints:
- POST /Marketing/CreateCampaign
- GET /Marketing/GetCampaigns
- GET /Marketing/GetCampaignStats/{campaignId}
Cross-Cutting Features¶
53. Multilingual Support¶
Implementation:
- Language stored in session
- Separate views for English/Arabic
- RTL support for Arabic
- Language switcher in UI
Supported Languages:
- English (en)
- Arabic (ar) with RTL
54. Notifications System¶
Notification Channels:
- In-app notifications
- Email notifications
- SMS notifications (via API)
- Push notifications (mobile)
Notification Types:
- Appointment reminders (24 hours, 1 hour before)
- New messages
- Homework assignments
- Payment confirmations
- System updates
55. File Management¶
File Types:
- Profile photos
- Credentials/documents
- Homework files
- Prescription PDFs
- Session recordings
Storage:
- Media Upload API integration
- Secure file storage
- Access control
56. Analytics Integration¶
Integrations:
- Google Analytics
- Application Insights
- Custom event tracking
Tracked Events:
- Page views
- User registrations
- Bookings
- Payments
- User interactions
Technical Dependencies¶
External APIs¶
- PsyterAPI - Main backend
- Media Upload API - File storage
- Scheduling API - Appointment scheduling (if separate)
- Payment Gateway - Payment processing
- Google Analytics API - Analytics data
- SMS Gateway - SMS notifications
- Email Service - Email notifications
Third-Party Libraries¶
- jQuery 3.3.1
- Bootstrap 3.0 / 5.x
- Font Awesome
- FullCalendar (for calendar views)
- Chart.js (for analytics)
- WebRTC (for video sessions)
- Sweet Alert (for alerts)
Browser Requirements¶
- Modern browsers (Chrome, Firefox, Safari, Edge)
- WebRTC support for video sessions
- HTML5 support
- Cookies enabled
- JavaScript enabled
Feature Priorities¶
Critical Features¶
- User authentication
- Appointment booking
- Video sessions
- Payment processing
- Prescription management
High Priority¶
- Messaging
- Profile management
- Schedule management
- Patient history
Medium Priority¶
- Diary/journal
- Homework
- Analytics
- Referrals
Low Priority¶
- Group sessions
- Packages
- Collaboration
- Events
Document Version: 1.0
Last Updated: November 2025
Total Features Documented: 56+
Next Review: Quarterly