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

# Dock Scheduling Metrics

> What every number on the Dock Scheduling Data dashboard means, how it's calculated, and how to best interpret certain values.

**Where to find it:** `Dock Scheduling → Analytics`

This dashboard summarizes appointment volume, punctuality, time on site, and booking lead time for your facility. This page explains what each number means.

<Note>
  **Seeing `null` values or empty charts?** Most of this dashboard is built from the arrival and departure times your team records at check-in. If those aren't being captured, there's nothing to calculate and the panel shows `null`.

  * **Needs an arrival time**: On Time %, Late Arrivals, Median Arrival vs Scheduled Start Mins.
  * **Needs an arrival and a departure time**: Median Arrived to Departed Minutes, and its weekly and hourly breakdowns.
  * **Works either way**: Appointments and Median Booking Lead Time, which come from booking data.

  That last group is why you can see a healthy appointment count sitting next to a wall of nulls. If that's your dashboard, the fix isn't here — make sure your team is [checking drivers in](/facilities/driver-check-in) and recording departures.
</Note>

## See the Appointments Behind Any Number

Every chart value, bar, cell, and summary tile on the dashboard is clickable. Click one and a **See these Appointments** button appears — select it to open the raw appointment records that make up that number.

This is the fastest way to answer "why is this number so high?" Instead of guessing, click through and look at the actual appointments. It works everywhere: a bar on a weekday chart, a point on a weekly trend line, a shaded cell in the dwell time grid, or a headline tile.

<Tip>
  Use this before escalating anything unusual. A single surprising cell is often one truck with a missing departure time, and the appointment list will show you that in seconds.
</Tip>

## How Appointments Are Counted

The **Appointments** tile counts every appointment booked at your facility inside your date range.

| Included                                                                                                                        | Excluded                                 |
| ------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
| <ul><li>Confirmed appointments</li><li>Appointments dated in the future</li><li>No-shows (booked, but nobody arrived)</li></ul> | <ul><li>Cancelled appointments</li></ul> |

Two important things follow from this:

* **This is booking demand, not just completed work**: because future appointments and no-shows are included, the total is not a count of trucks that came through your dock. To see completed activity only, set the date filter to end before today.
* **Not every appointment can be scored**: a future appointment or a no-show has no arrival time and no departure time. Any metric built on those timestamps quietly skips them, so it covers fewer appointments than the headline total. This is why On Time % multiplied by the appointment total does not give you a count of on-time trucks.

The tile counts appointments, not orders. One appointment can carry several order reference numbers.

### Appointments by Week

The same count grouped by week. The first and last points nearly always cover **partial weeks** cut off by the edge of your date range, so a dip at either end is usually the date filter, not a real drop in volume.

### Appointments by Day of Week

The count split by weekday. These bars add up to the **Appointments** total.

### Appointments Booked by Facility

Whether an appointment was created by your team or by the carrier booking themselves. A single bar labelled `true` means every appointment was booked by the facility, and no carriers are self-scheduling.

## Punctuality Metrics

### On Time %

The share of arrived appointments where the driver got there at or before their scheduled start time.

* **On time**: the driver arrived at or before the scheduled start.
* **Late**: the driver arrived after the scheduled start, by any amount.

There is no grace period. A driver who arrives two minutes after their slot opens counts as late, which is why this number often looks worse than your team's own sense of how the dock is running. Read it as strict schedule adherence, not as a verdict on your operation.

Appointments where nobody arrived are left out of this calculation entirely.

### Late Arrivals

The same on-time split drawn as a share-of-total bar. Green is on time, red is late. It is the same information as **On Time %**, shown as a proportion.

### Median Arrival vs Scheduled Start Mins

The typical gap, in minutes, between when a driver arrived and when their appointment was meant to start.

* **A positive number means late**: `19` means the typical driver arrived 19 minutes after their scheduled start.
* **A negative number means early**.

Read this together with **On Time %**. On Time % tells you how often drivers miss their slot; this tells you by how much. Most drivers being a few minutes late is a very different problem from drivers turning up hours outside their window, and On Time % alone can't tell those apart.

## Time on Site

### Median Arrived to Departed Minutes

The typical time a truck spent at your facility, measured from arrival to departure. Only appointments that recorded **both** an arrival and a departure are included.

This is a median, meaning the middle value. Owlery uses the median because a few trucks that sit for many hours would pull an average far above what a normal driver experiences. If you calculate an average yourself from exported data, expect it to come out higher.

### Median Arrived to Departed Mins by Week

The same figure grouped by week. As with volume, the first and last points cover partial weeks.

### Median Arrived to Departed Minutes by Hour and Day

A grid showing typical time on site for each appointment hour and weekday. Darker shading means longer.

<Note>
  Shading doesn't account for how busy a cell is. A cell covering two appointments looks the same as one covering forty, so an unusually dark cell is often a single slow truck or a missing departure time rather than a real backup. Click the cell and check the appointments before acting on it.
</Note>

The **Grand totals** row is the typical value across all appointments in that column. It is not the average of the cells above it, so the two won't match.

## Booking Lead Time

### Median Booking Lead Time

The typical time **in hours** between an appointment being booked and its scheduled start.

`119` means the typical appointment was booked around five days ahead. The tile stays in hours even when the number runs into the hundreds.

### Median Booking Lead Time by Week

The same figure by week. A rising line means carriers are booking further ahead than they used to.

### Appointments by Booking Lead Time (Hours)

The full spread of lead times.

Bars to the **left of zero** are appointments booked after their own start time had already passed. That's normal: it covers walk-ins entered once the truck was already on site, and appointments added to Owlery after the fact. It isn't a data error.

## Driver Late Reasons

The reason a driver gave for arriving outside their window, captured when your team checks them in. See [driver check-in](/facilities/driver-check-in) for how reasons are recorded.

If this panel says **No results**, late reason capture isn't switched on for your organization. It does not mean no drivers were late. Contact Owlery Support to have it enabled.

## Common Questions

<AccordionGroup>
  <Accordion title="Why doesn't On Time % × Appointments give a whole number of trucks?">
    They cover different sets of appointments — see [How Appointments Are Counted](#how-appointments-are-counted).
  </Accordion>

  <Accordion title="Why is On Time % lower than we expect?">
    There's no grace period; one minute late counts as late. See the **On Time %** section above.
  </Accordion>

  <Accordion title="Why did volume drop in the first and last week?">
    Those are partial weeks clipped by your date filter. See [Appointments by Week](#appointments-by-week).
  </Accordion>

  <Accordion title="What timezone are the hourly breakdowns in?">
    Your facility's local time, as set on the [facility profile](/facilities/facility-profile) — not the timezone of whoever is viewing the dashboard.
  </Accordion>

  <Accordion title="Where does a specific number come from?">
    Click it. See [See the Appointments Behind Any Number](#see-the-appointments-behind-any-number).
  </Accordion>
</AccordionGroup>
