Design the backend for a restaurant workforce scheduling system.
A company operates many restaurants. Each restaurant has employees and managers. Every week, a manager prepares the schedule for the following week and must publish the final version by Friday.
Design a system that supports:
-
modeling companies, restaurants, employees, and managers
-
creating and editing a weekly schedule for a restaurant
-
assigning employees to shifts
-
publishing the schedule so employees can view the official version
-
handling many restaurants and growing traffic over time
Focus especially on the data model, but also explain the high-level architecture, key APIs, scalability considerations, and how you would keep schedule data consistent.