Best open-source desk booking software in 2026

Stanislav TyshchenkoComparison10 min readAug 25, 2026
Open-source desk booking software compared — self-hosted hot desking tools

Hot desking created a software category almost by accident. Once a company stops assigning one desk per person, somebody has to answer a question that used to answer itself: is there anywhere to sit on Tuesday?

Most of the tools that answer it are SaaS, priced per user per month, and they want your occupancy data — which is exactly the data a works council or a privacy officer will ask about. So a lot of teams start where you probably are: looking for something open source they can run themselves.

The good news is that this niche has real, maintained open-source projects. The less good news is that "desk booking" covers four quite different jobs, and most of the projects only do one or two of them well. This is an honest look at what's actually available in August 2026, what each one costs you in maintenance, and — because it would be dishonest not to say it — where Opencals does and doesn't fit.

If you want a finished desk booking product you can self-host, Seatsurfing is the strongest option and it is GPL-3.0. If you want a general resource scheduler where desks are just one resource type, LibreBooking or MRBS will do it with less polish and more configuration. If you're building desk booking into your own internal tool, none of these are the right answer — you want a booking API, and that's the one case where Opencals is relevant. Opencals is not open source; only our Next.js templates and npm SDK are.

First, decide which of the four jobs you actually have

Teams conflate these constantly, then get annoyed that the software doesn't fit.

1

Desk booking (hot desking / hoteling)

Employees reserve a specific seat for a day or half-day. Needs floor plans, a per-desk inventory, and usually a mobile-friendly interface people will actually open on the way to the office.

2

Meeting room booking

Time-slot reservations against a shared calendar, usually with Google Workspace or Microsoft 365 sync and often a tablet outside the door. Time granularity matters much more than floor plans.

3

General resource scheduling

Desks, rooms, vehicles, lab equipment, AV kit — anything countable and reservable. Approval workflows and reporting matter more than any particular UI.

4

Booking as a feature of something you're building

You already have an intranet, an internal portal or a customer-facing app, and reservations need to live inside it. Here the interface is yours; you need availability logic and a data model.

If you're in job 1 or 2, keep reading the tool list. If you're in job 4, skip to the section on building it yourself — installing someone's finished product and then fighting its UI is the most common way this project goes badly.

Seatsurfing — the closest thing to a finished open-source desk booking product

Seatsurfing is purpose-built for desk sharing, free seating and room reservation in organisations. It's the one project on this list that a non-technical employee could be handed without an explanation.

The backend is Go, the two frontends (an admin UI and a self-service booking PWA) are TypeScript and React, and it ships as a Docker image with a Postgres database. The published docker-compose.yaml is about twenty lines, and there are Kubernetes docs if you'd rather run it that way.

Licence: GPL-3.0. Activity as of August 2026: ~300 GitHub stars, 92 forks, 270 releases, most recent v1.115.0 in July 2026. That release cadence is the number that matters — plenty of self-hosted projects in this space have a good README and a last commit from 2021.

What you should know before committing:

  • The maintainers also run a hosted SaaS version, free up to 10 users, with servers in Germany and a Microsoft Teams integration. That's a healthy funding model, not a bait-and-switch — the self-hosted code is the same GPL-3.0 backend — but it does mean the roadmap is shaped by the hosted product.
  • The booking UI is a PWA, so it installs on phones without an app store. In practice this is the feature that determines whether hot desking gets adopted or quietly abandoned.
  • GPL-3.0 means if you modify it and distribute it, you publish your changes. For internal use that's irrelevant. If you're an agency planning to ship a modified version to a client, read the licence properly first.

Pick it if: you want desk booking, you want it self-hosted, and you want to spend your time on floor plans rather than on code.

LibreBooking — a general resource scheduler that treats desks as resources

LibreBooking is the community fork of Booked Scheduler, picked up from Booked's last open-source release in 2020 and developed since. It's GPL-3.0, PHP, and deliberately generic: you define resources, and desks are one kind of resource alongside rooms, vehicles and equipment.

That generality is the trade-off in both directions. You get approval workflows, quotas, blackout periods, custom attributes and reporting out of the box — the kind of administrative machinery that a purpose-built desk app usually doesn't have. What you don't get is a floor plan someone can point at.

It's worth knowing the history because the naming is genuinely confusing in search results. Booked Scheduler went closed-source after 2020; the commercial product still exists. LibreBooking is the open continuation. Several forks of the fork are also indexed on GitHub, so check you're looking at the active repository before you clone something abandoned.

Pick it if: desks are one of several things your organisation reserves, and approval rules matter more than a pretty seat map.

MRBS — the veteran, and you should know its limits

MRBS (Meeting Room Booking System) has been around since the early 2000s. PHP, MySQL or PostgreSQL, GPL, over 100,000 downloads, and still shipping — the most recent release landed in June 2026. If you want something that will install on any LAMP box in twenty minutes and keep working for a decade, this is it.

Be honest about what it isn't. MRBS is a room booking system. It has no native desk booking concept, no floor plans, no Google Workspace or Microsoft 365 calendar sync, and the interface is functional rather than mobile-friendly. People do press it into service for desks by modelling each desk as a room, and it works, but you'll be explaining that decision to colleagues for as long as the system runs.

