Housekeeping scheduling, automated end to end
- Problem
- Every morning, two people divided the day's rooms (100+ on a busy day, across three buildings that don't all connect) among 15–30 housekeepers by hand, then typed each assignment into HotSOS, the hotel's housekeeping system, one room at a time. It was slow, one wrong entry meant a missed or double-booked room, and workloads were hard to keep fair.
- Engine
- A Python engine packs each day's rooms into balanced workloads under the department's hard rules: a time cap per person, one apartment to one housekeeper, never two buildings that don't connect. Rooms are ordered by walking route from the real floor plans, and a Google OR-Tools (CP-SAT) solver checks each building for the fewest people and the tightest fit.
- App
- A Streamlit and Supabase app with roles for managers, inspectors, housekeepers and housepersons. Each person sees their own rooms on their phone, in English or Spanish, with a done-by time for each room paced to finish by 3:30 PM and early arrivals first. Managers reassign rooms by drag and drop and follow the floor live.
- Automated
- Power Automate saves the front desk's Arrival Report from email. At 5 AM an agent on the office PC pulls the day's room report and the staff schedule from SharePoint, builds the schedule, writes the day's sheet back to SharePoint and sends every assignment to HotSOS. At 7:30 the notes go to the team's Teams chats. A second PC takes over if the office PC is down.
- Forecast
- Every two hours the agent reads bookings for today and the next 21 days and turns them into how many housekeepers and inspectors each day needs, split by Full Clean and Daily Service, so a week can be staffed before it arrives.
- Reports
- A performance report counts rooms cleaned and inspected per person. A timing view shows when each room was started, finished and inspected, and flags late starts and rooms left open.
- Outcome
- The schedule is ready before anyone arrives, with no manual steps from email to HotSOS. At least 2 staff hours a day come back (about $50 a day), and it runs on free tiers plus tools the department already had. In the last 30 days, 41 colleagues used it: 28 housekeepers, 10 inspectors and 3 managers.
- Ready at 5 AM. The schedule builds itself before anyone arrives, and nobody types it into HotSOS.
- Fair workloads. The same rules for every person, every day.
- Less walking. Over the stored days, Daily Service lists kept inside one building went from 112 to 153, and inspector rounds crossing buildings fell from 245 to 192.
- Finishes on time. 95% of room lists are paced to finish by 3:30 PM.
- Staffed ahead. A three-week staffing forecast from live bookings.
- Measured at last. Start, finish and inspection times for every room, per person.
- Easy to use. Rooms on each person's phone, in English or Spanish.
How it grew, one manual task at a time: 300+ updates and about 30,000 lines of code in the current version.