> For the complete documentation index, see [llms.txt](https://help.rinsebase.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.rinsebase.com/scheduling.md).

# Scheduling

Everything about getting cleans on the board and keeping them there: the six Schedule views, creating jobs, assigning crew, the open jobs board, moving cleans, running the day from the Dispatch board, recurring series, and cancelling.

## The Schedule page

Open **Schedule** in the sidebar. The view switcher at the top left has six views, and Rinsebase remembers the view and date you were on while you move around the app.

| View           | What it shows                                                                     | Best for                                    |
| -------------- | --------------------------------------------------------------------------------- | ------------------------------------------- |
| **Day**        | One day on a 7 AM–7 PM grid, one lane per crew member plus an **Unassigned** lane | Checking who is doing what today            |
| **Week**       | Seven days on the same hour grid                                                  | Planning the week                           |
| **Month**      | A calendar month, up to three cleans per day with "+N more"                       | Spotting busy and empty days                |
| **List**       | Every clean grouped by day, with time, crew and status                            | Scanning the upcoming schedule              |
| **Properties** | A two-week tape chart, one row per property, with guest stays and cleans          | STR work: seeing turnovers against bookings |
| **Crew**       | A two-week board, one row per crew member                                         | Balancing workload and finding who is free  |

Getting around:

* **‹** and **›** move back or forward, **Today** jumps to today, and the date box jumps straight to any date.
* Double-click a day header in Week or Month to open that day in Day view.
* In Day view, turn on **Expand entries** for a read-only agenda that shows every clean in full detail.
* Cancelled cleans are hidden. When there are some in the window, a **Cancelled (N)** button shows them (gray and struck through).
* Click any clean to open it. The hint at the top right of each view tells you what dragging does there.

### Properties view

* Guest stays show as bars in the booking platform's color. Blocked dates show with 🚫.
* ★ marks a stay that appeared in the last 7 days, ⚠ one that changed in the last 7 days.
* Click a property's day to open **+ New job** with the property and date filled in. Drag a clean along its own row to move it to another day. A clean can't be dragged to a different property.
* **Filter properties…**, **Hide properties with no activity** and **⚡ Gap alerts** (Off, ≤ 1, ≤ 2 or ≤ 3 nights) help you focus. Gap alerts mark short vacant gaps between two bookings.
* If cleans exist past the two-week window, a button shows how many and jumps to the next one.

### Crew view

* Switch between **By person** (one row per crew member) and **By team** (one row per crew that works together).
* **Filter crew…**, **Hide crew with nothing booked** and **Busy day at** (3+ to 6+ cleans) highlight who has room.
* A badge counts cleans with nobody on them.
* Drag a clean onto someone to reassign it, onto another day to move it, or both at once. Taking someone off a clean asks you to confirm with **Hand it over**.

## Status colors

Each status has a color. On the Schedule and Dispatch boards, an open clean is tinted in its assigned crew member's color. The status color shows when nobody is assigned yet.

| Status              | Meaning                              | Color  |
| ------------------- | ------------------------------------ | ------ |
| Pending approval    | Waiting for you to approve it        | Amber  |
| Scheduled           | On the schedule, not started         | Blue   |
| En route            | Crew tapped **On my way** in the app | Purple |
| In progress         | Crew clocked in                      | Gold   |
| Completed           | Clean finished                       | Green  |
| Cancelled / No show | Won't happen                         | Red    |

A few things override the crew color:

* **Completed** cleans always show green with **✓ DONE**.
* **Cancelled** cleans show gray on the calendar with **✕ CANCELLED**.
* STR cleans get urgency tints: **! RAPID** (dark red, pulsing) when the next guest arrives less than 2 hours after checkout, **! TIGHT** (amber) when it's less than 4 hours.
* A **⚡ B2B** badge means the next guest checks in the same day. **TURNOVER** marks STR turnover cleans.

Each crew member keeps the same color everywhere: the Schedule, the Dispatch board and the crew picker.

## Creating a job

1. Click **+ New job** (on Schedule, the Dispatch board or Jobs).
2. Pick the job kind:
   * **🧽 Cleaning job**: a clean for a client.
   * **🧺 Laundry run** (Growth plan and up): an internal task with no client and no invoice. Crew fill in a cash and bags form on the job.
   * **📌 Task**: an internal task with no invoice, such as an inspection, a supply run or training. Give it a **Task title**. You can attach a property (so the crew app shows its address, lockbox and map) and set a flat **Crew pay** for the task.
3. For a cleaning job, use **Find property** (it fills the client too), or pick the **Client** and **Property**. Choose a **Service**. Tick **This is a turnover** if it is one. It's suggested automatically when the service name contains "turnover".
4. Set the **Date**, **Start time** and **Duration** (30 min to 8 hrs).
5. Assign crew (see below), and click **Set lead** on the person leading the clean.
6. Optionally tick **Schedule an inspection with this clean** and pick an inspector. The inspection starts when the clean is due to finish and runs 30 minutes.
7. Add **Notes** and a **Promo code** if needed.
8. Click **Schedule job** (**Schedule laundry run** / **Schedule task** for the other kinds).

Jobs you create yourself go straight to **Scheduled**.

**Price preview.** Once a property and service are picked, an **Estimated invoice price** box shows what the clean will bill. It uses the same order the invoice uses: the property's set price, then your pricing calculator, then the service base price. It also shows where the number came from, plus any surcharges and tax.

**Off-hours check.** A start time before 7 AM or at 7 PM or later asks you to confirm ("This job is scheduled outside normal hours"). This catches AM/PM slips.

**Smart crew suggestion** (Pro plan). Turn on **Smart scheduling** in **Settings → Features** and the new-job form suggests the best crew for the property and time.

## Assigning crew

* **Default crew.** If you leave the crew picker empty, the property's **Default crew** (set on the property page) is assigned automatically when the job is created. This is all or nothing: if anyone in the default crew is inactive, has approved time off, doesn't work that weekday, or is already booked at that time, the job is left unassigned so you can staff it yourself. Picking crew in the form replaces the default crew.
* **Conflict prompts.** The picker marks crew who have time off or don't normally work that weekday. If you assign them anyway, Rinsebase asks first: "These crew members have approved time off for this date" or "These crew don't normally work on Mondays". Click **Assign anyway** to go ahead. The same check runs when you edit a job, drag onto a crew row, or drop on someone in the Crew view.
* **Crew are notified** by push when they're assigned.
* **Jobs that still need crew.** When cleans have fewer crew than they need, the owner dashboard shows **N jobs ready — assign crew**. Clicking it opens **Jobs** filtered to **Needs crew** for the next 30 days. Approving a pending clean does not assign crew. Crew are assigned when the job is created.

## Open jobs board

The open jobs board lets your crew claim cleans themselves. Open a clean to the crew and it shows on the **Open jobs** tab of the Rinsebase Crew app. The first person to claim it is on it, up to the clean's crew size (set on the job's **Edit** tab). A claim checks the same things automatic assignment does: approved time off, the days they work, and other cleans at that time. Crew see the property, not your client's name. It's built for crews of 1099 contractors who pick their own schedule, and it works for anyone who has one clean that's hard to fill.

