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

# How rosters work in PlanMyRounds

> Understand what duty rosters are in PlanMyRounds, the lifecycle from draft to published, and how the scheduling engine builds a fair, conflict-free team plan.

A **roster** — also called a **Duty Plan** in PlanMyRounds — is the schedule that tells your team who is on which shift, on which day. Instead of building one by hand on a spreadsheet, PlanMyRounds uses a scheduling engine to generate a fair, rule-aware plan for you in under a minute.

## What a roster covers

> **A date range**
>
> A week, a month, or any custom range you choose.

> **Shifts and staffing**
>
> The shift types to include and how many doctors each one needs per day.

> **A team of doctors**
>
> The group of doctors who are eligible to be assigned for this period.

> **Scheduling rules**
>
> The work, rest, and fairness rules the engine must respect.

## The roster lifecycle

**1. Create**

Open the [creation wizard](/docs/rosters/creating-a-roster) and walk through dates, shifts, team, and rules.

**2. Generate**

The engine runs and produces a **Draft** roster, usually within a minute.

**3. Review and publish**

Check coverage and workload, then [publish](/docs/rosters/publishing-a-roster) to make it visible to the team.

**4. Adjust**

Handle real-world changes through [manual edits](/docs/rosters/editing-a-published-roster) or [duty swaps](/docs/swaps/overview).

> [!TIP]
>
> Building the same roster every week or month? [Auto Duty Planning](/docs/auto-duty-planning/overview) runs this lifecycle for you on a repeating schedule — notifying staff, collecting availability and leave, and generating the roster automatically.

## How the scheduler thinks

The engine looks for the best possible assignment of doctors to shifts. While generating, it respects:

* **Approved leave** and shift-to-avoid preferences
* **Maximum consecutive working days** and minimum rest days per week
* **Minimum rest hours** between any two shifts
* **Senior-to-junior ratios** per shift
* Each **doctor's experience level** (senior or junior)
* **Minimum monthly hours** per doctor for fairness

For the full list of rules and how they interact, see [Roster constraints](/docs/rosters/roster-constraints).

> [!NOTE]
>
> The scheduler only considers leave entries that are **Approved** before generation starts. Pending requests are not applied. Approve outstanding leave first so the engine plans around it.

## Roster statuses

| Status | What it means |
| - | - |
| **Creating** | The engine is currently building the schedule. Usually under a minute. |
| **Draft** | Generation is complete and the roster is ready for review. Not yet visible to the team. |
| **Published** | The roster is live and visible to all team members. A shareable link is available. |
| **Archived** | The roster has been retired. Still viewable for reference. |
| **Failed** | The engine could not produce a valid schedule. Adjust inputs and retry. |

For the colour key and other statuses you'll come across, see [Roster and shift statuses](/docs/rosters/statuses).

## Where to find your rosters

Select **Duty Plans** in the sidebar to see every roster in your organisation. Filter by status, department, or the admin who created them.

For other ways to view what's scheduled, see the [Duty Calendar](/docs/rosters/duty-calendar) (everyone's duties for the month, with a day drill-down) and the [Duty Dashboard](/docs/rosters/duty-dashboard) (coverage and workload at a glance).

## Next steps

> **[Create your first roster](/docs/rosters/creating-a-roster)**
>
> Walk through the four-step creation wizard.

> **[Understand the rules](/docs/rosters/roster-constraints)**
>
> Learn how work, rest, and fairness constraints shape the schedule.

> **[View the Duty Calendar](/docs/rosters/duty-calendar)**
>
> See every doctor's duties for the month in one place.

> **[Automate it](/docs/auto-duty-planning/overview)**
>
> Let PlanMyRounds run this lifecycle for you on a repeating schedule.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.