Arbeitsplatz-Buchungssystem Open Source: erst der Betriebsrat, dann der Server

Stanislav TyshchenkoComparison9 min read
Sicherungskasten mit acht Schaltern: Seatsurfing als Hauptschalter an, darunter Namen der Buchenden, Buddies, Berichte pro Person, Nutzungsstatistik und Update-Check aus, Auslastung und Löschfrist an; Überschrift „Erst der Betriebsrat, dann der Server.“

Für ein quelloffenes Arbeitsplatz-Buchungssystem ist Seatsurfing 2026 die Antwort: GPL-3.0, deutsche Oberfläche, Docker mit Postgres, allein im Oktober 2026 17 Releases. LibreBooking (GPL-3.0, PHP) passt, wenn Schreibtische nur eine von vielen Ressourcen sind, aber nur ab Version 7.1.0. Die eigentliche Hürde in deutschen Firmen ist selten der Server, sondern der Betriebsrat. Darum zeige ich hier, welche Einstellung welche seiner Fragen beantwortet. Opencals ist kein Open Source und kein Desk-Sharing-Produkt; es passt nur, wenn du die Buchung in dein eigenes Intranet baust oder als Coworking Tagesplätze verkaufst.

Die Suche beginnt meistens gleich: Die Firma führt Desk Sharing ein, die Fläche wird kleiner, und jemand aus der IT soll bis zum Quartalsende ein Tool finden. SaaS-Anbieter gibt es genug, alle mit Preisen pro Person und Monat. Und dann fällt in der ersten Abstimmung der Satz, der die Suche nach „Open Source" auslöst: Die Belegungsdaten sollen bei uns bleiben.

Diesen Teil kann ein selbst betriebenes System erfüllen. Was es nicht von allein erfüllt, ist die zweite Hälfte desselben Gesprächs, und die kommt in deutschen Unternehmen fast immer vom Betriebsrat.

Warum ein Buchungstool für Schreibtische mitbestimmungspflichtig ist

Ein Arbeitsplatz-Buchungssystem weiß, wer an welchem Tag im Büro war. Genau das macht es zu einer technischen Einrichtung im Sinne von § 87 Abs. 1 Nr. 6 BetrVG: Der Betriebsrat bestimmt mit bei Systemen, die geeignet sind, Verhalten oder Leistung der Beschäftigten zu überwachen. Nach der Rechtsprechung des Bundesarbeitsgerichts reicht die objektive Eignung. Ob ihr die Daten tatsächlich auswerten wollt, spielt keine Rolle.

In der Praxis heißt das: Ohne Betriebsvereinbarung geht das System nicht live, und die Vereinbarung fragt nach Dingen, die in keiner Feature-Liste stehen. Wer sieht, wer neben wem sitzt? Gibt es Auswertungen pro Person? Wann werden alte Buchungen gelöscht? Schickt die Software Daten an den Hersteller?

Ein Open-Source-Projekt hat hier einen echten Vorteil, den ich selten erwähnt sehe: Du kannst die Antwort nachlesen, statt einem Vertriebler zu glauben. Die folgenden Angaben stammen aus der Dokumentation, der Konfigurationsdatei und dem Changelog der Projekte, gelesen am 3. November 2026.

Kein Rechtsrat

Ich bin Entwickler, kein Arbeitsrechtler. Das hier ist die technische Seite. Ob eure Betriebsvereinbarung reicht, bewerten Betriebsrat, Datenschutzbeauftragte und im Zweifel eine Kanzlei.

Seatsurfing hat für jede Frage des Betriebsrats einen Schalter

Seatsurfing ist für genau diesen Zweck gebaut: Arbeitsplätze, Räume und Sitze in Organisationen buchen. Der Server ist in Go geschrieben, die Buchungsoberfläche ist eine Progressive Web App, die sich ohne App-Store aufs Handy legen lässt, dazu kommt eine Admin-Oberfläche. Lizenz GPL-3.0. Die Oberfläche gibt es auf Deutsch, durchgehend in der Du-Form. Die aktuelle Version war am 3. November 1.140.0 vom 31. Oktober 2026; der Changelog listet allein für Oktober 17 Releases.

Was mich beim Lesen der Admin-Dokumentation überrascht hat: Für fast jede Frage aus einer Betriebsvereinbarung gibt es eine eigene Einstellung.

