> For the complete documentation index, see [llms.txt](https://docs.shortcutco.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.shortcutco.com/readme/jobs-and-scheduling/scheduling-chemical-programs.md).

# Scheduling chemical programs (starting rounds & linked programs)

When you schedule a **seasonal chemical program**, Shortcut plans the whole season for you: pick the first visit's date and it fills in the remaining rounds on their planned months — and if a customer has more than one program, it lines them all up to the same start. [Open Jobs →](https://shortcutco.com/jobs)

{% hint style="info" %}
This applies to **seasonal** chemical programs (rounds tied to planned months). Interval programs (e.g. mosquito every 21 days) and one-off chemical services schedule like any other service. See [Chemicals](/readme/chemical-tracking.md) for the difference.
{% endhint %}

## What this does

* **Suggests the right starting round** for the time of year, so a customer you sell in July doesn't start at Round 1
* **Auto-fills later rounds** on their planned month and week — every visit on the **same weekday** as the first
* **Skips rounds already past** (a "catch-up" that omits earlier rounds) — or lets you include them manually
* **Links a customer's multiple programs** so one start date sets them all, each landing in its own season

## Where you can schedule from

The same scheduler opens from every list where a pending chemical job appears:

* **Jobs** — click **Schedule** on the job (or select several and **Schedule** together)
* **Dispatch** → **Backlog** — click the pending program
* **Customer profile** → **Jobs** tab → **Schedule**
* **Calendar** → **Unscheduled** → **Schedule**

## Schedule a program

{% stepper %}
{% step %}

### Open the scheduler

Click **Schedule** on a pending chemical program. A calendar opens with the program's rounds listed beside it.
{% endstep %}

{% step %}

### Pick the first visit date

Choose a date on the calendar. Shortcut sets that as the first visit and fills the remaining rounds automatically — each on its planned month/week, on the same weekday.
{% endstep %}

{% step %}

### Check the starting round

Shortcut picks a **Suggested** starting round for the season (see below). To start earlier or later, click **Choose starting round** and pick a different round.
{% endstep %}

{% step %}

### Fill any required dates

If a round needs a date you have to set yourself, its row shows **Date required**. Click the round and pick a date. The running summary tells you how many are still needed.
{% endstep %}

{% step %}

### Schedule

Click **Schedule for these dates**. (The button reads **Select dates to schedule** and stays disabled until every included round has a date.)
{% endstep %}
{% endstepper %}

## Choosing the starting round

By default Shortcut selects the **Suggested** round — the latest round whose window has already begun for the date you picked — and marks it with a **Suggested** badge. Everything before it is treated as already done and left off the schedule.

* **Start later or earlier:** click **Choose starting round** and pick any round. Choosing an earlier round is a **manual catch-up** — you'll see *"Manual catch-up includes \[round] and every sold round after it."* Any included round that can't be auto-dated will ask you for a **Date required**.
* **Go back to the suggestion:** click **Reset to suggested** to drop the manual choice and return to the season default.

## When a customer has multiple programs

If you schedule a customer who has **more than one** pending program at once (for example a fertilization program and a weed-control program), the programs are **linked**: the first date you choose becomes a shared start, and every program lines up to it — each one landing in **its own season**, not just copying the raw date.

Each program shows a small status so you can see what happened:

| Status            | What it means                                                                                                                                   |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| **Linked**        | The program picked up the shared start date and planned its season from there.                                                                  |
| **Date required** | The shared date falls **after** this program's last round — its season has already passed, so you need to pick a date for it before scheduling. |
| **Edited**        | You changed this program's date or round yourself. It's now independent — it keeps your choice and won't move when you change the shared date.  |

You'll also see a one-line summary per program, like **"Round 4 starts Mon 08/12,"** so you can confirm each one at a glance.

{% hint style="info" %}
**Season-aware, not just copy-paste.** If the shared date lands **before** a program's first round, that program quietly starts at its own first-round window instead (still on your chosen weekday). If it lands **after** the last round, the program can't inherit it and asks for a date. Only dates that actually fit the season get applied.
{% endhint %}

## Reading the plan

A few things to know while you work:

* **The running summary** counts how many visits are included, how many earlier rounds were skipped, and how many still need a date — it updates as you make changes.
* **Same weekday:** later rounds land on the same weekday as your first visit, in each round's planned month and week.
* **Editing detaches:** changing one program's date or round marks it **Edited** and unlinks it from the shared date, so your manual work is never overwritten.
* **Sold version is kept:** the rounds come from the program **as it was sold** to that customer — later edits to the live program don't rewrite it.

{% hint style="warning" %}
A round marked **Date required** must get a date before you can schedule — this happens for catch-up rounds Shortcut can't safely auto-date, and for programs whose season has already passed. The **Schedule** button stays disabled until every included round has a date.
{% endhint %}

## Related pages

* [Chemicals](/readme/chemical-tracking.md)
* [Scheduling calendar (multi-service start dates)](/readme/jobs-and-scheduling/scheduling-calendar-multi-service-start-dates.md)
* [Create a job for an existing customer](/readme/jobs-and-scheduling/create-a-job-for-an-existing-customer.md)

<details>

<summary>Still stuck?</summary>

Email <hello@shortcutco.com> with the customer name, the program, and the date you're trying to start on — a screenshot of the scheduler helps.

</details>
