Desk and parking reservations
Smart Office
I worked on a hackathon prototype for booking desks and parking spaces, checking in on arrival, and automatically releasing unused reservations.
- Role
- Software engineer
- Scope
- Hackathon prototype
- Year
- 2026
What I worked on
I worked on Smart Office during a hackathon. The goal was to make office reservations useful beyond the initial booking: confirm arrival, protect the spaces being used, and release the ones left unused.
Booking flow
Employees choose a working date, a morning, afternoon or full day, and a desk, parking space or both. They can select a specific space on an illustrative floor map or use automatic assignment. The My bookings screen keeps desk and parking controls separate, including check in and cancellation.
Handling conflicts
A combined desk and parking request runs in one PostgreSQL transaction, so both reservations succeed or neither does. Partial unique indexes prevent overlapping active reservations for a resource and stop an employee from holding multiple desks or parking spaces in the same period. A full day claims both halves of the day.
Check in verifies ownership and locks the relevant booking claims before updating them. Repeating an accepted check in makes no further change.
Releasing unused spaces
A separate TypeScript worker checks for expired reservations every 15 seconds. It releases claims still waiting for check in and records the change in an audit log. Reservations that have already been checked in stay protected.
Scope
This is a hackathon prototype using synthetic employees and simulated sign in. The floor map shows booking availability. Corporate SSO, conversational booking, and sensor or LED integrations are outside the implemented scope.