> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Practice Management Scheduling

> The Scheduling screen lets staff view and manage appointments across Day, Week, Month, and Waitlist views with provider filtering and room availability.

The Scheduling screen (`/pm/scheduling`) provides a multi-view calendar for browsing and managing appointments organized by Day, Week, Month, and Waitlist tabs.

## Overview

The Scheduling screen renders a tabbed calendar interface with four views: **Day**, **Week**, **Month**, and **Waitlist**. The Day view shows a time grid from 07:00 to 20:00 in 30-minute slots; clicking an empty slot pre-fills the start time when creating a new appointment. The Week view displays a 7-day grid with appointment cards overlaid in each column. The Month view shows a mini-calendar where clicking a day switches to the Day view for that date. A provider filter and date-navigation controls (Previous / Next / Today) appear on all views except Waitlist. Appointments are loaded from `pm_appointments`, always filtered to the current organization and excluding soft-deleted records. On Day and Week views, a banner alerts staff when a patient has an upcoming appointment but an incomplete intake assessment; each banner can be dismissed for the session.

## Who it's for

Requires the `pm.scheduling.view` permission. Creating appointments additionally requires `pm.scheduling.create`.

## Before you start

Requires the `pm.scheduling.view` permission. Appointment data will not load if no organization is currently selected. The provider filter is populated from organization members in `pf_profiles` via `pf_user_role_assignments`.

## Steps

<Steps>
  <Step title="Choose a calendar view">
    Select **Day**, **Week**, **Month**, or **Waitlist** from the tab bar at the top of the calendar area. The default view on first load is Week.
  </Step>

  <Step title="Navigate dates">
    Use the **Previous** (‹) and **Next** (›) arrow buttons to move backward or forward by one day, week, or month depending on the active view. Click **Today** to jump back to the current date.
  </Step>

  <Step title="Filter by provider">
    Use the provider dropdown to narrow appointments to a specific provider. Select **All Providers** to see all appointments for the date range.
  </Step>

  <Step title="Create an appointment">
    Click **Schedule Appointment** (requires `pm.scheduling.create`). On Day view, clicking an empty time slot pre-fills that time in the form dialog. Complete the `AppointmentFormDialog` and save.
  </Step>

  <Step title="Edit an existing appointment">
    Click an appointment card to open the edit form. Changes are saved through the same `AppointmentFormDialog` used for creation.
  </Step>

  <Step title="View room availability">
    On desktop (medium breakpoint and above), a **Room Availability** panel appears as a right-side rail. On mobile, tap the **Room availability** button to open a bottom sheet with the same panel.
  </Step>

  <Step title="Dismiss urgent intake alerts">
    If a patient has an upcoming appointment with an incomplete intake, a red alert banner appears on Day and Week views. Click **View Intake** to open the assessment, or **I understand** to dismiss the banner for the current session.
  </Step>
</Steps>

## Key concepts

<AccordionGroup>
  <Accordion title="Empty state — no appointments">
    On the Day view, if no appointments exist for the selected date the screen shows an "No appointments" empty state. Week and Month views show empty day columns/cells rather than a dedicated empty state.
  </Accordion>
</AccordionGroup>

## Related

<Columns cols={2}>
  <Card title="Practice Management" icon="briefcase" href="/pm/overview">
    Overview of the Practice Management core.
  </Card>

  <Card title="Governance & parity" icon="scale-balanced" href="/governance/index">
    Documentation coverage and governance.
  </Card>
</Columns>

<Note>
  This page documents shipped product behavior. It is not medical, legal, or
  billing advice. Verify against your organization's policies and applicable
  regulations before using it for clinical, compliance, or billing decisions.
  Protected health information (PHI) shown in the product is governed by your
  tenant's access controls and is never exposed in this documentation.
</Note>

<Accordion title="Documentation sources">
  * src/routes/pm.tsx
  * src/cores/pm/pages/SchedulingPage.tsx
  * src/cores/pm/hooks/useAppointmentList.ts
</Accordion>
