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

# Build and manage the camp shift schedule in PlayaOS

> Build shift types, create individual or bulk shift slots, assign members by availability, manage self-signup, track no-shows, and export the schedule.

The Shifts page gives you a full scheduling tool for camp labor. You define the types of work, create individual time slots, assign members, and track who showed up. Members can self-sign-up for open slots, or you can assign them directly.

## Setting up shift types

Shift types define the categories of work at camp (kitchen, setup, breakdown, camp operations, etc.). Each type has a name, description, and default duration.

<Steps>
  <Step title="Open shift type management">
    On the Shifts page, click **Manage Shift Types**.
  </Step>

  <Step title="Create a new type">
    Enter a name (e.g., "Waffles/Bartending", "Cook", "Clean/Serve", "Camp Shift"), an optional description, and the default duration in hours.
  </Step>

  <Step title="Save">
    Click **Create**. The type is now available when creating individual shift slots.
  </Step>
</Steps>

You can edit or delete existing types from the same dialog. Deleting a type does not remove existing shift slots that were created with it.

## Creating shift slots

A shift slot is a single schedulable block: a shift type, on a specific date and time, with a capacity limit.

<Tabs>
  <Tab title="Single shift">
    <Steps>
      <Step title="Click Create Shift">
        Use the **Create Shift** button on the Shifts page.
      </Step>

      <Step title="Fill in the details">
        Select the shift type, set the date, start time, end time, and maximum number of slots (how many members can be assigned).
      </Step>

      <Step title="Save">
        The shift appears in the calendar and spreadsheet view immediately.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Bulk create">
    <Steps>
      <Step title="Click Bulk Create Shifts">
        Use the **Bulk Create** button to create the same shift slot pattern across multiple days at once.
      </Step>

      <Step title="Configure the pattern">
        Select the shift type, the date range, and the time and capacity for each slot. This is useful for recurring shifts like daily kitchen crews.
      </Step>

      <Step title="Confirm">
        Review the preview and click **Create All**.
      </Step>
    </Steps>
  </Tab>
</Tabs>

<Tip>
  Event dates constrain the calendar. If you haven't set event dates yet, go to **Settings → Dates** and add one or more dates with the category **event**. Dates support an optional end date, so you can use a single entry to define a multi-day event window instead of creating one date per day.
</Tip>

## The shift calendar views

The Shifts page has two views — switch between them using the tabs at the top.

### Day Planner view

The Day Planner shows one day at a time with each shift slot as a card. Each card shows the shift type, time, capacity, and who is currently signed up. Use this view when you're actively building out a specific day's schedule.

### Calendar / Spreadsheet view

The Spreadsheet view shows all shifts across the event date range in a grid. Each column is a day; each row is a shift slot. Color indicators show whether a slot is full, partially filled, or empty — making coverage gaps immediately visible.

## Manually assigning members to shifts

<Steps>
  <Step title="Open the shift">
    Click a shift slot in either view to open its detail panel.
  </Step>

  <Step title="Assign a member">
    Click **Assign Member**. Search for a member by name. Only members who are on-playa on that date are shown (filtered by their arrival and departure dates).
  </Step>

  <Step title="Set a role (optional)">
    Each signup can have a role within the shift (e.g., lead, volunteer). Select the appropriate role from the dropdown.
  </Step>
</Steps>

<Note>
  Admin-assigned members are tracked separately from self-signups. You can filter by assignment type in the shift detail panel, which is useful for shift planning and reporting.
</Note>

## Member self-signup

By default, members can view available shifts in their member dashboard and sign up for open slots. The system automatically shows members only the shifts they're eligible for based on their arrival and departure dates — a member who arrives Wednesday won't see Monday shifts.

To publish shift assignments so members can see them, click **Publish Shifts** at the top of the page. Unpublished shifts are visible to admins only.

## Shift assignment statuses

| Status      | Meaning                                                       |
| ----------- | ------------------------------------------------------------- |
| `signed_up` | Member signed up (self or force-assigned), not yet confirmed. |
| `confirmed` | Confirmed by admin or member.                                 |
| `completed` | Shift finished, member was present.                           |
| `no_show`   | Member did not show up.                                       |

## Handling no-shows and reassignments

If a member doesn't show up:

1. Open the shift slot.
2. Find the member in the signup list.
3. Change their status to **No-show**.
4. Use **Assign Member** to add a replacement.

## Removing a member from a shift

From the shift detail panel, click the remove icon next to any member's name. This frees up their slot for reassignment.

## Copying and clearing shift days

Use the **Bulk Edit** button to:

* **Copy a day** — duplicate all shift slots from one date to another.
* **Clear a day** — remove all shift slots from a specific date.

These operations are useful when building out the schedule in bulk.

## Exporting the shift schedule

Click **Export Shifts** to download a CSV of all shifts and their assigned members. This file includes shift type, date, time, member name, and assignment status.

<Info>
  The iCal export is not yet available in PlayaOS. The CSV export is the current method for sharing the shift schedule with members who need an offline copy.
</Info>
