Skip to content
DocsChartsRota lanesLast updated Nov 2, 2026

Rota lanes

Who is on call, and for how long. Sample data: on-call from Fri 16 to Thu 29, your shifts against Leo's and Ana's, key rotation Sat 06:00.

On-call rota for two weeks5 on-call shifts over 14 days from FRI 16 to THU 29; you hold 150 of 336 hours, and a key rotation is planned at SAT 24 06:00.LEO18 HYOU63 HANA105 HLEO63 HYOU87 HKEY ROTATION SAT 06:00NOWFRI 16SUN 18TUE 20THU 22SAT 24MON 26THU 29YOUR SHIFTSOTHERSWEEKENDPLANNED EVENT
On-call rota for two weeks
On callFromToHours
LeoFRI 16 00:00FRI 16 18:0018
YouFRI 16 18:00MON 19 09:0063
AnaMON 19 09:00FRI 23 18:00105
LeoFRI 23 18:00MON 26 09:0063
YouMON 26 09:00THU 29 24:0087
On-call rota for two weeks5 on-call shifts over 14 days from FRI 16 to THU 29; you hold 150 of 336 hours, and a key rotation is planned at SAT 24 06:00.LEO18 HYOU63 HANA105 HLEO63 HYOU87 HKEY ROTATION SAT 06:00NOWFRI 16MON 19THU 22SUN 25THU 29YOUR SHIFTSOTHERSWEEKENDPLANNED EVENT
On-call rota for two weeks
On callFromToHours
LeoFRI 16 00:00FRI 16 18:0018
YouFRI 16 18:00MON 19 09:0063
AnaMON 19 09:00FRI 23 18:00105
LeoFRI 23 18:00MON 26 09:0063
YouMON 26 09:00THU 29 24:0087

Installation

  1. 1

    Set up the registry once

    Your token in .env and @chartory in components.json. Skip this when another chart is already installed.

    Installation guide
  2. 2

    Add the chart

    One command adds the Rota lanes component to your project.

    npx shadcn add @chartory/rota-lanes
  3. 3

    Use it

    Pass your rows. The props are the Figma properties.

    usage.tsx
    import { RotaLanes }  from "@/components/chartory/rota-lanes"<RotaLanes  data={onCall}  size="m"  legend/>

Props

<RotaLanes>

Every prop but data is a Figma property with the same name and values.

PropTypeDefault
data: The chart's data. The tables below list every field.RotaLanesDataRequired
size: The size class. Each one is laid out again from the data."xs" | "s" | "m" | "l""m"
legend: Shows the legend row under the plot.booleantrue
color: The data colour of the primary marks (data/primary)."cat-1" | "cat-2" | "cat-3" | "cat-4""cat-1"

RotaLanesData

The data prop: one object for the whole chart.

PropTypeDefault
days: The number of days.numberRequired
dl: The day labels.string[]Required
segs: The segments.RotaLanesShift[]Required
now: Where now is on the axis.numberRequired
weekend: The weekend ranges: [start, end].[number, number][]Required
marker: A marked hour and its label.RotaLanesMarkerRequired

RotaLanesShift

One object per entry in segs.

PropTypeDefault
who: Who is on the shift.stringRequired
hours: The hours as shown.stringRequired
from: Where it starts.numberRequired
to: Where it ends.numberRequired
you?: Marks your own shift.booleanfalse

RotaLanesMarker

The marker object.

PropTypeDefault
h: The hour of the marker.numberRequired
text: The label as shown.stringRequired

The data as a JSON Schema: schemas/rota-lanes.json

Rota lanes: a React and Figma chart in four sizes

What does a rota lanes show?

Rota lanes draw on-call shifts as blocks along a two-week line, your shifts in one colour and others in another, with planned events marked. Long stretches and weekends show at once. Use it for on-call rotas and support shifts.

Chartory ships it as a Figma component and a React component with the same name. The code installs from the shadcn registry with one command and lands in your project as a file you own.

What is the Rota lanes component?

It is one <RotaLanes> component. Its props are the Figma properties with the same names and values, and the props table above lists them. The data is shifts with a person, a start and an end.

Sizes XS, S, M and L re-lay the chart out from the data instead of scaling it, so labels stay readable at every size.

When should I use it?

  • Is it one person's view? Yes means the rota lanes fit.
  • Is it shifts over days? Yes means the rota lanes fit.
  • Is it people, not alerts? Yes means the rota lanes fit.

When does another type fit better?

  • Many resources' jobs. Use Gantt instead.
  • One day's activities. Use Tachograph instead.
  • Where alerts went. Use Replay lanes instead.

Rota lanes questions

Installing, data, Figma and plans.

  • Yes. It installs through the shadcn registry with the shadcn CLI, and the file lands in your project.

Stay in the loop

New charts, by email.

Get an email when new chart types and releases ship.

Unsubscribe any time.