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

# Build and manage employee schedules in Yrka

> Plan shifts, assign employees, publish schedules, run the auto-scheduler, manage the shift marketplace, and review attendance coverage in Yrka.

The Schedule surface is where you plan and manage all employee work events. You can create individual shifts, run the auto-scheduler to generate a full proposal, publish reviewed drafts to make them visible to employees, and handle coverage requests when someone needs a replacement. Open it by selecting **Schedule** from the admin sidebar or navigating to `/admin?tab=schedule`.

## Schedule views

Yrka gives you several views of the same schedule data. Switch between them to match the task at hand.

<Tabs>
  <Tab title="Calendar views">
    The calendar layout shows shifts in a monthly, weekly, or daily grid. Use it for a high-level picture of coverage across dates. Select any event to open its detail panel without leaving the calendar.

    * **By-hour view** — shows the timeline of shifts for a single day, useful for spotting gaps in hourly coverage.
    * **Selected-day detail** — focuses on one day's assignments, maker slots, and coverage counters.
    * **Stack and split views** — arrange multiple employees or roles side by side for comparison.
  </Tab>

  <Tab title="List view">
    The list layout shows shifts as rows with sortable columns. Use it when you need to filter by job, employee, location, or status, or when you want to quickly scan for exceptions before publishing.
  </Tab>

  <Tab title="Scheduler (dedicated route)">
    The dedicated Scheduler at `/admin/scheduler` is a planning-focused workspace. It includes a staff pool panel, shift issue queue, bulk planning controls, and a current working roster strip that shows open clocks for the selected day. Drag staff from the pool onto shifts, or use the details panel to assign and remove employees without drag-and-drop.

    Attendance reconciliation evidence — such as clock comparison, schedule-window guardrail outcomes, and payroll readiness — is visible on shift blocks and the selected shift context panel in Scheduler once attendance data is available.
  </Tab>
</Tabs>

## Coverage labels

Every shift carries a coverage label that tells you its current state at a glance.

| Label              | Meaning                                              |
| ------------------ | ---------------------------------------------------- |
| **Draft**          | Saved for admin review; not yet visible to employees |
| **Confirmed**      | Published and visible to assigned employees          |
| **Canceled**       | No longer active; employees are notified             |
| **Covered**        | All required assignment slots are filled             |
| **Needs coverage** | Required slots exist but are not fully filled        |
| **Overfilled**     | More assignments than required slots                 |

## Create and edit shifts

<Steps>
  <Step title="Open the new event dialog">
    Select **New** or **Add Event** in the Schedule header. To edit an existing shift, select it in the calendar or list view.
  </Step>

  <Step title="Fill in the shift details">
    Enter the title, event type (shift, meeting, training, time off, or other), job, location, start and end time, required employee count, required hours, and any role requirements. Add a description and maker notes if the shift has context other admins should know.
  </Step>

  <Step title="Add shift slots (optional)">
    Use **Shift Slots** to define distinct coverage windows within one event — for example, opener, mid, and closer slots with different times and staffing counts.
  </Step>

  <Step title="Assign employees">
    Assign one or more employees directly in the event dialog, or use the Scheduler to drag from the staff pool. The details panel shows each employee's availability, role fit, and coverage posture before you confirm.
  </Step>

  <Step title="Set up recurrence (optional)">
    Enable recurrence only when the pattern is intentional. Set the repeat days and repeat end date. When you need to change a single occurrence later, edit it as an override so the base event stays intact.
  </Step>

  <Step title="Save as draft">
    Save the event as a draft while it still needs review. Drafts are not visible to employees.
  </Step>
</Steps>

<Warning>
  If you edit the base event of a recurring series, all future occurrences inherit the change. Use overrides to modify individual dates without affecting the rest of the series.
</Warning>

## Shift templates

Apply active shift templates to seed a draft schedule for the selected week. Templates preserve time, job, location, coverage requirements, maker slots, and weekly rotation rules, so alternating patterns can be applied without manual copy-and-paste. Manage templates from the Schedule header controls.

## Auto Fill (auto-scheduler)

Auto Fill generates a draft proposal from your existing schedule events, current assignments, employee availability, role requirements, and target-hour settings. The proposal is always saved as a draft — it is never published automatically.