Pick it if: your actual problem is meeting rooms, your constraint is that it must run on existing infrastructure with no containers, and nobody needs it on a phone.

Roomer — newer, floor-plan-first, smaller community

Roomer is a more recent self-hosted entrant aimed squarely at the thing MRBS lacks: you upload floor plans, place bookable assets on a canvas, and people book by pointing at the map. It covers desks and other assets across multiple offices, buildings and floors, ships pre-built Docker images, and has directory sync from Okta, Entra ID and OneLogin plus signed outbound webhooks.

The feature list reads like a commercial product, which is the appeal. The caution is the same one that applies to any young project: a small contributor base means you are closer to being the maintainer than you might like. Check the commit history and open issues yourself before you standardise on it.

Pick it if: the floor plan is non-negotiable and you're comfortable being an early adopter.

Side by side

SeatsurfingLibreBookingMRBSRoomer
Primary jobDesk + room bookingGeneral resource schedulingMeeting roomsDesk + asset booking
LicenceGPL-3.0GPL-3.0GPL (v2 / PHP dual)Open source, self-hosted
StackGo + React, Docker/K8sPHP + MySQLPHP + MySQL/PostgresDocker images
Floor plansYesNoNoYes — core feature
Mobile experienceInstallable PWAMobile-friendly webBasicWeb
Directory / SSO syncYesVia pluginsMultiple auth backendsOkta, Entra ID, OneLogin
Maturity signal270 releases, active 2026Active fork since 202020+ years, released 2026Newer, small community

The maintenance bill nobody quotes you

Every one of these is free to download. None of them is free to run. The honest cost of self-hosting a desk booking system, from teams who've done it:

  • A server and a database, backed up. Desk bookings are low-volume, so the hosting is genuinely cheap. Restoring the database at 8:40am on a Monday is the part that isn't.
  • Upgrades, forever. Seatsurfing shipped 270 releases. You don't have to take all of them, but you can't take none of them — security patches in Go, PHP and Postgres don't wait for your quarter.
  • Authentication integration. This is where these projects consume the most time. Getting SAML or OIDC working against your identity provider is a day if you're lucky.
  • An owner. The single biggest predictor of whether a self-hosted internal tool survives two years is whether one named person is responsible for it. "IT" is not a person.

Data residency is usually the real reason

Most teams that end up self-hosting didn't want to become sysadmins — they had a privacy or works-council requirement that ruled out sending occupancy data to a US SaaS. If that's your driver, say so explicitly in the evaluation. It changes which trade-offs are acceptable, and it makes the maintenance cost easier to justify to whoever is signing off.

When self-hosting is the wrong answer

There's a case that comes up often enough to name it: you already have an internal portal, an intranet, or a product you're building, and desk booking needs to live inside it. Employees shouldn't be sent to a second system with a second login.

Installing Seatsurfing and iframing it is the tempting move, and it's usually a mistake. You inherit its UI, its auth model and its upgrade cycle, and you spend the next year fighting all three to make it look like it belongs.

What you actually need in that case is availability logic behind an API: something that knows what resources exist, what the rules are, whether a given slot is free, and how to hold it while a person makes up their mind — with the interface entirely yours.

That's the shape of Opencals. It's a hosted booking API with an availability engine, resources, locations and staff as first-class concepts, plus an npm SDK and MIT-licensed Next.js templates if you want a head start on the frontend.

Two things I should say plainly, because this article would be worth less without them:

Opencals is not open source. The templates and the SDK are MIT. The platform itself is a hosted service, and it is not something you can run on your own hardware. If self-hosting is a hard requirement, stop here and go install Seatsurfing — that's the honest recommendation, and we've written a longer piece on where that line falls.

Opencals is not a desk booking product. There's no floor-plan editor and no hot-desking module. It's the booking backend you build one on, with pricing at $0.99 per booking rather than per seat per month — which for internal tooling usually works out cheaper than a per-user SaaS, because desk reservations are low-volume by nature.

How to actually choose, in about an hour

1

Write down the four jobs and cross out three

Desks, rooms, general resources, or a component of something you're building. Almost every bad outcome in this category traces back to skipping this step.

2

Check the last release date, not the star count

Stars measure a good README. A release in the last quarter measures a maintainer. Seatsurfing and MRBS both pass; check the others yourself on the day you evaluate.

3

Run the auth integration first

Not the demo, not the floor plan — the SSO connection. It's the step most likely to kill the project, so fail fast on it.

4

Name an owner before you install anything

One person, written down. If nobody will accept that, you want a hosted product, and that's a legitimate conclusion.

Frequently Asked Questions

The short version

For most organisations asking this question, Seatsurfing is the answer: it's the only project here that's purpose-built for desk booking, actively released, and pleasant enough that employees will use it. LibreBooking if desks are one of many resources you schedule. MRBS if the real problem is meeting rooms and the constraint is legacy infrastructure. Roomer if the floor plan is the whole point and you don't mind being early.

And if what you're really building is booking inside something else — that's not a self-hosting question at all. That's an API question, and it's worth reading the developer docs before you install anything.

Early Access — 3 Months Free

Ready to transform your service business?

Join 150+ businesses already using Opencals. Get 3 months completely free with all features unlocked.

No credit card required
Setup in 10 minutes
Cancel anytime