Model booking auxiliary comments with admin updates
Company: Navan
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Onsite
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)?
Quick Answer: This question evaluates object-oriented data modeling, access-control and auditability considerations, and scalable batch-update strategies for reservation-related metadata like auxiliary comments.