BlueShifts shield logo BlueShiftsPolice Calendar app

HomeRotating shifts › Dataset

Open data · v1.0.0

Shift rotation patterns, as data

The twenty-one rotations on this site, written out day by day and free to use. Take it, build on it, correct it — all we ask is a credit.

Version 1.0.0 · updated 2026-08-03 · CC BY 4.0

What is in it

Twenty-one rotations, each with the plain facts — the cycle written out one day at a time, how long the cycle runs, shift length, the average week, and whether crews rotate between tours.

And then the part that took the work: figures computed from the cycle rather than copied from anywhere.

  • Whether the pattern locks to the weekdays. A cycle whose length divides by seven never drifts — so the crew you are on, not the rotation, decides which weekends you get. Ten of the twenty-one are like this, and almost nobody says so.
  • Full weekends off a year, counted across 52 weeks from every starting position in the cycle, with the range across crews. A weekend counts only when both days are off.
  • The blocks — the cycle read as runs of work and the breaks between them.
  • The tightest turnaround — where the tour changes with the least time around it, which is the part of any rotation people actually remember.

A record, in full

{
  "id": "panama-schedule",
  "name": "Panama schedule",
  "alsoKnownAs": null,
  "url": "https://www.policecalendarapp.com/rotating-shifts/panama-schedule/",
  "cycleDays": 14,
  "cycle": [
    "day",
    "day",
    "off",
    "off",
    "day",
    "day",
    "day",
    "off",
    "off",
    "day",
    "day",
    "off",
    "off",
    "off"
  ],
  "cycleCompact": "ddoodddooddooo",
  "daysOnPerCycle": 7,
  "daysOffPerCycle": 7,
  "shiftLength": "12 hours",
  "averageWeekHours": "42 hours",
  "rotatesTours": null,
  "locksToWeekdays": true,
  "fullWeekendsOffPerYear": {
    "min": 0,
    "max": 26,
    "variesByCrew": true
  },
  "blocks": [
    {
      "kind": "day",
      "days": 2
    },
    {
      "kind": "off",
      "days": 2
    },
    {
    
  ...

Using it

The license is CC BY 4.0. Use it commercially, change it, build a product on it — credit the source and you are fine.

A line that does the job:

Shift rotation patterns v1.0.0, BlueShifts — www.policecalendarapp.com/rotating-shifts/data/ — CC BY 4.0

What it is not

These are the common form of each pattern. Agencies run local variations, relief lines and arrangements with no name at all, and a bid or a collective agreement always governs the real schedule. The weekend and turnaround figures are arithmetic on the cycle, not a survey of what departments run. Treat it as the shape of a pattern, not a claim about anyone's roster.

Corrections

If a cycle here does not match how a pattern is genuinely worked, we want to know — the support page reaches us. Fixes go into the next version, and the version number and date at the top change with it.

Built on this data

Know someone who should see this?

Or skip the spreadsheet

Save your rotation once in the app and the calendar fills itself in — no data wrangling required.

Scan to install

QR code that opens BlueShifts on the App Store
iPhone
QR code that opens BlueShifts on Google Play
Android