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

# Creating a Routing Schedule

> Choose the profile, the name, the repeat cycle and whether the result is dispatched automatically.

<Note>
  Required permission:

  * View Schedule (Routing Schedule)
  * Create Schedule (Routing Schedule)
</Note>

Open **Planning › Schedule**, click the **Routing** tab, then click **New routing schedule**. Make sure the hub picker in the top bar shows the hub you are scheduling for: the profiles you can choose from belong to that hub.

<div align="center">
  <img src="https://mintcdn.com/mileappv4/WSCQrzxOhh4WLfZT/images/v4/planning/schedule/routing-new.png?fit=max&auto=format&n=WSCQrzxOhh4WLfZT&q=85&s=1bc43a96cf4febd040f35fc7d9dadf5f" alt="New routing schedule" width="600" data-path="images/v4/planning/schedule/routing-new.png" />
</div>

1. **Profile**: the [configuration profile](/pages/planning/routing/configuration/introduction) every run uses. This one choice decides the **hub** and the **vehicles** of each run, and all the routing settings such as capacity, clustering and multi-trip. Required: without it the form says *Select a profile*.
2. **Schedule name**: a name that tells this schedule apart from the others. It is also used to name the results the schedule produces, so a run is easy to recognise in **Result**. Required: without it the form says *Enter a schedule name*.
3. **Repeat Cycle**: how often the optimization runs. See [Choosing a repeat cycle](#choosing-a-repeat-cycle) below.
4. **Times of day**: when it runs. Click **Add a time** to run more than once a day. Times are entered in your own time zone (shown in the form, for example UTC+7) and stored in UTC, which is how the scheduler reads them.
5. **Active from / Active until**: the period the schedule runs in. Outside it, nothing runs.
6. **Auto Dispatch**: when ticked, every vehicle on the result is dispatched to its field worker as soon as the optimization finishes, with no second step and no visit to the Result page. When left empty, the result waits in **Result** for you to review and dispatch it.

Click **Save**. The schedule appears in the list right away.

<Note>
  There is no vehicle, visit or hub field in this form, on purpose. Vehicles come from the configuration profile, so there is only one place to maintain them: edit the profile and the next run picks up the change.
</Note>

## Choosing a repeat cycle

The repeat cycles work exactly as they do for task schedules:

| Repeat cycle | Runs |
| - | - |
| **Every day** | Every day, at one or more times of day. See [Daily](/pages/planning/schedule/repeat-cycle/daily). |
| **Every week** | On the weekdays you choose. See [Weekly](/pages/planning/schedule/repeat-cycle/weekly). |
| **Every month** | On the days of the month you choose. See [Monthly](/pages/planning/schedule/repeat-cycle/monthly). |
| **On fixed dates** | On specific dates you list. See [By date](/pages/planning/schedule/repeat-cycle/by-date). |
| **Custom cycle** | Every few days, weeks or months, for example every 2 weeks. See [Custom](/pages/planning/schedule/repeat-cycle/custom). |

Two rules carry over from task schedules:

* **Outside the active period, nothing runs.** A schedule whose **Active from** date hasn't come yet, or whose **Active until** date has passed, is not triggered. **On fixed dates** is the exception: those dates are absolute, and the detail shows *Runs on its own fixed dates*.
* **Times are stored in UTC.** The form shows your time zone next to the times, so you can check what a time means locally.

## What each run includes

* **Visits:** every active visit at the profile's hub, both those still waiting to be assigned and those already in progress. You can't narrow the set from this form.
* **Vehicles:** exactly the vehicles selected on the configuration profile at the moment the run starts.

<Warning>
  A run has a visit limit. When the hub has more active visits than the limit, the oldest visits are optimized and the rest are left out of that run. The run's detail then says *Visit limit reached, some visits were not included*. For hubs that regularly go over, split the work across hubs or schedule more than one run a day.
</Warning>

Visits without a coordinate are left out of the optimization. A scheduled run doesn't look up coordinates from addresses the way you can on the Visit page before optimizing by hand. The run's detail shows how many visits had no coordinates.

## After the first run

The **Last Execution** column shows *Not run yet* until the schedule first comes due. After that it shows what happened and, if nothing was produced, why. See [Managing Routing Schedules](/pages/planning/schedule/routing-schedule/managing).


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