Skip to main content

Cancel Appointment


Use the Cancel Appointment screen to cancel a scheduled visit or cancel a pending request. The app opens this screen when the patient selects Cancel request or when a pending request reaches the inactivity timeout and transitions to an expired state.


This screen includes

  • Automatic expiry after inactivity.
  • Cancellation reason selection with a required reason.
  • Optional text box when the patient selects Other (please specify).
  • Late-window notice when the cancellation window has passed.
  • Confirmation state after successful cancellation.
  • Read-only state after cancellation or expiry with actions disabled.

Workflow

Manual Cancellation

  1. Open Appointment details.
  2. Select Cancel request for a pending request or Cancel appointment for a scheduled visit.
  3. If the cancellation occurs inside the late cancellation window, the screen displays a charge notice before final confirmation.
    Options: Keep visit or Cancel appointment.
  4. Select a cancellation reason.
    Default reasons:
    • I feel better.
    • I found a closer location.
    • I found an earlier appointment.
    • It took too long for the doctor to answer.
    • Other (please specify).
  5. If the patient selects Other (please specify), enter a short explanation.
  6. Select Cancel request to confirm.
    The SDK applies the cancellation and returns an updated appointment state with actions disabled for the canceled item.

Automatic Expiry

  1. A pending request remains open until provider response or inactivity timeout.
  2. If the inactivity timeout is reached, the server transitions the request to an expired state.
  3. The app returns control to Appointment details with actions disabled for the expired item.

Validations

These scenarios define when the SDK blocks cancellation submission or returns validation state.

ScenarioApp behaviorSDK output
No cancellation reason selected.The primary action remains disabled.Validation state indicating missing cancellation reason.
Reason is Other (please specify) and text is empty.The primary action remains disabled and the text box shows an inline error.Validation error for missing free-text reason.
Reason is not Other (please specify).The text box remains hidden.Page model without free-text field.
Cancellation occurs inside the late cancellation window.The screen displays a charge notice before final confirmation.Page model with late-cancellation flag and charge notice content.
Appointment state does not allow cancellation.Cancellation remains blocked and an error appears.Error state indicating cancellation is not permitted.
Appointment already canceled or expired.Actions remain disabled.Appointment state canceled or expired with read-only actions.

Actions

These scenarios define how the SDK applies cancellation or returns expiration state.

ScenarioApp behaviorSDK output
Open cancellation flow.The cancellation UI renders with available reasons.Page model for cancellation with reason options.
Select a cancellation reason.The selection updates.Update set with selected reason state.
Enter free-text reason.The free-text value updates.Update set with free-text reason value.
Confirm cancellation with valid input.The appointment transitions to canceled and becomes read-only.Update set with appointment state canceled and navigation back to details.
Pending request reaches inactivity timeout.The item becomes read-only in appointment details.Appointment state expired with actions disabled.
Cancellation request fails.The screen remains open and an error appears.Error state with no navigation instruction.

Endpoint Resources

Cancel Appointment

PUT 

v3/appointments/{appointment-id}/cancel

Cancels the appointment or pending request and returns the updated appointment state.

Looking for Alternative (Patient Only)

PUT 

v3/appointments/{appointment-id}/cancel/looking-for-alternative

Shows info popup that we continue looking for alternative video visit.

Update Reason

PATCH 

/appointments/{appointment-id}/cancel/change-reason

Updates the selected cancellation reason and refreshes the cancellation page mode

Cancel Appointment

POST 

v3/appointments/{appointment-id}/cancel

Cancels the appointment with the provided reason, date, and comments.