Ownware

Rostera — Staff Shift Scheduler & Rota (PHP + MySQL, Self-Hosted)

Self-hosted staff shift scheduler — a weekly rota, exact hours, double-booking caught.

Available soon — get notified Try the live demo No sign-up, no password — the demo opens already signed in as the admin, on sample data.
Rostera — Staff Shift Scheduler & Rota (PHP + MySQL, Self-Hosted) preview banner

The problem it solves

Cafés, shops, clinics, and small ops teams build the weekly rota in a spreadsheet or a group chat — and every week it goes wrong the same ways: two people booked for the same shift, someone quietly pushed past their hours, an overnight shift counted wrong, and no clean copy to hand the team. Scheduling SaaS fixes it but charges per employee every month, and usually tries to bolt on payroll and a time clock you didn't ask for.

  • Double-bookings and gaps nobody spots until the shift
  • Weekly hours that don't add up, and overnight shifts counted wrong
  • Per-seat monthly SaaS, bundled with payroll/time-clock you don't want

What you get

Weekly rota grid

Staff down the side, the seven days of the chosen week across the top; navigate week to week with a configurable week-start day.

Assigned or open shifts

Each shift has a date, start/end time, role or location, and a draft/published status — assigned to a person or left open for anyone to pick up. Shifts that cross midnight are handled correctly.

Exact weekly hours

Times are stored as integer minutes, never floats, so each person's weekly total is exact to the minute, shown against an optional weekly-hours target.

Double-booking detection

An overlapping shift for the same person is blocked; clean back-to-back hand-overs are allowed; correct even for overnight shifts that spill into the next day.

DST-safe shift lengths

A shift on a spring-forward or fall-back day counts the true elapsed time — a lost hour in spring, a gained hour in autumn.

Publish, PDF & hardened CSV

Publish a week (or one shift) in a click, print a dependency-free PDF of the rota grouped by person, and export a spreadsheet-formula-injection-hardened CSV; plus an hours report over any date range.

Pricing — one-time, yours forever

single license
$59.00
Version 1.0.0 · instant download · license key included
Available soon

Available soon — get notified

Checkout isn't open yet. Leave your email and we'll send one note the moment Rostera — Staff Shift Scheduler & Rota (PHP + MySQL, Self-Hosted) can be purchased — nothing else.

Screenshots

Honest limitations

  • Plans shifts only — it is NOT payroll and holds no pay rates or wages
  • NOT a time clock: shifts are planned hours, not clock-in/attendance, and there is no time or biometric capture
  • No automated shift-swap requests or push notifications — the published rota is viewed in the app or as a PDF
  • Single-tenant: one organisation, one admin login per installation

2-minute web installer, plain PHP 8 + MySQL (or SQLite for a trial), no Composer or build step — Docker image included.

Frequently asked questions

Is Rostera payroll?

No. It plans shifts — who works, when, and for how long. It holds no pay rates or wages, calculates no pay, and moves no money. Zero payment surface, by design.

Is it a time clock?

No. Shifts are planned hours, not clock-in / attendance records — there is no time or biometric capture. It is a scheduling and planning tool.

How exact are the hours?

Exact to the minute. Times are stored as integer minutes and summed in PHP, with DST-correct shift lengths — the shipped 130-assertion suite covers overnight shifts and both DST transitions.

MySQL or SQLite?

Either — SQLite for a zero-config trial, MySQL/MariaDB for production on ordinary shared hosting.

What if the developer disappears?

You get the full PHP source and your rota lives in one database you own — nothing phones home, nothing expires.

See it running before you buy

The live demo resets itself — click around freely.

Open the live demo

More from this store

Ownware Business tools you own.  ·  hello@ownware.io
Catalog · Guides · Your purchases Powered by Deliora (self-hosted)