Short-term rental turnover console for Home Assistant
Open one screen each morning to see every rental's locks, temperature, humidity, and next check-in, then prep the next stay in a single click.
Build me a turnover console for the short-term rentals I manage. All of them run on a single Home Assistant instance, and each property is its own Home Assistant area. I open this app every morning to see which homes are changing over today and what needs handling before the next guest arrives.
The app needs a settings area where I map each property once and the mapping persists: a display name, its Home Assistant area, the entity ids for that property's lock, thermostat, indoor temperature sensor, humidity sensor, leak sensor, smoke sensor and optional noise sensor, the Google Calendar id holding that property's bookings, the property's local timezone as an IANA zone, and the turnover marker entity id the app writes status to. I set this up once and it survives reloads.
The main view is a board with one card per property. Each card reads live values from Home Assistant using List States for the bulk read and Get State where a single entity needs refreshing, and shows lock state, indoor temperature, the thermostat setpoint, humidity, leak sensor status, smoke sensor status, and the noise sensor reading where the property has one. Present leak detected, smoke detected and an unlocked lock as clear problem states rather than raw entity values.
Next to the sensor readings, each card shows that property's next check-out and next check-in, pulled from Google Calendar List Events against that property's own calendar. Use singleEvents true, orderBy startTime, and a timeMin of now so I get real upcoming instances. I sync each booking calendar from Airbnb, Vrbo, or direct bookings into its own Google Calendar, so one calendar maps to exactly one property.
Sort the cards by whichever property flips over soonest, meaning the nearest upcoming check-out or check-in, not alphabetically. Render every date and time in that property's own local timezone with the zone shown, because the homes are not all in the same one.
Each card carries a turnover checklist that persists per property in the app, with items like strip and remake beds, restock consumables, check for damage, and take out bins. I can tick items off, add or remove items, and the state stays per property between sessions. Include a reset action so a checklist can be cleared for the next changeover.
Each card also has a status control that writes a turnover marker entity back into Home Assistant with Create or Update State, set to values like guest-ready, needs-cleaning, or vacant. This is the critical nuance to get right: Create or Update State sets the state representation only, it does not command any physical device, and this integration exposes no service-call operation at all. Label the control so it is unmistakable that it sets a flag rather than operating hardware, with helper text along the lines of: sets a status flag in Home Assistant, your own automations react to it. Never present it as unlocking a door, changing a thermostat, or arming anything. It is worth making clear in the UI that the state change does fire state_changed, so my own Home Assistant automations can key off it for pre-arrival heating and lock codes.
A second view is a per-property history panel. For the selected property, chart indoor temperature and humidity over time and show door or lock activity as a timeline of state changes, covering the window since that property's last checkout. Read this with Get History, and always narrow the call with filter_entity_id, start_time and end_time rather than pulling full history, since unfiltered history is heavy on a home server. Derive the start of the window from the last completed checkout event in that property's Google Calendar.
Each card has a Prep next stay button that starts a background agent for that property. The agent reads the upcoming arrival from that property's Google Calendar with List Events, pulls sensor history since the last guest left with Get History narrowed by entity and time window, and reviews what it finds for anything the cleaner or I need to handle. It should flag a door or lock left unlocked, humidity climbing toward mould territory, heating left running at holiday-let cost for a day or two with nobody in the property, and a leak sensor that tripped and then cleared, which is easy to miss because the current state looks fine.
The agent writes its readiness brief back into the app so the card and the history view can display it with a timestamp, then posts the same brief to the cleaning crew's Slack channel using Slack Bot Send a Message. The Slack post should lead with the property name, the arrival time in that property's local timezone, and the flagged items in priority order, so the crew can read it on a phone. Show the run state on the card while the agent is working and surface the brief when it lands.
Keep the whole console readable at a glance on a phone or tablet, since I often check it while out. If a property has no upcoming bookings, still show its card with live sensor readings and mark it as having nothing scheduled.
What does this prompt do?
- One card per property showing live lock state, indoor temperature and thermostat setpoint, humidity, leak, smoke, and noise readings, right next to that property's next check-out and next check-in
- Cards sorted so whichever home turns over soonest sits at the top, with every time shown in that property's own local time zone
- A turnover checklist that remembers where you left off per property, plus a status marker you set to guest-ready, needs-cleaning, or vacant for your own automations to pick up
- A history panel charting temperature, humidity, and door or lock activity since the last guest left
- A Prep next stay button that hands the work to a background assistant: it reads the upcoming arrival, reviews what the sensors did since checkout, flags what needs handling, writes the brief into the app, and posts it to your cleaning crew's Slack channel
What do I need to use this?
- A Home Assistant instance covering all your properties, with each property set up as its own area
- A Google Calendar for each property holding that property's bookings, which is how most hosts already sync Airbnb, Vrbo, or direct booking dates
- A Slack workspace with a channel for your cleaning crew
- The names of each property's lock, thermostat, temperature, humidity, leak, smoke, and noise sensors so you can map them once during setup
How can I customize it?
- Change which readings appear on each card, or add extras like water valves and energy meters
- Adjust what the assistant treats as a problem, such as the humidity level that counts as mould risk or how long heating can run empty before it gets flagged
- Rename the status values to match the wording your own automations already expect, or point the readiness brief at a different Slack channel
FAQs
Does the status control lock doors or change the heating?
Can I use this if my bookings come from Airbnb or Vrbo?
Do all my properties have to be on one Home Assistant instance?
What if my properties are in different time zones?
What does the Prep next stay assistant actually catch?
Related templates
Pick a date, a starting point and a radius, then build a sequenced day of customer visits that lands straight on your calendar.
See how your brand's news coverage and sentiment stack up against four competitors, then let an assistant write the weekly report for you.
One screen showing every social post waiting on approval, sorted by deadline, so reviewers can approve or reject without leaving the page.
Every Monday, find the past champions and closed-won contacts who changed jobs, update Attio, and get the moves worth chasing in Slack.
Staff submit what happened, your social manager edits the copy, picks the accounts and puts it on the calendar without a single spreadsheet.
Open one screen to find every unavailable, stale, or low-battery device in your smart home, see which hub is really at fault, and clear out the dead entries in bulk.
Stop checking five dashboards before every changeover.
See readiness across every rental you manage on one screen, and let an assistant write the handover brief for your cleaning crew.