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

# 1-on-1s

> View, schedule, and manage one-on-one sessions between managers and employees, including notes, feedback, and status transitions.

The 1-on-1s screen is accessible at `/lo/one-on-ones` and provides a list of scheduled one-on-one meetings, with stats cards, an upcoming sessions panel, filtering by status and participant, and the ability to schedule new sessions.

## Overview

The `OneOnOnesPage` loads all one-on-ones via `useOneOnOnes(organizationId, filters)`, the next three upcoming via `useUpcomingOneOnOnes(organizationId, 3)`, and organization members via `useOrganizationMembers`. Three stat cards display totals (the specific metrics surfaced are not labeled in the header JSX and require SME confirmation). A participant filter dropdown is populated from `orgMembers`. One-on-one records are rendered as `OneOnOneCard` components. The "Schedule 1-on-1" button opens `OneOnOneFormDialog`. Selecting a card navigates to `/lo/one-on-ones/:oneOnOneId`.

## Who it's for

Requires `LO_PERMISSIONS.DASHBOARD_VIEW` (`lo.dashboard.view`) via the shared `LOViewGuard`. Creating one-on-ones uses `lo.one-on-ones.create`.

## Before you start

* `lo.dashboard.view` permission required.
* Organization members must be configured for the participant filter to populate.

## Steps

<Steps>
  <Step title="Navigate to 1-on-1s">Go to `/lo/one-on-ones`. The page loads all 1-on-1 sessions for the organization.</Step>
  <Step title="Review upcoming sessions">The upcoming sessions section shows the next three sessions from `useUpcomingOneOnOnes`.</Step>
  <Step title="Filter sessions">Use the participant and status dropdowns to narrow results.</Step>
  <Step title="Open a session">Select a `OneOnOneCard` to navigate to `/lo/one-on-ones/:oneOnOneId` for full detail.</Step>
  <Step title="Schedule a new 1-on-1">Select "Schedule 1-on-1" to open `OneOnOneFormDialog`.</Step>
</Steps>

## Key concepts

* **OneOnOneFilters**: accepts `status` and participant filters.
* **useOrganizationMembers**: provides org-scoped member list for the participant dropdown.
* **profiles**: members are mapped to `{ id, full_name }` for the form.

## Viewing a 1-on-1

The 1-on-1 Details screen is accessible at `/lo/one-on-ones/:oneOnOneId` and provides tabbed management of a single one-on-one session, including notes, feedback items, and status transitions.

The `OneOnOneDetailPage` fetches the session via `useOneOnOne(oneOnOneId)`, linked feedback via `useFeedback(organizationId, { oneOnOneId })`, and mutations via `useOneOnOneMutation`. The breadcrumb shows `"${manager.full_name} & ${employee.full_name}"`. The page renders the session date, status via `OneOnOneStatusBadge`, manager and employee names with avatars (fetched via a direct Supabase query for profiles). Two tabs — **Notes** and **Feedback** — show `OneOnOneNotesEditor` and a list of `FeedbackCard` components respectively. The "Add Feedback" button opens `FeedbackFormDialog`. Edit and Delete actions are in the header; deletion uses `AlertDialog` confirmation.

Requires `LO_PERMISSIONS.DASHBOARD_VIEW` (`lo.dashboard.view`) via the shared `LOViewGuard`. No additional explicit permission gate is applied in this component.

Before you start: the one-on-one identified by `:oneOnOneId` must exist, and the manager and employee profiles must exist in the organization.

1. Open a 1-on-1 session: navigate to `/lo/one-on-ones/:oneOnOneId` or select a session from the 1-on-1s list.
2. Review session info: note the session date, status badge, and manager/employee names.
3. Take or review notes: on the Notes tab, use `OneOnOneNotesEditor` to write or update session notes.
4. Review or add feedback: on the Feedback tab, view existing feedback linked to this session or add new feedback via `FeedbackFormDialog`.
5. Edit the session: select Edit to open `OneOnOneFormDialog` in edit mode.
6. Delete the session: select Delete and confirm in the `AlertDialog` to remove the session.

**Key concepts:**

* **OneOnOneStatusBadge**: displays the current status of the session.
* **Feedback filter**: `useFeedback` is called with `{ oneOnOneId }` to show only feedback linked to this session.
* **Profiles query**: profiles for manager and employee are loaded via a direct Supabase query scoped by `organization_id`.

## Related

<Columns cols={2}>
  <Card title="Leadership" icon="compass" href="/lo/overview">
    Leadership core overview.
  </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/lo.tsx
  * src/cores/lo/pages/OneOnOnesPage.tsx
  * src/cores/lo/pages/OneOnOneDetailPage.tsx
  * src/cores/lo/hooks/useOneOnOnes.ts
  * src/cores/lo/hooks/useOrganizationMembers.ts
  * src/cores/lo/hooks/useFeedback.ts
</Accordion>
