Desk Booking
Reserve and manage desks and workspaces.
Desk Booking is Nexa People's workspace-allocation register: one place to record the desks your organisation actually has, and a log of who is using which desk and for what period. It is deliberately simple — a Desks list, a Bookings list and a settings page, reached from one left rail — because the hard part of desk management is rarely the software. It is having a single register that facilities and HR both trust, instead of a spreadsheet that lives on someone's laptop.
The Desks screen holds the inventory. Each desk is recorded with a desk code, its location or floor, the employee it is assigned to — picked from your employee directory, not typed as free text — and a status of available, occupied or maintenance. Add a desk through a short form, correct it through an edit dialog that always opens on the current values, and remove it only after an explicit confirmation.
The Bookings screen is the log. A booking records which employee has which desk code, the from and to dates of the reservation, and where it stands in its lifecycle: booked, checked in, released or cancelled. The list shows the newest bookings first, so the current picture is always at the top, and every status renders as a colour-coded badge you can scan without reading each row.
Facilities managers or HR administrators maintain the register. The module sits on the organisation side of the dashboard rather than the employee self-service surface, its route and sidebar entry are gated by the same permission rules, and every record is scoped to your organisation on the server — no request reaches a desk or booking without that organisation context being resolved first.
How Desk Booking works
Start with the desk register
Open Desks and add each workspace with the New desk form. The desk code is the one required field; alongside it you record the location or floor, optionally assign the desk to an employee chosen from the directory, and set its status to available, occupied or maintenance. The list shows exactly those four columns — Desk, Location, Assigned, Status — with the assignee's name resolved from the employee record and the status rendered as a badge.
Because assignment is a picker over your real employee directory rather than a text box, the register cannot drift into misspelt names or people who no longer exist as typed. A desk with no assignee simply shows a dash.
Log a booking for a period
When someone needs a desk, add a booking: pick the employee, enter the desk code, and set the from and to dates with proper date fields. Each booking carries a status — booked, checked_in, released or cancelled — so the log distinguishes a reservation from a desk actually in use, and a booking that ended normally from one that was called off.
New bookings appear at the top of the list the moment they are saved, and the form clears so the next one can be entered straight away. The table shows Desk, Employee, From, To and Status, which is the whole story of a booking on one line.
Keep the register honest
Every row on both screens has Edit and Delete actions. The edit dialog re-reads the record each time it opens, so you always amend the current values rather than a stale copy, and a failed save reports the error instead of silently losing the change. Deleting asks for confirmation first.
Statuses do the housekeeping: mark a desk as maintenance while it is out of service, move a booking to released when the person leaves, or to cancelled if the plan changed. Positive states such as booked show as green badges and in-between states such as occupied are visually distinct, so an out-of-date register is easy to spot at a glance.
Record your booking policy
The Settings page opens on General Setting, where a Booking accordion records how your organisation runs desks: the Booking Mode — Hot Desk, Assigned or Hybrid — the maximum booking length in days (1, 5, 10 or 30), and whether your policy is to auto-release a desk when there is no check-in.
These choices are saved to your organisation's settings with one click, a confirmation appears when the save lands, and the page reads the stored values back every time it opens — so the policy on screen is always the policy on record, shared by everyone who administers the module.
Name your locations and floors
The Locations tab keeps the list of locations and floors as simple named entries — add “3rd Floor”, “Karachi Office” or whatever matches your buildings, and remove entries you no longer use. The list is numbered, stored in your organisation's settings alongside the booking policy, and shows a clear empty state until you add the first entry.
Control who can see and change it
Desk Booking is a tenant-scoped module: organisation roles such as owners, administrators and HR can reach it, while employees on the self-service surface do not see it by default. The sidebar entry and the route guard share a single rule, so a link is never shown that the guard would then refuse.
Finer control comes from Role Templates, where Desk Booking appears as its own module with four forms — Desk Request, Desk Settings, Desk Settings Floor and Desk Settings Room — each carrying individual Add, View Record, Update, Delete and View toggles. Clear a role's every key in the module and that role loses the route entirely; grant a desk form to an individual employee and the module's route opens for them.
Features
A desk inventory with real assignments
Every desk is a record with a code, a location or floor, and a status of available, occupied or maintenance. Assignment is a picker over the employee directory, so the register always points at actual people and shows their proper names in the list.
Bookings for a period, not a free-for-all
Each booking ties an employee to a desk code with explicit from and to dates entered through date fields. The log lists Desk, Employee, From, To and Status on one line, newest first, so the current state of the office is always at the top.
A booking lifecycle with four states
Booked, checked in, released and cancelled are distinct statuses, so a reservation is never confused with a desk in use, and a normal hand-back is never confused with a cancellation. Desk records carry their own available, occupied and maintenance states.
Colour-coded status badges
Statuses render as badges rather than plain text — confirmed states in green, in-progress states visually distinct — so both lists can be scanned in seconds. Empty values show as a quiet dash instead of a blank cell.
Booking policy on record
Record whether you run hot desks, assigned seating or a hybrid, cap booking length at 1, 5, 10 or 30 days, and note whether desks are auto-released on a missed check-in. Settings persist per organisation and reload exactly as saved.
A location list you maintain yourself
Locations and floors are a simple named list your administrators add to and prune — no fixed vocabulary imposed by the product. The list lives in the organisation's settings next to the booking policy.
Safe editing and deliberate deletion
Edit dialogs open on the record's current values every time and surface save errors instead of swallowing them. Deletion always asks for confirmation first, and the desk code stays a required field so no record can be saved without one.
Form-level permission gating
Desk Booking has its own module in the Role Templates matrix with per-form Add, View Record, Update, Delete and View keys. Navigation and the route guard follow one shared rule, and every API call resolves the caller's organisation before touching a record.
Used by: Facilities managers or HR administrators maintain the desk list.
Works with the rest of Nexa People
Desk Booking reads the employee directory maintained in Employee Management: the assignee on a desk and the employee on a booking are both chosen through the shared employee picker, and both lists resolve those references back to first and last names from the same directory. On the server each record keeps a proper link to the employee row, so a booking always points at the genuine record rather than a typed copy of a name.
The module's configuration lives in the same organisation settings store used across Nexa People. Booking mode, maximum days, the auto-release policy and the locations list are saved through the shared settings endpoint as part of your organisation's configuration, so they persist per organisation, survive across sessions and are read by every administrator who opens the settings page.
Access is governed by the same permission system as every other module: Desk Booking appears in the Role Templates catalogue with four gateable forms, the sidebar and route guard consult one shared visibility rule, and the records themselves are kept in the tenant-scoped store that also backs neighbouring lightweight modules such as Expense and Letters — one consistent pattern to administer rather than a one-off.
Frequently asked questions
What is the difference between the Desks list and the Bookings list?
Desks is the inventory: each record is a physical workspace with a desk code, a location or floor, an optional assigned employee and a status of available, occupied or maintenance. Bookings is the usage log: each record ties an employee to a desk code for a period, with from and to dates and its own lifecycle status. Together they answer both questions — what desks exist, and who is using them when.
What statuses can a booking move through?
Four: booked when the reservation is made, checked_in once the person is at the desk, released when the desk is handed back, and cancelled if the booking is called off. Each status shows as a colour-coded badge in the list, so the state of every booking is visible without opening it.
What does the settings page control?
Two things. General Setting records your booking policy — Booking Mode (Hot Desk, Assigned or Hybrid), Max Booking Days (1, 5, 10 or 30) and whether desks auto-release on no check-in. The Locations tab keeps your list of locations and floors. Both are saved to your organisation's settings and read back whenever the page opens.
Who can use the module?
Organisation roles — owners, administrators, HR — see it in the dashboard; it is intended for the facilities managers or HR administrators who maintain the desk list. Fine-grained control comes from Role Templates, where the module's four forms each carry individual Add, View Record, Update, Delete and View permission keys.
Can employees on self-service see or book desks?
Not by default — the module lives on the organisation side of the dashboard, and the self-service surface does not include it. If you grant an individual employee one of the module's forms in Role Templates, the route opens for that person; otherwise bookings are recorded on employees' behalf by whoever runs the register.
How are employees linked to desks and bookings?
Through the employee directory, never free text. Both forms use the shared employee picker, the lists display the person's actual name resolved from their record, and the server stores a genuine reference to the employee row — so the register stays consistent with Employee Management rather than accumulating typed names.
Is our desk data separated from other organisations?
Yes. Every list, create, update and delete call on the desk records resolves the caller's organisation first and operates only within it; a user with no organisation context is refused outright. Records are stored per organisation with an index on the organisation and module, and bookings are returned newest first.
Related modules
See Desk Booking in your own setup
We'll walk you through the modules you care about and email you login credentials to try it yourself.