Frage aus der BetriebsvereinbarungEinstellung in SeatsurfingWas sie tut
Sehen Kolleginnen, wer wo sitzt?Show bookers' namesZeigt oder verbirgt die Namen anderer Buchender, auch auf Kiosk-Seiten
Werden Teams auf dem Plan hervorgehoben?Disable buddiesSchaltet die Buddy-Funktion ab (nur relevant, wenn Namen sichtbar sind)
Gibt es Anwesenheitsberichte pro Person?Disable user-related reportsBlendet den Bereich „Analysis" mit Buchungen und Anwesenheitstagen pro Person aus
Werden Auslastungszahlen angezeigt?Disable utilization statisticsBlendet die Auslastungsstatistik im Dashboard aus
Wann werden Buchungen gelöscht?Delete booking data older thanLöscht vergangene Buchungen nach der eingestellten Zahl von Tagen automatisch
Wie weit im Voraus darf man buchen?Max. days in advance, Max. bookings per userBegrenzt Vorlauf und Anzahl offener Buchungen
Gehen Daten an den Hersteller?DISABLE_ANONYMOUS_USAGE_STATS, DISABLE_VERSION_CHECKBeide stehen standardmäßig auf 0, anonyme Nutzungsstatistik und Update-Prüfung sind also an

Die letzte Zeile ist die, die ich in eine Vereinbarung ausdrücklich aufnehmen würde. Die Konfigurationsdoku sagt, dass die Statistik anonym ist, aber nicht, was genau sie sendet. Wer es wissen will, liest den Code oder setzt beide Variablen auf 1. Und wer „Delete booking data older than" nicht aktiv einschaltet, hat keine Löschfrist: Einen Standardwert nennt die Dokumentation nicht.

Zwei Dinge noch, bevor du die Docker-Compose-Datei aus dem README kopierst. Erstens bringt die Installation ein Standard-Admin-Konto mit bekanntem Passwort mit; setz INIT_ORG_USER und INIT_ORG_PASS, bevor der Container zum ersten Mal startet. Zweitens heißt GPL-3.0: Wer eine veränderte Fassung weitergibt, muss den Code dazu veröffentlichen. Für den internen Betrieb ist das egal, für eine Agentur, die eine angepasste Version an Kunden liefert, nicht.

Mein Urteil: Wenn es um Schreibtische und ein paar Besprechungsräume geht und ihr den Betrieb selbst stemmen könnt, nehmt Seatsurfing. Kein anderes Projekt in dieser Liste ist so klar auf Desk Sharing zugeschnitten und so aktiv.

Teams und Outlook: was die Anbindung selbst gehostet kostet

Viele Suchen nach einem Arbeitsplatz-Buchungssystem enden mit „Teams" oder „Microsoft", weil niemand eine weitere App öffnen will. Hier trennt sich bei Seatsurfing die Cloud von der selbst gehosteten Fassung.

In der gehosteten Version sind Microsoft Teams und Confluence auch im kostenlosen Tarif dabei. Selbst gehostet laufen die Teams-Anmeldung, die einseitige Synchronisierung von Buchungen in Exchange-Raumkalender und die SCIM-Provisionierung aus Entra ID, Okta oder Keycloak über das Plus Plugin. Bis 10 Nutzer funktioniert es ohne Lizenz. Darüber kaufst du eine Jahreslizenz für 25, 50, 100, 250, 500 oder 1.000 Nutzer; die Preise stehen nur auf der Kaufseite. Wer mehr als 105 % der lizenzierten Plätze nutzt, verliert die Plus-Funktionen, bis die Lizenz passt.

Das ist ein faires Modell, aber es ändert die Rechnung: „Open Source und kostenlos" gilt für die Buchung selbst, nicht für die Anbindung an eure Microsoft-Umgebung ab dem elften Kollegen.

Kostenlos heißt: bis 10 Leute in der Cloud, darüber Eigenbetrieb

Wer „Arbeitsplatz-Buchungssystem kostenlos" sucht, hat bei Seatsurfing zwei Wege. Die gehostete Version kostet bis 10 Nutzer nichts, die Server stehen in Deutschland. Der Professional-Tarif kostet 0,90 € pro Nutzer und Monat und bringt Genehmigungen, wiederkehrende Buchungen, eigene Domains und Support rund um die Uhr (Stand 3. November 2026).

Die wiederkehrenden Buchungen sind dabei die Grenze, die im Alltag zählt. Wer jeden Montag und Donnerstag am selben Platz sitzt, muss im Gratis-Tarif jede Woche neu buchen, und nach einem Monat tut es niemand mehr.

Der zweite Weg ist der Eigenbetrieb ohne Nutzergrenze. Dann kostet die Lizenz nichts, und die Rechnung besteht aus Server, Backups, Updates und einer Person, die bei 17 Releases im Monat entscheidet, welche davon eingespielt werden.

LibreBooking, wenn der Schreibtisch nur eine Ressource unter vielen ist

