Amenity & Booking Management
Overview
Bilt property managers needed a way to configure bookable amenities and attach offers and events to them. The straightforward version of this is a booking form. What we built is more considered: a layered management system designed from the start to generalize beyond amenities.


Three Nested Layers
A base amenity—details, access rules, weekly hours, blocked dates. A sub-event on top—specific dates, independent capacity and pricing, booking visibility controls. A booking offer also on top—Platinum members get waived fees, for example—with its own schedule and inventory model.
Each layer is self-contained. The design challenge was making that feel intuitive rather than architectural.


Availability Was the Hard Part
Scheduling had real edge cases. A manager selecting Monday and Friday with different hours needed the system to split those automatically—two schedule cards, independently configurable. Blocked dates added annual recurrence, all-day toggles, and edit controls on top of that. Progressive disclosure handled the complexity: show the common case, reveal the rest only when needed.




Reservation Settings and Booking Offers
Reservation settings branch early: open access, optional, or required. Fixed time slots and flexible time ranges handle the two main ways properties run bookable spaces, with buffer controls, capacity limits, and approval requirements underneath.
Booking offers were the most technically nuanced piece. The shared vs. reserved inventory split—draw from the amenity's pool or carve out a dedicated slice—required a clear explanation at the point of decision without turning the screen into a help article.


Reflection
Abstracting the data model early made the design harder in the short term and more durable in the long term. Every pattern here is reusable across product types. That was the point.
What I'd push further: a summary surface on the base amenity showing which offers and sub-events are currently active. Right now that requires drilling in. It's a small gap in an otherwise connected system.