<Steps>
  <Step title="Open the auto-scheduler setup">
    Select **Auto Fill** from the Schedule header to open the setup dialog.
  </Step>

  <Step title="Configure the proposal parameters">
    Review and set the date range, company jobs, departments, teams, job roles, employees, target hours, availability constraints, coverage requirements, conflict posture, overtime approach, break and geofence policy risk, and schedule-window posture.
  </Step>

  <Step title="Generate the proposal">
    Select **Generate**. Yrka creates a draft proposal and flags any policy-sensitive warnings — including break review risks, geofence concerns, overtime approach signals, and schedule-window conflicts — before you review the output.
  </Step>

  <Step title="Review warnings and assignments">
    Inspect each proposed assignment. Availability windows that blocked a proposal appear as warnings. Adjust employees, slots, jobs, or dates as needed.
  </Step>

  <Step title="Accept and publish">
    Once the proposal looks correct, publish the reviewed shifts using the **Publish** action. Employees assigned to already-confirmed shifts receive the same in-app schedule notification used by manual publish paths.
  </Step>
</Steps>

<Note>
  The auto-scheduler is a proposal tool. Review its output before publishing. It never publishes shifts or notifies employees on its own.
</Note>

## Publish and return to draft

Use **Publish** to confirm reviewed draft or ready shifts as visible to assigned employees. Use **Publish ready** to confirm only the covered, eligible drafts and leave underfilled drafts for further review. Use **Draft** to return published shifts to draft status before employees rely on them.

When a published shift is edited, Yrka sends in-app schedule notifications to affected employees.

## Shift marketplace and coverage requests

When an employee needs someone to cover their shift, they submit a coverage request through the shift marketplace. As an admin, you review and approve or deny these requests before any schedule change takes effect.

<Steps>
  <Step title="Open the Marketplace Review panel">
    When coverage work items are waiting, the **Marketplace Review** panel appears in Schedule. You can also review coverage items from **Admin > Messages > Inbox**.
  </Step>

  <Step title="Inspect the request">
    Review the request title, requester, offered replacement employee, and the suitability signals — including role fit, availability, time-off conflicts, target hours, max hours, and payroll-period lock status.
  </Step>

  <Step title="Approve or deny">
    Select **Approve** when the replacement is correct and the shift remains covered. Select **Deny** when the request should not change the schedule.

    The **Approve** button stays unavailable until a valid replacement employee has been offered. The server blocks approval when hard suitability checks fail.
  </Step>

  <Step title="Confirm the schedule update">
    After approval, the schedule assignment updates, the original assignee and eligibility evidence is preserved on the request, and Yrka notifies the requester, the selected replacement, and any non-selected offerers.
  </Step>
</Steps>

<Warning>
  Employees cannot approve their own replacements or transfer schedule authority directly. All marketplace changes require admin review.
</Warning>

## Company holidays

Manage company holidays from Schedule or from **Settings > Scheduling**. Both destinations write to the same holiday set, which is used by schedule planning, timekeeping, and payroll-prep context. Keeping holidays current ensures paid non-work context is consistent across all surfaces.

## Common issues

<AccordionGroup>
  <Accordion title="Publish is blocked">
    Resolve underfilled coverage, conflicts, missing employee assignments, or draft status on the affected shifts before publishing.
  </Accordion>

  <Accordion title="An employee can't see a shift">
    Confirm the shift is published and the employee is assigned. Draft shifts are not visible to employees.
  </Accordion>

  <Accordion title="An employee is not assignable">
    Check the employee's active status, job and team context, and schedule permission grants.
  </Accordion>

  <Accordion title="Approve is disabled on a coverage request">
    The request may not yet have a valid replacement employee, or hard suitability checks — such as availability conflicts or payroll-period locks — may be blocking approval.
  </Accordion>

  <Accordion title="A recurring shift looks wrong on one date">
    Check for a date-specific override before editing the base event. Editing the base event changes all future occurrences.
  </Accordion>
</AccordionGroup>

<Note>
  Publishing confirms operational schedule visibility. It is not payroll approval and does not guarantee labor-law compliance. Schedule planning warnings — including overtime approach signals and coverage gaps — support review but do not make compliance decisions.
</Note>
