Labor scheduling and a morning report built from your own numbers
Occupancy in, a staffed week out. Lance forecasts the week from data you already have, builds the schedule with a constraint solver around your staff's rules, and emails every supervisor a briefing at 8:30 that already knows what happened overnight.

- Housekeeping10
- Houseperson1
- Inspection3
- Maintenance1
217 rooms to clean, priced by your minutes per room
Trusted by





- + others
Plan the week from the forecast. Start every morning knowing what happened.
0:30 AM
Briefing time, local, set per hotel
0 days
Scheduled in one solver pass
0 min
Between checks for emailed PMS reports
Forecast the week from data you already have.
No PMS integration to wait for. Occupancy reaches Lance from ProfitSage where your group uses it, from the PMS reports your property already emails, or typed into a week grid. Each day is broken into arrivals, stayovers, checkouts and service types: the numbers housekeeping actually staffs against.
Hotels on ProfitSage get a daily pull and a forward forecast for every date. Forwarded PMS reports are read within minutes of arriving: Marriott FOSSE, Hilton OnQ, Hyatt Opera and Power of M. A feed that goes quiet for 48 hours is flagged in the dashboard.
A single occupied-rooms number is decomposed into checkouts, stayovers, arrivals, refreshes and full services. A nightly calibration compares the estimate with what your board actually assigned and corrects it, once there is a week of evidence.
Every cell of the forecast knows its source. A figure from a PMS report outranks the estimate, a manager's edit outranks everything, and the forecast grid shows which is which.
A week built by a solver, not a spreadsheet.
Pick the week and the staff. Lance turns the forecast into headcount per role per day, then a constraint solver places every shift around availability, leave, preferred days off, rest between shifts and weekly hours. You review, adjust and apply.
Rooms to clean times your minutes per room, divided by the shift, gives housekeepers per day. Housepersons, inspectors and maintenance are sized the same way, and the numbers are shown before anything is scheduled.
Leave, restricted availability, hard days off and preferred shifts, weekly hour caps and consecutive-day limits are hard constraints. Rest between shifts, fairness, overtime, week-to-week consistency and budget are weighed against each other.
The week comes back as a grid you can edit. Regenerate one day with the rest locked, then apply. If a week cannot be fully staffed, the solver says which roles fall short instead of quietly dropping a rule.
- Maria L.8:30a-5p8:30a-5pOFF8:30a-5p8:30a-5p9a-5:30pOFF
- Daniela R.8:30a-5pOFFOFF8:30a-5p8:30a-5pOFF9a-5:30p
- Sofia T.OFFOFF8:30a-5p8:30a-5p8:30a-5p9a-5:30p9a-5:30p
- Hannah P.8a-4:30p8a-4:30p8a-4:30pOFFOFF9a-5:30p8a-4:30p
- Rosa M.LOALOALOALOALOAOFFOFF
Labor standards learned from your own rooms.
Minutes per room by room type and service, a budget per position and an hourly rate per department. That is the model behind every demand number and the budget meter on the schedule, and Lance keeps tuning it from what actually happens.
Full service and refresh, per room type. Start from workbook defaults, then the standards adjust from schedule feedback within a 15 percent band, so one odd week cannot swing them.
Position standards in FTEs, fixed hours per day or minutes per occupied room, priced by a department rate or by each person's wage. The schedule shows scheduled hours and cost against that budget as you build it.
Per-attendant efficiency is scored from 180 days of completed rooms. When the pool is fast, the solver needs fewer people to cover the same demand.
- QueenFull servicep75 3227 min
- QueenRefreshp75 2117 min
- KingFull servicep75 3429 min
- KingRefreshp75 2521 min
- SuiteFull servicep75 4741 min
Workbook defaults to start. Adjustments learned from schedule feedback stay within 15 percent.
Start the day knowing what happened.
At 8:30 local time, or the time you choose, every supervisor on the list gets one email: the priorities ranked, yesterday's calls and work orders, a health mark per department, and what is coming in the next seven days. Built from the property's own data at send time, not from someone's notes.
Complaints open more than a day, work orders open a week, group arrivals within three days, preventive maintenance due today, pinned notes and an unusual number of missed calls surface first. A quiet morning says so.
Calls taken, resolved by Lance, transferred by department and missed, plus the topics guests asked about most, straight from the call log.
A health mark per department from work-order aging, then the detail: past-due housekeeping and maintenance items, preventive maintenance progress and readings, complaints, the sales pipeline, logbook notes and the next seven days of arrivals and events.
Good morning, Ana. Here is where the property stands.
Lance summary
Quiet overnight. Two maintenance work orders are past due, and the Whitfield group arrives Thursday with 24 rooms.
Top priorities today
- 1Complaint Rm 412, open 26h
- 2Whitfield group, 24 rooms arriving Thu
- 34 PMs due today: boiler, PTAC 3rd floor
Yesterday at a glance
48
calls
31
resolved by Lance
14
to front desk
3
missed
What guests asked about
Transfers: Front desk 9 · Housekeeping 3 · Maintenance 2
Every call logged, every call analyzed.
The voice agent's side of the operation, in numbers. Call history with transcript, recording and outcome, a short AI analysis per call, and a dashboard that shows volume, outcomes and satisfaction over the last day, week or month.
Every call has a transcript, the actions taken (work order, transfer, wake-up call), the outcome and, where recording is on, the recording. Filter by status, outcome or satisfaction.
Minutes after a call ends, Lance writes a short summary, a sentiment read, an estimated satisfaction score and the call type, with risk flags for urgent or repeat issues.
Total calls, handled-by-Lance rate, transfers, FAQ answers and work orders, satisfaction distribution and the most recent actions, switchable between 24 hours, 7 days, this week, 30 days and all time.
- #412Late checkout to 1 pmHandled · CSAT 509:41
- #905AC not coolingWork order · Maintenance09:12
- #118Reservation changeTransferred · Front desk08:56
Built for the problems a general manager actually has.
Not a reporting layer. Lance is built around the week that gets planned too late, the staffing that ignores tomorrow, the morning that starts blind, and the labor cost nobody sees until the P&L.
Schedules built in a spreadsheet the night before
The week gets typed in late, from memory and last week's sheet. Lance builds it from the forecast and your rules in one pass, and the manager spends the evening reviewing instead of typing.
Staffing that ignores tomorrow's arrivals
A checkout-heavy Sunday gets staffed like a quiet Wednesday. Demand is computed per day from checkouts, stayovers and service types, so Sunday gets Sunday's crew.
Managers starting the day without knowing what happened
Overnight lives in three systems and a voicemail box. The briefing puts calls, complaints, open work and today's priorities in one email before the shift begins.
Labor cost discovered at month end
Hours against budget should not be a surprise in the P&L. The schedule shows scheduled hours and cost against your standards while you build it, with overtime called out.
How it works
From occupancy to a staffed week, and a briefing every morning.
- 01
Occupancy arrives
From ProfitSage, from the PMS reports your property already emails, or typed into the week grid. Each day becomes checkouts, stayovers, arrivals and service types.
- 02
Demand is computed
Rooms to clean times your minutes per room, by role, for each day of the week. Review the numbers before anything is scheduled.
- 03
The solver builds the week
Staff, availability, leave and preferences go in. A schedule that meets every hard rule comes back to review, regenerate by day and apply.
- 04
The briefing lands at 8:30
Every morning, local time, supervisors get the priorities, yesterday's calls and work orders, department health and the week ahead.
Under the hood
Built on a real solver and real sources, not a spreadsheet macro.
Every piece is tuned for how hotels actually get their numbers: a PMS that exports reports but no API, a forecast that is only ever an estimate, and a manager who needs the schedule to respect people before it respects the budget.
Solver
OR-Tools CP-SAT
Google's constraint solver. Leave, availability, hard preferences, hour caps and consecutive-day limits are never relaxed. Only demand coverage is loosened, step by step, when a week cannot be staffed, and the result says so. Every run is logged with its inputs and outputs.
Forecasts
Decomposed, self-calibrating
Occupancy is split into checkouts, stayovers, arrivals, refreshes and full services per day. A nightly exponentially weighted calibration folds in what your board actually did; corrections stay off until seven days of evidence exist.
PMS data
Email in, no API
Reports forwarded to a dedicated Lance inbox are parsed on a 15-minute tick: Marriott FOSSE, Hilton OnQ, Hyatt Opera, Power of M. Hilton OnQ arrivals, departures and stayovers outrank the estimate; a manual edit outranks everything. A feed quiet for 48 hours is flagged.
Briefing
8:30 AM, local
Per-hotel send time to the quarter hour, recipients managed in the dashboard with preview and test send, one switch per hotel. Every send is recorded per recipient, so a briefing is never sent twice.
Standards
Minutes per room
Per room type and service, adjusted from schedule feedback within a 15 percent band. Budget standards per position in FTEs, fixed hours or minutes per occupied room, priced by department rate or individual wage.
Security
SOC 2 audited
Per-hotel isolation at the data layer. Wages live apart from staff profiles and are readable only by hotel admins; the solver is fed rates server-side, never from the browser.
Security“Lance pays for itself. It’s the clearest ROI decision I’ve made as an owner.”

