The comment tools are what lift this above a booking form: counts per seat surface the desks people keep remarking on, so "find me something free on Tuesday" can be answered with context a seating chart never carries. Everything else is the ordinary reservation lifecycle, reachable in a sentence.
A server for a desk-booking system. It fronts an existing reservation API and covers the whole flow: offices and their seat layouts, availability over a date range, reservations, and per-seat comments.
- Offices listed and opened individually, with floor and seat layout (get_offices, get_office, get_office_seats)
- Seats free over a date range, and a seat found by its number (get_available_seats, find_seat_by_number)
- Reservations listed with an optional date filter, opened individually, created, changed and cancelled (get_reservations, get_reservation, create_reservation, update_reservation, cancel_reservation)
- Comments on a seat read, added and removed, plus comment counts per seat, so a desk everyone remarks on is visible before you book it (get_seat_comments, add_comment, delete_comment, get_comment_counts, get_all_comments)
The seat-reservation API service running and reachable — this server talks to it rather than storing anything itself. Node.js, with a build step before first use. Dates are given as year, month and day.
