Video Appointments
The Video Appointments screen supports secure video consultation for an appointment.
This screen includes:
- Live video area - Displays active participant video feeds.
- Participant labels - Display participant names.
- Session timer - Displays elapsed call duration.
- Control bar
- Mute
- Disable Video
- Swap Camera
- Chat
- End Call
- Report Issue when available
Access
Open the video session from:
- Appointment List
- Appointment Details
Session Lifecycle
The video session follows these states:
- Appointment is scheduled.
- User starts the video session.
- Permissions are validated.
- Waiting state displays until the other participant joins.
- Active session starts.
- Session ends when a participant leaves or the call is terminated.
Workflow
This flow starts when the video appointment screen opens.
- Select Start Video.
- Grant camera and microphone access.
- Wait for the other participant to join.
- Use session controls during the call.
- Select End Call to leave the session.
Validations
These rules enforce session readiness and device support.
| Scenario | App behavior | SDK output |
|---|---|---|
| Camera or microphone permission missing. | Block session start. | Permission validation error. |
| Permission request dismissed. | Require explicit approval before continuing. | Permission state remains incomplete. |
| Device does not support camera switching. | Hide Swap Camera. | Camera capability flag disabled. |
| Network quality below minimum threshold. | Prevent connection. | Connection readiness check fails. |
| Session remains inactive past timeout. | Disconnect session. | Session timeout event emitted. |
Session Behavior
- Synchronize session state across participants.
- Display waiting state until the other participant joins.
- Update live controls based on device capability and session state.
Actions
| Scenario | App behavior | SDK output |
|---|---|---|
| User selects Start Video. | Initialize session and validate permissions. | Session start requested. |
| User selects Mute. | Toggle microphone state. | Audio state updated. |
| User selects Disable Video. | Toggle local video stream. | Video state updated. |
| User selects Swap Camera. | Switch active camera on supported devices. | Camera source updated. |
| User selects Chat. | Open chat interface. | Chat panel state updated. |
| User selects End Call. | End session and exit video screen. | Session terminated event emitted. |
| User selects Report Issue. | Open feedback flow with session context. | Issue report flow triggered with session metadata. |
Endpoint Resources
PUT
/appointments/{appointment-id}/video-room
Initializes and manages the video room for the appointment session.
| Level | Reference | Type | Value | Placement |
|---|---|---|---|---|
| 1 | start-call | Button | Start call (invisible and autostart) | |
| 1 | — | Can’t find link | — | |
| 1 | — | Can’t find link | — | |
| 1 | end-call | Link | [End call] | ~ |
| 1 | report-issue | Link | [Report issue] | ~ |
| 1 | spacer | Spacer | — | ~ |
| 1 | swap-camera | Link | [Swap camera] | ~ |
| 1 | disable-video | Link | [Disable video] | ~ |
| 1 | mute | Link | [Mute] | ~ |