LibreBooking ist der Community-Fork des alten Booked Scheduler, GPL-3.0, PHP und MySQL. Schreibtische sind dort eine Ressource neben Räumen, Fahrzeugen und Geräten, mit Genehmigungen, Kontingenten und Sperrzeiten. Einen Raumplan zum Anklicken gibt es nicht. Eine deutsche Sprachdatei liegt im Repository.

Vor allem anderen: Nur Version 7.1.0 vom 13. Oktober 2026 oder neuer einsetzen. Das README warnt vor zwei kritischen Lücken in älteren Versionen, über die sich Angreifer ohne Anmeldung als beliebige Nutzer oder Admins einloggen konnten, und Sicherheitskorrekturen werden nicht zurückportiert. Die Details stehen in unserem Artikel zu Booked und LibreBooking.

Für den Betriebsrat interessant sind drei Blöcke in config/config.dist.php:

EinstellungStandardBedeutung
privacy → view.schedulestrueNicht angemeldete Besucher dürfen Belegungspläne sehen (ohne Details)
privacy → hide.user.detailsfalseAuf true sehen andere statt des Namens nur „Private"
cleanup → delete.old.reservationsfalseAlte Buchungen werden nicht gelöscht; mit true nach years.old.data (Standard 3 Jahre), nur wenn deleteolddata.php als Cron-Job läuft

Die Voreinstellungen sind also offener als bei Seatsurfing: Belegung öffentlich sichtbar, Namen sichtbar, keine Löschung. Das lässt sich alles umstellen, aber es muss jemand tun, und die Löschung hängt an einem Cron-Job, den man einrichten und überwachen muss.

Nimm LibreBooking, wenn ihr Schreibtische zusammen mit Räumen, Dienstwagen oder Laborgeräten verwaltet und Genehmigungsregeln wichtiger sind als ein Raumplan.

Wo Opencals passt, und wo ausdrücklich nicht

Damit nichts durcheinandergerät: Opencals ist kein Open-Source-Projekt und kein Desk-Sharing-Tool. Es gibt keinen Raumplan-Editor, keine Anwesenheitsberichte und keine der Betriebsrats-Schalter aus der Tabelle oben. Quelloffen unter MIT sind nur unsere Next.js-Vorlagen und das Storefront-SDK. Wenn eure Anforderung lautet, dass die Software auf euren Servern läuft, ist Seatsurfing die ehrliche Empfehlung.

Es gibt zwei Fälle, in denen wir trotzdem in Frage kommen. Der erste: Ihr habt bereits ein Intranet oder ein internes Portal, und die Buchung soll dort leben statt in einem zweiten System mit eigenem Login. Dann braucht ihr Verfügbarkeitslogik hinter einer API, die Oberfläche baut ihr selbst. Das ist der Teil, den Opencals für Entwickler liefert.

Der zweite Fall ist ein anderes Geschäft: Ihr betreibt ein Coworking und verkauft Tagesplätze, Meetingräume und Telefonkabinen an Externe. Dann geht es um Bezahlung beim Buchen, nicht um Anwesenheitsdaten von Angestellten. Dafür haben wir Gable gebaut, eine freie Coworking-Vorlage unter MIT, in der Schreibtisch, Raum und Kabine in einem Warenkorb landen. Opencals kostet 0,99 $ pro Buchung ohne Grundgebühr oder 14,98 $ im Monat inklusive 300 Buchungen (Preise, Stand 3. November 2026). Der kostenlose Entwicklungs-Store läuft im Testmodus und nimmt kein echtes Geld an.

Was ich nicht geprüft habe

Ich habe Seatsurfing und LibreBooking für diesen Artikel nicht selbst installiert. Alles hier stammt aus Dokumentation, Konfigurationsdateien, README und Changelog vom 3. November 2026. Bei 17 Releases im Monat kann sich ein Einstellungsname schneller ändern als dieser Text.

Ich kann dir auch nicht sagen, was Seatsurfings anonyme Nutzungsstatistik genau überträgt; die Doku sagt es nicht, und ich habe den Code dazu nicht gelesen. Wenn es für eure Vereinbarung zählt, schaltet sie ab, statt euch auf „anonym" zu verlassen.

Wenn ich für eine deutsche Firma mit Betriebsrat entscheiden müsste: Seatsurfing installieren, vor dem ersten Login Namen und Berichte pro Person abschalten, eine Löschfrist eintragen, die Telemetrie abschalten, und genau diese Schalter als Anhang in die Betriebsvereinbarung schreiben. Dann ist die Verhandlung kürzer als die Installation.

Frequently Asked Questions

Get started

Ready to transform your service business?

Join 150+ businesses already using Opencals. Start on a free development store with every feature unlocked, and only pay once you go live.

No credit card required
Setup in 10 minutes
Cancel anytime