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

# Introduction

The **Schedule** feature runs Route Optimization for you, automatically, at the times you choose. Instead of opening the Visit page every morning, picking a Configuration Profile, and clicking Optimize, you set the schedule once and the system does the run — including sending the routes to your field users, if you want it to.

It is the routing counterpart of the [Task Schedule](/pages/task/schedule/introduction) feature: the same repeat cycles, applied to route optimization instead of task creation.

Schedule is the last tab in the **Route Optimization** menu, after Visit, Configuration, and Result.

## When to Use It

Schedule is worth setting up when a hub's routing follows the same pattern every day:

* **The route needs to be ready before anyone is at a desk.** A schedule set for 04:00 runs at 04:00, whether or not someone is logged in.
* **Nothing about the daily run is a decision.** Same profile, same hub, same time — the click adds nothing.
* **The start time should be predictable for drivers.** Runs happen on the minute they are scheduled, so routes reach field users at a consistent hour.

## What Happens on Each Run

When a schedule comes due, the system does the following on its own:

1. **Collects the visits.** Every active visit at the schedule's hub is included — those still waiting to be assigned and those already in progress. There is no extra filter to set.
2. **Reads the Configuration Profile.** The vehicles, geotags, constraints, and optimization settings all come from the profile you selected. The hub comes from it too.
3. **Runs the optimization** and saves the outcome as a normal routing result, visible in [Route Optimization → Result](/pages/route-optimization/result/introduction).
4. **Dispatches the routes**, but only when **Auto Dispatch** is enabled on the schedule. Otherwise the result waits for you to dispatch it by hand.

Every run records what it did, and the outcome of the most recent one is shown on the schedule list as **Last Execution Status**.

## What a Schedule Does Not Change

* **Results look the same.** A scheduled result is created, named, and stored exactly like a manual one, and you work with it in the same way — open it, review it, reorder visits, dispatch it.
* **Drivers do nothing differently.** Dispatched routes arrive in the mobile app as they always have.
* **Manual optimization still works.** A hub with a schedule can still be optimized by hand at any time.

## Permissions

The Schedule tab and its actions each have their own permission, granted per role on the **Setting → Permission** screen:

| Permission              | Allows                                            |
| ----------------------- | ------------------------------------------------- |
| View Routing Schedule   | Seeing the Schedule tab and the list of schedules |
| Add Routing Schedule    | Creating a schedule                               |
| Edit Routing Schedule   | Changing an existing schedule                     |
| Delete Routing Schedule | Deleting a schedule                               |

Without **View Routing Schedule**, the Schedule tab does not appear at all.

## Before You Start

A schedule points at a Configuration Profile, so the profile has to exist first, and it has to be usable:

<Note>
  The profile must have **at least one vehicle selected**. A schedule whose profile has no vehicle cannot produce a route, and each run will be skipped instead.
</Note>

See [Configuration](/pages/route-optimization/configuration/introduction) for how profiles are set up.
