Design and implement a low-level design (LLD) for a Meeting Room Reservation System that allows employees to search for available rooms and book them for specified time slots. The system must support real-time concurrency so that two users cannot double-book the same room for overlapping times. Core requirements: (1) Rooms have an id, name, capacity, and a set of amenities (projector, whiteboard, video-conferencing, etc.). (2) Users can query available rooms for a given time range and optional filters (capacity, amenities). (3) Users can create, cancel, and view their bookings. (4) The booking transaction must be atomic and isolated: if two concurrent requests try to reserve the same room for overlapping slots, only one may succeed. (5) Support recurring meetings using an RRULE string (e.g., “FREQ=WEEKLY;INTERVAL=1;UNTIL=20251231T235959Z”). The system must expand the recurrence into individual occurrences on read and allow cancellation of any single occurrence. (6) Provide RESTful endpoints: GET /rooms/available?start=2025-07-01T09:00:00Z&end=2025-07-01T10:00:00Z&capacity=10&amenity=projector, POST /bookings (body: roomId, userId, start, end, recurrenceRule), DELETE /bookings/{id}, GET /rooms/{id}/bookings, GET /users/{id}/bookings. (7) Handle partial unavailability for recurring meetings: if one occurrence conflicts with an existing booking, the entire request must fail with a clear error listing the conflicting slot(s). (8) Assume a corporate deployment of 10k rooms and 100k daily bookings; design for read-heavy traffic with <100 ms p99 search latency. You must produce (a) a class diagram, (b) sequence diagrams for booking creation and conflict detection, (c) SQL/ORM schema, and (d) pseudocode or Java/Python snippets for the overlap check, concurrency control (pessimistic or optimistic), and recurrence expansion.