Page: Summon Help

Code: HELP Route: /help Access: Authenticated Priority: P2 Status: In Scope (Goodwill Points Feature)

Purpose

Real-time help request system allowing students to summon available Student-Teachers for immediate 1-on-1 assistance, with goodwill point incentives.


Connections

Incoming (users arrive from)

Source Trigger Notes
CCNT "Summon Help" button From course content
CHAT "Need 1-on-1 Help?" Escalate from chat

Outgoing (users navigate to)

Target Trigger Notes
CCNT Close modal / Complete Return to course content
STPR Helper name click View helper profile

Data Requirements

Entity Fields Used Purpose
help_summons id, student_id, course_id, module_id, status, responder_id Summon tracking
user_availability user_id, is_available Available helpers
users (STs) id, name, avatar Helper display
student_teachers user_id, course_id Certified for this course
user_goodwill balance Points to award
course_curriculum id, title Module context

Sections

Modal Container

  • Overlay on course content
  • Closable (X button, click outside)
  • Responsive sizing

State: Initiating

  • **Header:** "Get Help Now"
  • **Available Helpers:**
  • **Context:**
  • **Actions:**

State: Waiting

  • **Header:** "Finding a Helper..."
  • **Animation:** Searching/pulsing indicator
  • **Status:** "Looking for an available helper"
  • **Timer:** Time elapsed waiting
  • **Available Helpers:** Count display
  • **Actions:**

State: Connected

  • **Header:** "You're Connected!"
  • **Helper Info:**
  • **Communication:**
  • **Session Timer:**
  • **Actions:**

State: Complete

  • **Header:** "Session Complete"
  • **Summary:**
  • **Award Points:**
  • **Actions:**

State: Cancelled/No Response

  • **Header:** "No Helpers Available"
  • **Message:** "All helpers are currently busy."
  • **Alternatives:**
  • **Actions:**

User Stories Fulfilled

  • US-S062: Access Summon Help feature
  • US-S063: See available helpers
  • US-S064: Get connected with helper
  • US-T025: ST receives summon notification
  • US-T026: ST responds to summon request

States & Variations

State Description
Initiating Ready to summon, showing available helpers
Waiting Looking for helper
Connected Active help session
Complete Session ended, awarding points
No Helpers No one available
Cancelled User cancelled
Timed Out No response within time limit

Mobile Considerations

  • Modal becomes full-screen sheet
  • Chat interface optimized for mobile
  • Large touch targets for point slider
  • Easy access to cancel/close

Error Handling

Error Display
No helpers online "No helpers available right now. Try Course Chat instead."
Connection failed "Unable to connect. Please try again."
Helper disconnected "Helper disconnected. Would you like to try again?"
Points award failed "Unable to award points. [Retry]"

Analytics Events

Event Trigger Data
`summon_initiated` Summon started course_id, module_id, helpers_available
`summon_waiting` Entered waiting state -
`summon_connected` Helper connected helper_id, wait_time
`summon_completed` Session ended helper_id, duration
`points_awarded` Points given points, helper_id
`summon_cancelled` User cancelled wait_time
`summon_timeout` No response wait_time


Notes

  • **Feature Flag:** `summon_help` - check with `canAccess('summon_help')`
  • **Dependencies:** Requires `course_chat` and `goodwill_points` features
  • **Block 2+ feature:** Part of Goodwill Points system (CD-023)
  • Minimum 5-minute session for points eligibility
  • Anti-gaming: Cooldown between summons to same person (15 min)
  • ST notification: Push + WebSocket when summoned
  • Consider escalation to video (links to SBOK for scheduled session)
  • Points range: 10-25 per CD-023
  • Timeout: 2 minutes waiting, then "No helpers available"