**Choose how new cleans get crew** in **Settings → Features → How new cleans get crew**:

* **Default crew, then I assign** (the default): nothing goes on the board unless you put it there.
* **Default crew, then open to all crew**: the property's default crew first. If nobody lands on the clean, it opens to everyone.
* **Open every clean to all crew**: every new clean opens to everyone.

**Open cleans yourself**, whichever you chose:

* One clean: open the job and click **Open to crew** on the **Crew job board** card. **Take back** removes it from the board.
* Several: on the **Jobs** page, tick them and click **🙋 Open to crew**. Cleans that can't go on the board are skipped and counted for you: ones already on it, in the past, inspections, or anything not pending or scheduled.

**Crew are told by push.** Within about 5 minutes each crew member gets one push for everything newly opened, not one per clean, and no more than one every 30 minutes. With **Hold my team's alerts overnight** on (**Settings → Notifications**), pushes opened at night wait until 7am. The job's card says what happened: **Push sent to N crew**, that it rode on a push minutes earlier, that nobody has a registered phone, or that the push failed. To retry a failed push, take the clean back and open it again.

**Keep an eye on it.** The owner dashboard shows **N open on the job board**, and flags **N board cleans unclaimed** when one starts within 48 hours. Both open **Jobs** filtered to **Open to crew**. A claimed crew member shows a **Claimed** chip on the job.

