> For the complete documentation index, see [llms.txt](https://help.rinsebase.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.rinsebase.com/str-and-airbnb-sync.md).

# STR & Airbnb Sync

When your client's guest books, Rinsebase can put the clean on your schedule for you. This article covers how a booking becomes a clean, the two ways to connect a calendar, the turnover rules, blocked dates, and guest-ready confirmation.

Calendar sync is on the Growth plan and up. On Starter the connect buttons show an upgrade card, and if an account drops below Growth, its calendars stop syncing.

## How a booking becomes a clean

1. Your client's guest books on Airbnb, VRBO, or the client's property management software.
2. Rinsebase reads the booking from the connected calendar.
3. A clean is created for the checkout day. The clean starts at checkout, plus any arrival buffer you set.
4. If the property has a default crew, they're assigned when the clean is created.
5. Depending on the turnover window, the clean is either **scheduled** or sent to your **approval queue**. See [Turnover rules](#turnover-rules) below.
6. If the guest cancels or changes dates, the clean is cancelled or moved on the next sync.

Every guest checkout gets a clean, even when no one checks in right after. Each property gets one clean per checkout day, so the same booking coming in from two calendars won't double up.

## Two ways to connect

|                    | Your client connects their account                                                              | iCal link                                                |
| ------------------ | ----------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| Works with         | OwnerRez, Hospitable, Guesty, Hostaway                                                          | Airbnb, VRBO, Booking.com, Evolve, any other iCal export |
| Who sets it up     | Your client, from a link you send                                                               | You or your client                                       |
| What comes through | Dates, real check-in/out times, guest names, guest count, pets (when the platform reports them) | Dates only                                               |
| Speed              | Changes arrive as they happen (OwnerRez, Hospitable, Hostaway) plus regular checks              | Checked automatically, usually within 30 minutes         |

Use the account connection whenever your client runs one of those four platforms. Use iCal for everyone else.

### Option A: your client connects their booking account

You never handle your client's login or API keys. You send a link and they connect it themselves.

1. Go to **Clients** and open an STR or property manager client.
2. Click **🏠 Connect their booking account**.
3. Copy the link and send it to your client. It works without a login, and you don't need to add their properties first.
4. Your client opens the link and chooses their platform under **Connect your account**:
   * **Connect with Hospitable** or **Connect with OwnerRez**: they sign in and approve access.
   * **Connect with Guesty**: they create an OAuth application in Guesty (**Integrations → OAuth Applications → New application**), then paste the **Client ID** and **Client Secret**.
   * **Connect with Hostaway**: they create a key in Hostaway (**Settings → Hostaway API → Create**, partner **Hostaway Public API**), then paste the **Account ID** and **API Key**.
5. Your client checks the listings you clean and clicks **Connect N properties**. Those properties load into Rinsebase for that client, with their details.

Good to know:

* Invite links expire 30 days after they're created. The client page shows when a link expires, and clicking the button again after that makes a new link.
* A listing without a full street address in the client's software can't be selected until they add one there.
* Once a client is connected, their client page shows the connection status, the number of linked properties, and the last sync, with a **Disconnect** button. Disconnect asks you to confirm and lists the properties that will stop syncing.
* A property synced this way says **Synced by the \[PMS] API — no calendar link needed** on its page instead of offering a calendar link. **Add an iCal feed too…** is still there if you want a second source, and asks you to confirm first.
* Your client can see the connection and disconnect individual properties from their own portal.
* If your client has at least one property in Rinsebase, the same link also lets an Airbnb or VRBO host paste a calendar link and choose which property it's for.

### Option B: connect an iCal link

**From a property (fastest):**

1. Open the property from **Clients**.
2. Click **🔗 Connect this property's calendar**.
3. If you have the link, paste it under **Have the calendar link? Connect it now ⚡** and click **Connect**.
4. If you don't, copy the invite link under **Don't have the link? Send it to your host**. Your client pastes their calendar link on their own device.

**From Settings:**

1. Go to **Settings → Calendar Sync**.
2. Click **+ Connect calendar**.
3. Pick the **Property** and the **Platform**, then paste the **iCal URL**.
4. Click **Connect & sync**.

**From the client portal:** STR clients can add their own calendars on their portal's **Calendar** tab with **+ Connect calendar**.

Where your client finds the iCal link:

* **Airbnb:** Listing → Availability → Connect calendars → Export calendar → Copy link
* **VRBO:** Listing → Calendar → Import & export → Export calendar → Copy link
* **Booking.com:** Property → Calendar → Sync calendars → Export → Copy link

If a property is already connected through OwnerRez, Hospitable, Guesty, or Hostaway, don't also add that software's iCal export for it.

### Streamline portfolios

For property managers on Streamline, go to **Clients** and click **Bulk import (Streamline)**. Paste or upload one unit per line, using the unit ID or its `.ics` link. You can add `owner_name` and `owner_email` columns so each property is filed under the right owner. Or pick a fallback client for rows without an owner. Click **Preview**, then **Import**. Each property's address comes from its feed, and its calendar connects automatically.

Cleans for Streamline properties come from those calendar feeds. If a Streamline API connection is also set up for that client with Rinsebase support, the client card shows **connected — cross-checking**. That connection compares the feeds against Streamline and flags anything a feed missed. It doesn't create cleans.

## What each connection fills in

* **Times.** Account connections carry each booking's real check-in and check-out times. iCal feeds usually don't.
* **Guest names and headcount.** These come from account connections. Headcount shows on the linen pull sheet.
* **Pets.** When the platform reports pets on a booking, the crew app shows "Pets on the booking: N". See [Pets and pet fees](#pets-and-pet-fees).
* **Property details.** When a listing loads from OwnerRez, Hospitable, Guesty, or Hostaway, Rinsebase fills in the property's empty check-in/out times, bed count, square footage, and cover photo. It never overwrites a value you entered yourself.

## Check-in and check-out times

Rinsebase uses the first time it finds, in this order:

1. The time set on the property: **Check-in / check-out times** on the property page (STR and property manager clients only).
2. The time on the booking itself (account connections).
3. Your company default: **Default guest checkout** and **Default guest check-in** in **Settings → Company**.
4. 11:00 AM checkout / 3:00 PM check-in.

Also in **Settings → Company**:

* **Crew arrival buffer after checkout**: minutes after checkout before the crew is scheduled to start.
* **Crew finish buffer before check-in**: minutes before the next check-in by which a same-day clean must finish.

When you save times on a property, its upcoming scheduled cleans are re-timed to match.

## Turnover rules

The window is the time between one guest's checkout and the next guest's check-in on the same day.

| Window               | Label                                  | What happens                |
| -------------------- | -------------------------------------- | --------------------------- |
| Under 2 hours        | **Rush** (RAPID on the Dispatch board) | Goes to your approval queue |
| 2 to 4 hours         | **Tight**                              | Goes to your approval queue |
| 4 hours or more      | **Standard**                           | Scheduled automatically     |
| No same-day check-in | Departure clean                        | Scheduled automatically     |

Same-day cleans are sized to the property's clean time, but never longer than the window. Departure cleans use the property's clean time, or 3 hours if none is set. For Rush and Tight cleans created from an iCal feed, owners, managers, and dispatchers also get an email.

**Settings → Calendar Sync** lists upcoming turnovers, and you can filter by **Rush · under 2h**, **Tight · under 4h**, or **Standard · 4h+**. To put one on the schedule before sync creates it, click **+ Create turnover clean**.

### The approval queue

Cleans that need your approval appear on your dashboard under **N turnovers awaiting your approval**.

* **Approve** puts the clean on the schedule. The crew stays as assigned when the clean was created.
* **Decline** asks for a reason (required), for example "Turnover window too tight" or "No crew available for this date". Then click **Decline & notify client**, and your client gets an email with the reason.

Your **Morning digest** email (7 AM your time) lists cleans in the next 48 hours that are still waiting on your approval. You can turn that email on or off in **Settings → Notifications**.

### When bookings change

* **Guest cancels:** when a future booking disappears from the calendar, its clean is cancelled on the next sync. The note says which calendar removed it.
* **Cancelled after check-in:** if the guest had already checked in, the clean is kept, moved to the cancellation day, and flagged for you to confirm.
* **Dates change:** the clean moves to the new checkout day.
* **You cancel or decline a clean:** it stays cancelled for that checkout day, and sync won't recreate it.
* **A feed goes blank:** if a calendar suddenly returns no bookings, Rinsebase waits 24 hours before treating those stays as cancelled. This protects you from a short outage on the booking site.

In **Settings → Notifications** you can get alerts for **A new booking needs a crew**, **A guest cancelled**, **A guest moved their stay**, and **A calendar feed stops syncing**.

## Keeping sync healthy

Each calendar in **Settings → Calendar Sync** shows a status dot and its last sync time:

* **Connected**: syncing normally.
* **Connecting — first sync pending**: just added.
* **Sync error**: the last attempt failed.
* **No successful sync in over 48 hours**: check the link with your client.
* **Paused**: the feed is switched off.

A property synced from Hospitable, OwnerRez, Guesty or Hostaway shows when its bookings were last read. If the connection is running but hasn't read that property in over a day, the row turns amber. That usually means the listing is inactive in the PMS or is missing part of its address there.

Click **⟳ Sync now** to pull a calendar immediately. If feeds or connections are failing, a banner above the turnover list says so. Cleans for those properties won't appear until the problem is fixed.

To remove a calendar, click **Remove**. The confirmation shows how many reservations will be deleted and how many scheduled cleans will be cancelled. Cleans already in progress or completed are kept as history. Click **Yes, remove it** to confirm.

## Blocked dates

A block is when the property is held and no guest is staying. Examples are an owner stay, a direct booking, or maintenance.

### Adding a block yourself

1. Open the property. In the **Owner blocks** section, click **+ Block dates**.
2. Pick **Start (check-in)**, **End (check-out)**, and a **Reason** (Personal use, Owner stay, Maintenance, Renovation, Not available).
3. Leave **Schedule a clean after the block** on if you want a clean on the day the block ends.
4. Click **Block dates**.

The clean after a block is scheduled automatically. If the next guest arrives within 4 hours, it goes to your approval queue instead. If the dates overlap an existing booking, you're asked to confirm. Removing a block also cancels the clean it created.

Your STR clients can block dates from their portal's **Calendar** tab. Property manager clients can do the same from their portal. Both use **+ Block dates**, with the same option to schedule a clean afterward.

### Blocks that come from a calendar

Blocks your client makes in Airbnb or their booking software also sync in. By default they don't create cleans. To change that:

* For every property: turn on **Create cleans from calendar blocks** in **Settings → Features**.
* For one property: under **When a synced block ends here** in its **Owner blocks** section, choose **Use account setting**, **Always add a clean to approve**, or **Never add a clean**.

When this is on, a clean is added for your approval on the day the block ends. Blocks labeled as maintenance, repairs, or vendor work are skipped. Guest bookings always create cleans, whatever this setting is.

## Default crew

Set a property's **Default crew** on its property page. That crew is assigned to each new clean when it's created, including cleans waiting for approval. The first person listed is the lead.

Assignment is all-or-nothing. If any default crew member is inactive, on approved time off, not available that weekday, or already booked on an overlapping clean, the clean is left unassigned so you can staff it yourself. If you change a property's default crew, its future unassigned cleans are filled in automatically.

## Guest-ready confirmation

Guest ready is a separate step after the clean. It tells your client the property is ready for their next guest.

1. Open the clean. When it's in progress or completed, click **✅ Mark property guest ready**.
2. Add a photo with **📷 Add confirmation photo (optional)**. It has to be taken at the property. You can also add a note for the client.
3. Click **✅ Confirm & notify client**. The clean is marked completed if it wasn't already, and your client is notified.

Photo requirements still apply. If required photos are missing, crew can't mark the property guest ready. Owners and managers can choose **Mark ready anyway**, which adds an override note to the clean. If crew sign-off is limited to the lead, other crew members see a lock message instead of the button.

### Automatic guest ready

To skip the button, turn on **Auto guest-ready** in **Settings → Features** (Growth plan and up). When crew complete a clean, it's marked guest ready and your client is notified, using the latest after photo. This doesn't happen when a checklist item was reported as an issue. It's also switched off while **Review before notifying clients** is on: in that case you review the clean first, then mark it guest ready yourself to send the notice.

## Pets and pet fees

In the property's **Pricing & pay rates** section, turn on **🐾 Pet-friendly property** and enter a **Pet fee**.

At that property:

* When crew finish a clean in the mobile app, they're asked "Did this stay have pets?" If the booking listed pets, the question includes the count.
* Answering yes adds the pet fee to that clean's invoice.
* On the web, the clean shows **🐾 Pets at this clean**, which you can check yourself.

The fee is added only when a clean is marked as having pets. A pet count on the booking alone doesn't add it.

## Weather and power

* **Weather** shows current conditions and the next 6 hours for each property. It flags snow and storms. You'll find it in the client and property manager portals (**Weather** tab), on the crew dashboard, and on your dashboard.
* **Power status** shows **Power OK** or **Power out** for a property. Property manager clients can click **Report outage** (with a note) and **✓ Restored** in their portal's **Weather** tab. Properties marked as out show **! Power out** on the **Dispatch board**, and a warning lists any open cleans at those properties.
* The Weather tab also links to that state's outage map.

## Related

* [Clients and Properties](/clients-and-properties.md)
* [Client and Property Manager Portals](/client-and-property-manager-portals.md)
* [Scheduling](/scheduling.md)
* [Troubleshooting](/troubleshooting.md)
