> ## 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.

# Rooms & Resources

> Manage physical rooms and resources used for in-person appointments and group sessions, including status and capacity configuration.

The Rooms & Resources settings page allows administrators to create, edit, and deactivate physical rooms available for appointment and group session scheduling. Route: `/pm/settings/rooms`.

## Overview

`PMRoomSettingsPage` loads rooms via `useRooms` (filterable by status, currently loaded with `status: undefined` showing all). Rooms are displayed in a table on larger screens with columns for room name, status badge, and capacity. On mobile, rooms render as stacked cards. Status badge variants: `active` → `default`, `inactive` → `secondary`, `maintenance` → `destructive`. Users with `pm.rooms.manage` can create new rooms via `RoomFormDialog` and edit existing rooms. The **Deactivate** action uses `deactivateRoom` from `useRoomMutation`.

## Who it's for

Requires permission `pm.rooms.view` (`PM_PERMISSIONS.ROOMS_VIEW`), applied via `PermissionGate`. Manage actions (`pm.rooms.manage`) are checked via `useHasPermission`.

## Before you start

* Rooms must be created here before they can be selected in scheduling and group session configuration.

## Steps

<Steps>
  <Step title="Open Rooms & Resources">
    Navigate to **Practice Management → Settings → Rooms & Resources**, or go to `/pm/settings/rooms`.
  </Step>

  <Step title="Review existing rooms">
    The table/card list shows all rooms with their status and capacity.
  </Step>

  <Step title="Create a new room">
    Click **New Room** (requires `pm.rooms.manage`) to open `RoomFormDialog` and enter room details.
  </Step>

  <Step title="Edit a room">
    Click the edit icon on a room row to reopen `RoomFormDialog` pre-populated with existing values.
  </Step>

  <Step title="Deactivate a room">
    Click the deactivate action on an active room to mark it inactive. Inactive rooms are no longer available for scheduling.
  </Step>
</Steps>

## Key concepts

* **Room status** — `active` (available for scheduling), `inactive` (unavailable), `maintenance` (temporarily unavailable).
* **Responsive layout** — table on `sm` and larger screens; stacked cards on mobile.

## Related

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

  <Card title="Governance & parity" icon="scale-balanced" href="/governance/index" />
</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/PMRoomSettingsPage.tsx
  * src/cores/pm/hooks/useRooms.ts
  * src/cores/pm/types/rooms.ts
  * src/platform/permissions/constants.ts
</Accordion>