FAQ
Questions general managers ask before they switch it on.
No. There is no PMS API integration. Occupancy reaches Lance from ProfitSage where your group uses it, from the PMS reports your property already emails or uploads, or typed into the forecast grid for the week.
Marriott FOSSE housekeeping forecasts, Hilton OnQ occupancy forecasts, Hyatt Opera forecasts and task sheets, and Power of M on-the-books and housekeeping forecasts. Forward them by email or upload them from the schedule page.
Yes. The week comes back as an editable grid. Change any cell, regenerate a single day with the others locked, then apply. The solver never breaks leave, availability or hard preferences, and the manager's edits win.
The solver relaxes demand coverage step by step and tells you which roles are short on which days, rather than quietly dropping a rule. Leave, hard preferences and hour caps are never relaxed.
From the property's own Lance data at send time: call logs, work orders and complaints, preventive maintenance and readings, the logbook, the sales pipeline and upcoming groups. It is emailed at the hour you set, per hotel, to the recipients you add in the dashboard.
Recipients are managed per hotel in the dashboard, with a preview and a test send. A single per-hotel switch pauses it; the next morning's send simply skips that hotel.
See your week staffed from your own numbers.
Book a demo. We will build a schedule from your occupancy, show the standards behind it, and send you the morning briefing your team would get.
