Skip to main content

🚀 Consultation Booking Journey (Updated for Payments & Chat)

👤 Persona

  • Primary: Alex (Student)
  • Secondary: Clara (Consultant)
  • Goal: Book and complete a career consultation session, including post-session payments and 1:1 chat

📋 Step-by-Step Journey

StepUser ActionSystem ResponseDependenciesUser Emotion
1Student browses consultation catalogDisplays published consultations by category/levelConsultation module, Category moduleCurious
2Views consultation detailsShows title, description, price, consultant profileConsultation entity, Consultant profileInterested
3Checks consultant availabilityRetrieves available time slots for selected consultationProvider service, Timeslot entityDecisive
4Submits booking requestCreates booking with PENDING status, sends notificationBooking entity, Notification systemAnxious
5Consultant reviews bookingViews booking details in dashboardBooking management, Consultant controllerEvaluating
6Consultant approves/rejectsUpdates booking status, sends response notificationBooking approval/rejection DTOsRelieved/Rejected
7Payment processed on approvalProcesses payment, creates session recordPayment gateway, Session entityTrusting
8Session scheduledCalendar events created for both partiesCalendar integration, Session trackingPrepared
9Session reminders sentAutomated reminders at 24h and 1h beforeNotification scheduler, Reminder enumFocused
10Join video sessionLaunches meeting with video conferencingVideo API integration, Meeting historyEngaged
11Session completesUpdates session status, triggers payment releaseSession completion, Payment processingAccomplished
12Post-session feedbackAutomated feedback requests to both partiesFeedback system, Rating collectionReflective

🔍 Observations / Gaps

  • No direct consultant search - students must browse consultations first
  • Missing rescheduling workflow despite reschedule fields in consultation entity
  • Payment timing not clearly defined in current implementation
  • No session recording or meeting history tracking visible in current entities