5 mistakes new STR cleaners make in their first 90 days
Manual iCal tracking, missed Vrbo cancellations, timezone confusion, wrong pricing, morning-of dispatch failures. Here's how to dodge each one.
5 mistakes new STR cleaners make in their first 90 days
TL;DR: I've watched the same five mistakes happen across dozens of cleaning operators pivoting into short-term rentals. Mistake 1: manually tracking iCal feeds in a spreadsheet (breaks at property 4). Mistake 2: missing Vrbo's silent cancellation pattern (your cleaner shows up to a locked, cancelled property). Mistake 3: confusing checkout day with cleaning day (timezone math plus 11am-checkout standards equal early arrivals). Mistake 4: pricing STR turnovers like residential cleanings (turnover scope and time pressure are different animals). Mistake 5: dispatching the cleaner the morning of checkout without re-checking the iCal overnight (cancellations happen between midnight and 6am). Each mistake costs you either money, cleaner trust, or host relationships. Here's how to dodge all five.
Mistake 1: manually tracking iCal feeds in a spreadsheet
This is the gateway mistake. You land your first Airbnb cleaning account. The host sends you the iCal URL. You subscribe to it in Google Calendar or pull it into a spreadsheet. You dispatch cleaners based on what you see.
It works fine for properties 1 and 2. At property 3, you start seeing occasional overlaps (two cleanings scheduled for the same crew at the same time). At property 4, the wheels come off. Cancellations happen overnight and don't sync to your spreadsheet. Reschedules move a checkout from Thursday to Saturday, but your cleaner still shows up Thursday. The host emails you asking why no one came Saturday.
The breaking point is always around property 4. Before that threshold, you can manually reconcile the mismatches. After it, the combinatorial complexity of comparing yesterday's calendar to today's calendar across multiple properties and multiple iCal feeds exceeds what a human scheduler can hold in working memory.
Glacier Grand Cleaners hit this wall at property 2. Their scheduler was spending 90 minutes every morning cross-checking iCal feeds, Jobber schedules, and host messages. They switched to automated iCal sync before property 3 went live. Fourteen months later, they manage 7 properties without adding scheduler hours.
The fix: automate the iCal-to-schedule pipeline before property 4. Whether that's CleanSync, a custom Zapier flow, or a VA pulling feeds into your FSM every morning, the key is removing the human reconciliation step. Spreadsheets don't scale past three properties.
Mistake 2: missing Vrbo's silent cancellation pattern
Airbnb sends you an email when a guest cancels. You get a notification, the iCal updates, and you know to pull the cleaning off the schedule.
Vrbo does not do this. When a Vrbo guest cancels, the booking just disappears from the iCal feed. No email, no notification, no "hey, this thing you scheduled yesterday is now gone." The only way to know is to re-pull the feed and compare today's booking UIDs to yesterday's.
Most new operators discover this when a cleaner arrives at a property, finds it locked and dark, and texts "no one's here." You call the host. The host says "that booking cancelled three days ago, didn't you see it in the calendar?" You did not see it, because Vrbo never told you.
This is the number-one cause of wasted cleaner trips in the first 90 days. It happens once, you think it's a one-off fluke, then it happens again two weeks later with a different property.
The fix: treat Vrbo iCal feeds as append-only logs that occasionally delete entries, not as notification streams. You have to diff yesterday's feed against today's feed to catch the deletions. If you're doing this manually, that means downloading the .ics file daily and comparing UIDs in a script or spreadsheet. If you're using an integration, make sure it handles Vrbo's deletion pattern correctly. (CleanSync does; cancellations and reschedules are detected within 5 minutes of the iCal updating.)
Mistake 3: confusing checkout day with cleaning day
The Airbnb calendar says "Checkout: Thursday, May 22." You dispatch your cleaner for Thursday, May 22 at 11am. The cleaner arrives at 11am. The guest is still packing.
Checkout day is when the guest is supposed to leave. Cleaning day is when your crew is supposed to arrive. Those are not the same time, even when they're the same calendar date.
Most STR hosts set checkout time at 10am or 11am. That's when the guest is contractually required to be out, not when the property is actually clean and empty. If you dispatch the cleaner to arrive at the checkout time, you're dispatching them to arrive while the guest is leaving. Add 30-60 minutes of buffer.
Then add timezone complexity. If you're in Nashville scheduling a cleaning for a Flathead Valley property, the iCal feed is in Mountain Time and your scheduler is in Central Time. A 10am MT checkout is 11am CT on your calendar. If you dispatch the cleaner for 10am (thinking "10am checkout means 10am arrival"), your cleaner is an hour early.
The most common version of this mistake: dispatching the cleaner for 11am the same day as an 11am checkout, forgetting that 11am is when the guest leaves, not when the property is ready. The cleaner arrives, the guest is still there, the cleaner waits in the driveway for 20 minutes, everyone's annoyed.
The fix: always add buffer time between the iCal checkout time and the scheduled cleaning start. How much buffer depends on your market (are guests reliably out on time?) and the property (how long does the actual turnover take?). Most operators use 60-90 minutes. Schedule the cleaning for 12:30pm if checkout is 11am.
And verify you're reading the iCal timezone correctly. The DTSTART and DTEND fields in an .ics file include timezone identifiers. If your scheduler or integration doesn't parse those, you'll be an hour off (or more, if the property crosses a DST boundary differently than your office location).
Mistake 4: pricing STR turnovers like residential cleanings
You've been running residential cleanings for two years. You charge $120 for a three-bedroom house, about $35/hour after labor and materials. You land your first STR account, a three-bedroom cabin. You quote $120 for the turnover.
Three turnovers in, you realize you're losing money. The STR turnover takes 3.5 hours instead of 2.5, because the host wants baseboards, inside the fridge, and the grill scrubbed. The host texts you at 8pm the night before a Saturday checkout asking if you can move the cleaning up two hours. You do it, because you want to keep the account. Your cleaner works solo that Saturday (the other half of the crew called out), and the turnover takes 4.5 hours. You just paid $140 in labor for a $120 job.
STR turnovers are not residential cleanings. The scope is different (inspection-level clean, not maintenance clean). The time pressure is different (if you miss the window, the next guest can't check in, and the host loses a night of revenue). The scheduling flexibility is different (you can't just "come back tomorrow" if something takes longer than expected). And the mid-stay considerations are different (some hosts want a mid-stay tidy on longer bookings; others don't).
Most operators underprice their first few STR accounts because they're anchoring to their residential rate card. Then they realize the per-hour margin is lower, even though the per-job revenue is higher.
The fix: price STR turnovers separately from residential cleanings. A common starting point is 30-60% above your residential per-hour rate. If you charge $35/hour for residential, charge $45-55/hour for STR. Then quote by the job, not by the hour. A three-bedroom cabin turnover might be $180-220 depending on scope and timing, even if your three-bedroom residential clean is $120.
And build in a same-day or next-day premium. If a host calls you Friday night asking for a Saturday morning turnover because a guest just cancelled and they rebooked the property, that's worth 1.5x or 2x your standard rate. You're moving other jobs, you're asking a cleaner to work on short notice, and you're absorbing the scheduling risk. Charge for it.
Mistake 5: dispatching the cleaner the morning of a checkout without re-checking the iCal overnight
You check the iCal feed Thursday afternoon. There's a checkout scheduled for Friday at 11am. You dispatch your cleaner for Friday at 12:30pm. Friday morning, your cleaner drives to the property. The lockbox code doesn't work. You call the host. The host says "that booking cancelled last night at 10pm, didn't you see the update?"
No, you didn't see the update, because you checked the iCal Thursday afternoon and didn't check it again Friday morning before dispatching the cleaner.
iCal feeds update overnight. Guests cancel between midnight and 6am. Hosts move checkout times. Vrbo rotates booking UIDs (a quirk of how Vrbo handles reservations that span a rate-change boundary). If you check the iCal once the afternoon before and assume it's still current the next morning, you will eventually dispatch a cleaner to a property that no longer needs cleaning.
This is the same root cause as Mistake 2 (Vrbo's silent cancellations), but it happens with Airbnb too. The difference is that Airbnb will email you about the cancellation; Vrbo won't. Either way, if you're not re-pulling the iCal feed the morning of the cleaning, you're working off stale data.
The most expensive version of this mistake: you dispatch the cleaner Friday morning based on Thursday afternoon's iCal pull. The booking cancelled Thursday at 11pm. The cleaner drives 45 minutes to the property, discovers it's cancelled, drives 45 minutes back. You just paid 90 minutes of drive time plus mileage for a cleaning that didn't happen. If your cleaner is hourly, that's $30-50 out of your margin. If your cleaner is per-job, that's a pay dispute about whether they get paid for a cancelled job they drove to.
The fix: re-check the iCal feed the morning of every cleaning before you confirm dispatch. If you're managing this manually, that means pulling the feed between 6am and 8am the day of. If you're using an integration, make sure it checks the feed early morning and updates your schedule before your cleaner leaves. CleanSync polls feeds every 5 minutes, so cancellations that happen overnight are reflected in Jobber by 6am. Either way, the rule is: no dispatch confirmation without a same-morning iCal check.
How I would handle this myself, if I were doing it again
I built CleanSync because I watched a cleaning client hit all five of these mistakes in their first 120 days. They were manually tracking iCal feeds in Google Calendar, missing Vrbo cancellations, dispatching cleaners too early, underpricing turnovers, and working off stale data. The scheduler was spending 10+ hours a week reconciling calendars.
If I were starting an STR cleaning operation today, I would automate the iCal-to-schedule pipeline before property 3 went live. Whether that's CleanSync (free, Jobber-native, handles cancellations and Vrbo quirks automatically) or a custom integration, the goal is the same: get the human out of the iCal-checking loop. The five mistakes above all stem from manual reconciliation breaking under load.
Quick-start guide here if you're already on Jobber and want to see how the sync works. If you're not on Jobber, the principles still apply: automate the feed pull, verify cancellations daily, add buffer time to checkouts, price for the scope and time pressure, and never dispatch without a same-morning iCal check.
Frequently asked
- What's the biggest mistake new Airbnb cleaners make?
- Manually tracking iCal feeds in a spreadsheet. It works fine for 2-3 properties, then breaks catastrophically around property 4 when cancellations and reschedules start overlapping.
- How do I know if a Vrbo booking cancelled overnight?
- Vrbo doesn't send cancellation notices the way Airbnb does. You have to re-pull the iCal feed daily and compare booking UIDs. Most new operators don't know this until a cleaner shows up to a locked property.
- Should I price STR turnovers the same as residential cleanings?
- No. Turnovers have tighter time windows, higher stakes for the host, and inspection-level standards. Most operators charge 30-60% more than their residential per-hour rate.
- What's the checkout-day versus cleaning-day confusion?
- Checkout day is when the guest leaves. Cleaning day is when your crew arrives. If checkout is 11am and you dispatch the cleaner at 11am, you're too early. Factor timezone differences and add buffer time.
- Why can't I just dispatch cleaners the morning of checkout?
- Because iCal feeds update overnight. A booking that looked confirmed yesterday might have cancelled at 2am. If you dispatch before re-checking the feed, you send a cleaner to an empty property.