Every turnover, tracked, cleaned, and paid.
This handbook covers CleanCal end to end — the calendar, calendar sync, the cleaning checklist, your cleaning team, and trust & payments. Skim the sidebar for what you need, or read straight through if you're setting up for the first time.
Welcome
CleanCal is the calendar that runs a short-term rental's turnovers: it knows every booking across every platform you list on, hands the cleaning job — with a full room-by-room checklist — to a cleaner on your team, and gives you a one-click way to pay them once the job's done. Three kinds of people use it:
- Owners — run the account. Full access, plus the things nobody else can do: change anyone's role, delete a property, and set what a cleaner gets paid (the payout rate and any linen fee).
- Managers — run the day-to-day. Same operational access as an owner, minus role changes, property deletion, and pay-rate changes.
- Cleaners — see their own assignments, the open job board, their ratings, and manage their own ID verification and payout setup.
Signing in & your business
There's no password to remember. Enter your email on the sign-in page and CleanCal sends a one-time sign-in code — tap the link in that email, or type the code straight into the page (useful if your email provider, Gmail especially, automatically opens links to scan them, which can burn a one-time link before you ever tap it yourself).
The first time you sign in, you land on a short setup step instead of the calendar, since you don't belong to a business yet:
- Starting your own business — give it a name and you become its Owner immediately.
- Joining an existing one — if someone sent you an invite link, open it and confirm; you're added with whatever role they set (Cleaner, Manager, or Owner).
A business's data is completely separate from every other business on CleanCal — nobody outside your team ever sees your properties, bookings, or cleaners, and you never see theirs.
Roles at a glance
Every permission below is enforced on the server, not just hidden in the interface — a Cleaner account genuinely cannot reach Manager-level data, even by guessing a URL. The two money fields (payout rate and linen fee) are enforced as Owner-only in the database itself, not just hidden from a Manager's screen.
| Capability | Owner | Manager | Cleaner |
|---|---|---|---|
| View & create bookings, manage the calendar | Yes | Yes | Own jobs only |
| Add properties, connect calendar feeds, set a property's room profile | Yes | Yes | — |
| Delete a property | Yes | — | — |
| Assign or rate cleaners, resolve disputes | Yes | Yes | — |
| Change anyone's role | Yes | — | — |
| Set a property's payout rate or linen fee | Yes | — | — |
| Pay a completed job (at whatever rate is already set) | Yes | Yes | — |
| Invite a new Cleaner | Yes | Yes | — |
| Invite a new Manager or Owner | Yes | — | — |
| View Dashboard & Reports (CSV export) | Yes | Yes | — |
Handing someone the Manager role means handing over the business's day-to-day — without handing over who's in charge, or what anyone gets paid.
The calendar
On desktop, three views, switched from the top bar:
- Week / Month — every property as a row, bookings as colored bars. Amber means to clean, blue means in progress, teal means complete. A small red badge on a bar means Requires attention — either the oven check on that booking's checklist was marked that way, or a cleaner ticked the general "Needs attention" box under Notes (see Cleaning checklist & photos).
- Year — pick one property from the dropdown for a full 12-month view of just that listing, guest names on each stay.
On mobile, Week and Year are replaced with two views built for a phone screen: Cleaning List (a scrollable day-by-day agenda, paginated by month) and Month (a compact grid for one property at a time).
A bar always starts a little into its check-in day and ends a little into its checkout day — 2pm check-in, 10am checkout — so a same-day turnover reads correctly instead of looking like a gap or a double-booking.
Click any bar to open it. Click empty space on the calendar to start a new booking (Owner/Manager only).
Properties & two-way sync
Open Manage → Properties from the calendar's top bar to manage each listing.
Bringing bookings in
- On your OTA (Airbnb, Vrbo, Booking.com, or any other), find its calendar export link — usually under Calendar → Export or Sync.
- Paste it into the property's Add feed field with a label, e.g. "Airbnb".
- Click Sync now, or leave it — feeds sync automatically on a schedule if that's configured for your account.
Sending your calendar back out
Every property also has its own Calendar export link. Paste that one into each OTA's "connect to another website" or "import calendar" field. This is what actually prevents double-bookings: without it, a booking made on Vrbo never tells Airbnb the date's taken.
Property profile
Each property also has a profile — bedroom count, bathroom count, and whether it has an outdoor area — set right on this page, next to access instructions. This is what the cleaning checklist uses to scale itself to the actual property; see Cleaning checklist & photos below. Any property that's never had this set defaults to 1 bedroom, 1 bathroom, no outdoor area.
Cleaning checklist & photos
Every booking carries a full, room-by-room cleaning checklist, modeled on a real professional turnover checklist rather than a handful of generic line items: Bedrooms, Bathrooms, Kitchen, Dining/Living Room, Floors & Carpets, Outdoor Areas (if the property has one), and Locking Up. Each section is collapsible with a live done/total count, so a cleaner works through one room at a time on their phone instead of scrolling one long list.
The checklist scales to each property's own profile (set on the Properties page — see above): a property with 3 bedrooms gets three separate Bedroom sections to track independently ("Bedroom 1," "Bedroom 2," "Bedroom 3"), same for bathrooms, and the Outdoor Areas section only appears if the property actually has an outdoor area.
The oven is the one item worth a heads-up if it needs real attention: instead of a plain checkbox, it has Cleaned and Requires attention buttons. Marking it "Requires attention" puts a red "!" badge on that booking right on the calendar, visible to Owners and Managers at a glance.
For anything else worth flagging — not specific to one checklist item — there's a general Needs attention checkbox right under the booking's Notes field. Ticking it opens a text box for a quick note (e.g. "broken lamp in bedroom"), and puts that same red "!" badge on the booking so the host sees it without having to open every job.
Photos
A cleaner can attach photos to a booking while working through it — useful for proving a clean's condition or flagging pre-existing damage. Click or tap any photo to see it full-size: on desktop, just hover over the thumbnail; on a phone (no hover), tap it to open a large view, tap again (or the ✕) to close.
Managing the cleaning team
Assign a booking to a specific cleaner, or mark it Open so any cleaner on your team can claim it first-come, first-served — claiming is atomic, so two cleaners can never grab the same job. A cleaner who can't make it anymore can release a job back to the pool, or decline a directly-assigned job before it's started.
Every completed job gets a 1–5 star rating with an optional note. Ratings roll up into each cleaner's profile average, visible right in the assignment dropdown — so you're never assigning blind.
Disputes
Either side — Owner/Manager or the assigned cleaner — can flag an issue on a booking: property condition, a payment disagreement, anything. It opens a threaded conversation attached to that booking, visible to both sides and no one else. Posting a reply reopens the thread even if it was marked resolved, so nothing quietly gets buried.
Mobile app & notifications
CleanCal installs like a native app: open it in your phone's browser and use "Add to Home Screen" (or the browser's own install prompt) to get a home-screen icon that launches full-screen, no browser bar.
From Menu → "Enable notifications," you can get a push alert straight to your phone when: a job is assigned or posted open, a cleaner declines a job, a dispute message is posted, or a cleaning gets rated.
ID verification & background checks
A cleaner verifies their own identity from Menu → My Profile — a government ID and a live selfie, handled by Stripe's own verification flow. The result comes back automatically and shows as a status badge — ✓ ID verified, or pending while it's still processing — visible to Owners and Managers on the Cleaners page, so you can see it before assigning a job, not after.
Cleaner payouts
Payouts are per-property, not automatic, and always a deliberate action — nothing moves money on its own. Setting the dollar amounts is Owner-only; triggering an actual payment is open to any staff.
- An Owner sets a payout rate for each property on the Properties page, and — if this property's linen gets taken off-site to launder — a linen fee: a per-box rate and how many boxes the property uses (roughly one box per one-bed bedroom, though it can differ).
- A cleaner connects their own payout account from Menu → My Profile ("Set up payouts") — a short Stripe-hosted onboarding flow.
- If a specific booking needs its linen picked up, staff tick "Cleaner takes linen off-site to clean" in that booking (next to Assignment) — this is a per-booking choice, since not every clean needs it.
- Once a booking is marked Complete and has an assigned cleaner, staff see a "Pay $X" button right in that booking — the total already includes the linen fee if that box was ticked. Clicking it sends the payout.
Pricing
CleanCal's planned pricing scales with the number of properties on your account:
| Properties | Price |
|---|---|
| 1 | Free for 6 months, then $5/month |
| 2 – 15 | $5 per property/month |
| 16 – 50 | $150/month (flat) |
| 51 – 100 | $250/month (flat) |
| 101 – 200 | $350/month (flat) |
| 201 – 500 | $500/month (flat) |
| 500+ | Custom enterprise pricing |
As your free trial period nears its end, CleanCal shows an in-app reminder before anything would ever be billed — no surprise charges.
FAQ & troubleshooting
A booking didn't sync from my OTA
Check the feed's status on the Properties page — a red "Error" pill shows the reason. Most often the calendar link expired; grab a fresh export URL from the platform and re-paste it.
A guest cancelled but the booking's still showing
CleanCal never silently deletes a booking that disappears from a source feed — it flags it instead (a dashed outline on the bar) so an Owner or Manager can confirm and remove it, in case it was a sync hiccup rather than a real cancellation.
I promoted the wrong person to Manager
Go to Cleaners → Team roles and change it back. You can't change your own role, so you can't lock yourself out — but nothing stops you fixing someone else's.
The checklist only shows one Bedroom/Bathroom for a bigger property
Set that property's real bedroom and bathroom count on the Properties page, under "Property profile." Every property defaults to 1 bedroom / 1 bathroom / no outdoor area until you do.
Can I use a platform that's not in the list of badges?
Yes — any platform with a calendar export URL works, badge or not. A recognized platform (Airbnb, Vrbo, Booking.com, and a growing list of others) gets its own color; anything else still syncs, just with a plain grey badge.
My magic-link email didn't work
This is almost always Gmail (or a similar provider) automatically opening the link to scan it for safety, which uses it up before you tap it. Request a new code and type it into the page instead of tapping the link.