Design an object-oriented model (and high-level system design) for a booking system feature that stores auxiliary comments on a reservation.
Core requirements
-
A reservation/booking can have an
auxiliary comment
(e.g., “quiet room please”, “late check-in”).
-
Regular users
can add (or edit, if you choose) the auxiliary comment for their own reservation.
-
Admins
can update the auxiliary comment for any reservation.
Extension
-
Admins may need to
batch update
auxiliary comments across many reservations (e.g., applying a policy note to thousands of bookings). How would you design this?
Clarifications to decide (state assumptions)
-
Is there one comment field per reservation, or a list/history of comments?
-
Do we need auditability (who changed it and when)?
-
Expected scale (number of reservations, frequency of updates, batch size)?