== UC3001 – Request Consultation and Advice Implementation == '''Initiating actor:''' Student '''Other actors:''' Professor '''Description:''' Student submits a request for dynamic academic consultations and expert advice from a designated professor through the web portal interface. '''Scenario:''' 1. Student navigates to the "Consultations & Advice" section from the Student Dashboard. 2. System displays the advice request form and queries available professors associated with the student's subjects: {{{ SELECT p.Id, p.Name, p.Surname FROM Professor p JOIN Teach t ON p.Id = t.Professor_Id WHERE t.Subject_Id = ?; }}} [[Image(consultation_form.png, 800px)]] 3. Student selects the target Subject and Professor from the dropdown options. 4. Student fills in the topic details, preferred date, and specific questions/notes for the consultation session. 5. Student submits the form. 6. System verifies that no conflicting consultation requests exist for the same timeslot: {{{ SELECT * FROM Consultation WHERE Student_Id = ? AND Professor_Id = ? AND Scheduled_Date = ?; }}} 7. System inserts the new consultation request into the database: {{{ INSERT INTO Consultation (Student_Id, Professor_Id, Subject_Id, Request_Date, Scheduled_Date, Topic, Status) VALUES (?, ?, ?, CURRENT_DATE, ?, ?, 'Pending'); }}} 8. System reloads the page and displays a notification confirming that the consultation request has been successfully scheduled. [[Image(consultation_success.png, 800px)]]