**Giving a clean back.** Crew can hand a claimed clean back from the **Open jobs** tab until the cutoff you set under **Crew can give a claimed clean back until** (24 hours before it starts unless you change it). It goes back on the board, the crew is pushed again, and the job's card shows who gave it back. After the cutoff, only you can take them off it.

## Moving a clean

Drag a clean to a new slot in Day, Week, Month (or List, where it keeps its time of day and changes date). Drag it along its row in Properties, or onto a person or day in Crew. On the Dispatch board, drop it on a crew member's row at a new time.

When you move a clean:

* **The client and crew get an email** with the old and new time. Client emails respect your client-notification settings. Changing the time from the job's **Edit** tab does not send this email.
* **Outside the booking window?** If you drag a turnover to a day when the unit is still occupied, or after the next guest arrives, you'll see "Outside the booking window". Click **Move anyway** only if you mean it.
* **Your time sticks.** Any time you set by hand (drag, Dispatch move, route optimizer, or the **Edit** tab) is kept when the booking calendar syncs again. If the guest's booking later moves under a time you set, the clean is flagged instead of silently shifted. The job shows **The booking moved — your time was kept**, with a **Keep my time** button to clear the flag.

## Job statuses

Cleans move **Scheduled → En route → In progress → Completed**:

* **En route**: the crew taps **🚗 On my way** in the mobile app, or you click **Mark en route** on the job.
* **In progress**: the crew clocks in and starts the job.
* **Completed**: the crew marks it done.

You can change any status yourself from the job's **Details** tab under **Change status**.

## The Dispatch board

**Dispatch board** in the sidebar is your live view of one day.

* **Timeline** shows one row per crew member (plus **⚠ Unassigned**) across 5 AM–9 PM, with a red line at the current time. **Calendar** turns the same day into vertical columns per crew member.
* Summary cards: **Total**, **En route**, **In progress**, **Completed**, **Scheduled**, **Late start**, **Issues**, **Unassigned**.
* Job blocks show **🌙 Early** (before 7 AM) or **🌙 Late** (7 PM or later), **! RAPID**, **! TIGHT**, **! Power out**, **▶ In progress**, **✓ Done** and **⚠ Issue**. A clean still Scheduled after its start time is outlined red.
* Crew rows show time-off badges, so you can see who's out before you drag work to them.

### Alerts strip

When something needs attention, a red **N alerts need attention** bar appears above the board (**▾ Hide** / **▸ Show**). It can list:

* County power outages near the properties you clean ("… County, … — N without power")
* Jobs at properties with a power outage
* Jobs not started by their start time (late starts)
* Jobs with open issues

Job names in the strip are clickable and open the job.

### Live crew map

Click **Live crew map** to show crew positions and today's properties. The legend reads:

* **Active**: crew marker with a gold ring (on the clock)
* **Idle**: gray. A marker also turns gray when its location is more than 15 minutes old.
* **En route**: purple, with a 🚗 badge and "En route to …" in the crew list
* **Job location**: blue pin, which turns purple while a crew is heading there. A hollow dashed circle means the address could only be placed at the town center.

An active SOS alert shows as a large red marker (SOS alerts are on every plan).

### Route optimizer

