Chifley Library, Level 4 — room booking with location

ANU’s existing room-booking page already answers “is a room free right now?” well: a plain room-rows × time-columns grid, available/booked states, click a slot. What it doesn’t answer is “where actually is that room?” This prototype keeps that grid essentially as-is and adds exactly the missing piece: select a room and slot, then View on map to see that room highlighted on the real Chifley Library Level 4 floor plan, before you book it.

What good looks like here

The deliberate constraint on this prototype is to add, not replace. The booking grid — five real rooms as rows, hourly slots as columns, booked slots disabled — is the same interaction shape as the system it’s modelling. The only new capability is the map: a modal, reached from a “View on map” button, that overlays a highlighted marker for the selected room on ANU’s own published floor plan. Closing it returns you to the same grid. Nothing about the booking flow itself (pick a slot, give your name, book) is a new paradigm.

What’s enforced by the checks in spec/: the booking form actually persists to SQLite and survives a reload; a second booking for the same room and slot is refused, not silently duplicated; the invariants (navigation, one heading, alt text, an accessibility floor) hold on both pages. What’s a judgement call for the crit, not a test: whether the map genuinely reads as an addition to a familiar page rather than a new product, and whether the floor plan is legible and calm rather than decorative.

Real vs. prototype data, in full in docs/floor-plan-source.md: the floor (Level 4), the five room numbers (4.02, 4.03, 4.05, 4.06, 4.07), and their approximate positions on the floor plan are read directly off ANU Library’s own published plan. Room capacity and AV equipment are not publicly available per room, so this prototype doesn’t show them at all rather than inventing plausible-looking numbers. The 09:00–18:00 scheduling window shown in the grid is a demo convenience, not a claim about the library’s real opening hours.

Deliberately out of scope, per the brief: authentication/accounts, other libraries or floors, recurring bookings, notifications, QR codes, and any kind of admin dashboard. Adding capacity/equipment filtering is possible later, but only with those fields clearly labelled as invented prototype data — see docs/floor-plan-source.md.

Images: public/chifley-level4-floorplan.png is ANU Library’s own floor plan, cropped to the Level 4 quadrant only — see docs/floor-plan-source.md for the exact source URL, crop region, and the coordinates used to place each marker.