← Calendar
CleanCal Handbook

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.

Getting started

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).
Inviting someone to your teamOwners and Managers can generate an invite link from Cleaners → "Invite someone to your team." Generating one also gives you a ready-to-send message with your business name and the link already in it, plus a button that opens your email app with that message pre-filled — or just copy the plain link and send it however you like (text, WhatsApp, etc.). A Manager can only invite at the Cleaner level; only an Owner can invite another Owner or Manager. Each link works once.

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.

CapabilityOwnerManagerCleaner
View & create bookings, manage the calendarYesYesOwn jobs only
Add properties, connect calendar feeds, set a property's room profileYesYes—
Delete a propertyYes——
Assign or rate cleaners, resolve disputesYesYes—
Change anyone's roleYes——
Set a property's payout rate or linen feeYes——
Pay a completed job (at whatever rate is already set)YesYes—
Invite a new CleanerYesYes—
Invite a new Manager or OwnerYes——
View Dashboard & Reports (CSV export)YesYes—

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.

Day to day

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

  1. On your OTA (Airbnb, Vrbo, Booking.com, or any other), find its calendar export link — usually under Calendar → Export or Sync.
  2. Paste it into the property's Add feed field with a label, e.g. "Airbnb".
  3. 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.

If a link leaks or you're changing platformsUse "Regenerate link" next to the export URL. The old link stops working immediately — you'll need to paste the new one back into every OTA that had it.

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.

Trust & money

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.

Background checks aren't live yetCriminal-history screening is planned but not built — it needs a signed agreement with a screening provider (e.g. Checkr) before it can be wired up. Don't rely on CleanCal for this today; if it matters for your business, screen cleaners through your own process until this ships.

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.

  1. 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).
  2. A cleaner connects their own payout account from Menu → My Profile ("Set up payouts") — a short Stripe-hosted onboarding flow.
  3. 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.
  4. 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.
What a cleaner seesToday, payout status isn't shown to cleaners directly in the app — check with your Owner or Manager if you're unsure whether a job's been paid.

Pricing

CleanCal's planned pricing scales with the number of properties on your account:

PropertiesPrice
1Free 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.

Not billed yetThis is the intended pricing structure — CleanCal doesn't yet charge anyone or enforce these tiers. Nothing about your account access changes based on property count today.
Reference

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.