Turni: der Dienstplan, der sich selbst ausfüllt – mit Ruhezeiten, Pausen und Arbeitsverträgen

Dienstplan-App für kleine Betriebe, mit der Demo einer erfundenen Bar: Der Inhaber trägt ein, wer da ist und wie viele Leute gebraucht werden, und Turni plant die Woche mit Ruhezeiten, Pausen und Verträgen und erklärt, was sich nicht abdecken lässt. Das Team sieht seine Schichten auf dem Handy und beantragt Urlaub und Tausch. Gerechnet wird im Browser. Ausprobieren ohne Konto.

**Turni** (italienisch für „Schichten“) ist eine Dienstplan-App für einen kleinen Betrieb (eine Bar, eine Apotheke, einen Laden, ein Pflegeheim), und hier probiert man sie an **einer Bar aus, die es nicht gibt**: dem Caffè Clessidra, mit fünfzehn erfundenen Beschäftigten. Der Inhaber trägt ein, wer dort arbeitet und wie viele Leute gebraucht werden, halbe Stunde für halbe Stunde; Turni schlägt die Woche vor, der Inhaber passt sie an und veröffentlicht sie, und das Team sieht sie auf dem Handy.

**Was sie kann**

- **Die generierte Woche**: Erst deckt sie alles ab, was sich ohne Regelverstoß abdecken lässt, dann verteilt sie Wochenenden und Schließdienste gerecht, beachtet Wünsche und hält die Arbeitszeiten regelmäßig. - **Die Arbeitszeitregeln**: elf Stunden Ruhe zwischen zwei Schichten, die wöchentliche Ruhezeit, die Pause nach sechs Stunden, der Durchschnitt von 48 Stunden, die Zeitfenster der Teilzeitverträge, jede mit ihrem Artikel (italienische Gesetzesdekrete 66/2003 und 81/2015); was sich von Tarifvertrag zu Tarifvertrag ändert, steht in einem Profil. Von Hand korrigiert man durch Ziehen, und schon beim Ziehen sagt die App, was verletzt würde. - **Die Erklärungen**: Dienstagabend fehlt eine Person in der Küche, und Turni sagt auf Italienisch, warum, Person für Person: „Nessuno può coprirla: Simone è in permesso dalle 14; Luca è in ferie; Sara non è disponibile il martedì sera; Paolo ha il riposo fisso il martedì…“ (niemand kann einspringen: Simone hat ab 14 Uhr frei, Luca ist im Urlaub, Sara kann dienstagabends nicht, Paolo hat dienstags seinen festen Ruhetag …). Dass es sich nur mit einem Regelverstoß besetzen ließe, schreibt Turni nur, wenn der Löser es bewiesen hat. - **Die App für das Team**: eine PWA mit den eigenen Schichten, auch offline, Urlaubsanträgen und Schichttausch mit Kollegen, Benachrichtigungen und dem Handykalender, verbunden über eine geheime, widerrufbare Adresse. Man kommt mit einer Einladung hinein, ohne E-Mail und ohne Passwort.

**Ausprobieren ohne Konto**: Von der Startseite aus kommt man als Inhaber in die Verwaltung oder als Mitarbeiterin in die App. Der Server schickt eine Kopie der erfundenen Daten, seine Logik läuft im Browser, und die Änderungen bleiben dort: Niemand sonst sieht sie.

**Das Schwierige** ist die Rechnung. HiGHS, der Optimierungslöser, braucht beim Rechnen mehr als 100 MB, und auf meinem Server hat Turni insgesamt 150: Deshalb ist er nach WebAssembly kompiliert und läuft im Browser dessen, der die Woche erstellt, in einem Web Worker. Auf meinem PC beweist er in unter zwei Sekunden, dass sich die Lücke am Dienstagabend nicht schließen lässt.

Vue 3 und TypeScript, Fastify und MongoDB; jede Änderung durchläuft 368 automatische Tests und kommt über eine GitHub Action auf den Server.

Konzeption, Full-Stack-Entwicklung und Veröffentlichung · 2026

Vue.js, Fastify, MongoDB, HiGHS, WebAssembly

Website ansehen

Andrea Coppetta