1. Pick a crew member from the dropdown (or leave **All jobs**) and click **Optimize route**.
2. Review the result: total miles, drive time, time saved, and each stop in order with its drive leg. Legs over 20 minutes show **⚠ Long drive**. For STR cleans, each stop shows whether it fits before the next check-in. Jobs without GPS go at the end.
3. Choose:
   * **✓ Suggest order**: numbers the stops on the board without changing any times.
   * **Apply & reschedule clean times →**: also moves each start time to the planned arrival, never before checkout.

To set the order by hand, pick a crew member and click **⇅ Set order**. **× Clear route** removes the numbering. If your company address has no map location, mileage counts only the driving between stops. Add the address in **Settings → Company**.

## Turnover approval queue

With calendar sync (Growth plan and up), some STR cleans arrive as **Pending approval**. The dashboard shows "N turnovers awaiting your approval". **Approve** moves the clean to Scheduled. **Decline** asks for a reason and notifies the client (**Decline & notify client**). See [STR & Airbnb Sync](/str-and-airbnb-sync.md) for when cleans need approval and what happens when a guest cancels.

## Recurring cleans

Click **↻ Recurring** on the Schedule page, or **↻ Set recurring** on a client's profile.

* **Kind**: **🧽 Recurring clean**, **🧺 Recurring laundry** (Growth plan and up) or **📌 Recurring task** (for example hot tub service or a monthly inspection, with an optional property and flat crew pay).
* **Service is required** for recurring cleans, because it names and prices every clean in the series.
* **Repeat**: **Weekly**, **Every 2 weeks**, **Monthly**, **Every 4 weeks** or **Custom** (every N days).
  * Weekly and Every 2 weeks: pick one or more days under **On these days** (for example Wed + Fri). Leave it blank to repeat on the first job's weekday.
  * Monthly: **The same date**, or **A weekday of the month** (the first, second, third, fourth or last Monday, and so on).
* **End date** (optional, for seasonal work): creates every occurrence through that date, up to 120. Leave it blank for an ongoing series. That creates the next 8, and Rinsebase adds 8 more cycles each week whenever the series is within 8 weeks of running out.
* The **Schedule preview** lists the dates and the price per clean. The button reads **Create N jobs**.
* If a chosen crew member has time off or doesn't work one of the series' weekdays, a warning panel lists the conflicts and the button changes to **Create N jobs anyway**.

Each occurrence is a normal job: edit, move or cancel it on its own. There is no screen for editing a whole series after it's created. See [How to Set Up Recurring Cleans](/how-to-set-up-recurring-cleans.md) for the step-by-step guide.

## Cancelling a clean

Open the clean and choose **Cancelled** under **Change status**.

* **A one-off clean** asks "Cancel this job?" Choose **Cancel job** or **Keep it**.
* **A recurring clean** asks "Cancel this clean?", then "Also cancel all future cleans in this series?" **Only this one** skips just this date, and it won't come back. **This + all future** cancels every upcoming clean and ends the series so it stops generating new ones.

To bring a cancelled job back, open **Jobs**, click the job's menu and choose **↩ Reinstate job**.

## The Jobs page

**Jobs** is the sortable table of every job.

* Search by job number, client, property, address or service.
* Filter by **Status**, by **Type** (**Unassigned**, **Needs crew**, **Not packed**, **After guest arrives**, **Days after checkout**, **STR / Turnover**, **Urgent**, **Residential**, **Commercial**, **STR**), by **Crew**, and by date (**Today**, **This week**, **This month**, **Last 30 days**, **All time**, **Custom range**).
* Tick several jobs to use **Assign crew…**, **Reschedule…** or **Change status…** on all of them at once. Bulk rescheduling emails the new times the same way dragging does.

## Related

* [How to Set Up Recurring Cleans](/how-to-set-up-recurring-cleans.md)
* [STR & Airbnb Sync](/str-and-airbnb-sync.md)
* [Crew Management](/crew-management.md)
* [Mobile App Guide](/mobile-app-guide.md)
