Flyhomes · Tours · Internal Tools
Automating tour scheduling so buyers could move faster
I transformed tour scheduling from a manual coordination process into a human-in-the-loop system that automated routine decisions and helped buyers get into homes faster.
42% → 64%
Accepted offer rate
5 hr → 20 min
Tour confirmation time
↓ ~50%
Support calls
59 → 34 days
Pre-offer stage
Impact
| Metric | Before | After |
|---|---|---|
| Accepted offer rate | 42% | 64% |
| Tour confirmation time | 5 hours | 20 minutes |
| Support calls | Baseline | ~50% reduction |
| Purchase-ready customers in pre-offer stage | 59 days | 34 days |
Faster scheduling helped remove a critical bottleneck in the home-buying journey. Once tours confirmed in minutes instead of hours, buyers spent less time stalled before making an offer, support load dropped, and accepted offer rate rose with it.
Situation
Flyhomes helps homebuyers buy their next home before selling their first.
Technology made that possible: buyers used the app to search for homes and request tours, while Terminal, our internal tool, managed those requests.
Following the pandemic, the real estate market moved fast, and customers were getting stalled in the touring stage.
The data pointed to a bottleneck:
- 59 days — purchase-ready customers were sitting in the pre-offer stage
- 5 hours — average time for Operations to confirm a tour request
- 68% — of support calls related to tour confirmation
Tours were where buyers evaluated homes and made purchasing decisions. We needed to get buyers into homes faster.
Discovery
I expected a workflow problem. I found a decision-making problem.
I interviewed 5 Operations Agents and mapped the jobs, decisions, and dependencies involved in confirming tours.
Rather than asking what features they wanted, I walked through the actual workflow:
“Show me what happens when a customer requests multiple homes.”
Four themes emerged:
- Route planning was manual. Agents added homes one at a time and estimated the best driving order.
- Availability was back-and-forth. Confirming a showing meant finding the listing agent in MLS and coordinating availability.
- Agent scheduling was fragmented. Tour agent availability lived across Google Calendars, creating a wall of possible schedules.
- The queue lacked prioritization. Homes with approaching offer deadlines looked identical to routine requests.
The key insight
Tour scheduling wasn't a data-entry problem. It was a coordination and decision-making problem.
Approach
How might we
How might we transform tour scheduling from a manual coordination process into an intelligent workflow?
Exploring automation
I brought the problem to Engineering early, not as a proposed solution, but as a way to explore what automation could make possible.
I shared an early Scheduler concept that combined:
- Home availability
- Tour agent schedules
- Routing
This visual became a conversation starter for exploring what we could automate and what infrastructure already existed.
Build vs. buy
Given the timeline and availability of established industry APIs, we chose to integrate rather than build scheduling infrastructure ourselves.
- ShowingTime — seller availability and MLS showing coordination
- Skedulo — tour agent availability and scheduling
This shifted the design problem.
The question was no longer: how do we automate scheduling?
It became: how do we make automation trustworthy, and where should humans remain in control?
Designing the human + automation model
I started with a highly automated vision and shared early concepts with Operations to pressure-test the workflow.
They immediately surfaced edge cases:
- “What if I need a specific tour agent?”
- “What if a customer drops one home from a four-home tour?”
- “How do I know which requests are actually urgent?”
These conversations helped define the boundary between automation and human judgment.
Let the system handle
- Availability checks
- Agent matching
- Route optimization
- Conflict detection
- Schedule generation
Keep Operations in control of
- Agent preferences
- Priority
- Schedule changes
- Exceptions
- Final confirmation
Automate the routine. Give humans control over the exceptions.
The solution
From schedule builder to exception manager.
I unified Tours into a single scheduling workspace, replacing fragmented tools with automated routing, agent assignment, and conflict management.
The system could:
- Check home availability
- Match available tour specialists
- Optimize routes
- Surface conflicts
- Recalculate schedules
- Present recommendations for review
The biggest workflow shift
Before
Coordinator builds every schedule manually.
After
System generates the schedule. Coordinator reviews exceptions.
Before · Coordinators were the scheduling engine
A coordinator would:
- Pick up a tour from the queue
- Open a map and estimate the route
- Open MLS and find the listing agent
- Email to coordinate availability
- Check Google Calendar
- Record notes
- Repeat for every home
- Update the status once confirmed
Every tour required manual coordination.
After · Automation does the coordination
I incorporated Operations feedback directly into the Tours queue.
Instead of a flat list, coordinators could quickly identify:
- Unscheduled
- Priority
- Offer Approaching
From a tour request, they could adjust scheduling preferences before running automation.
One click, and scheduling automation runs.
The system checks availability, matches a tour specialist, finds compatible times, optimizes the route, and surfaces options for review. The coordinator remains in control before anything is confirmed.
Designing for the exceptions
Automation only works when it knows what to do when things go wrong.
Cascading cancellation
A cancelled showing could disrupt the rest of an agent's route.
System: shows the ripple effect and recommends the least disruptive adjustment.
Conflicting priorities
The shortest route isn't always the best customer experience.
System: makes tradeoffs between travel time, buyer convenience, and schedule stability visible.
No availability
A home or agent may have no compatible time.
System: surfaces the next available options instead of creating a dead end.
The goal wasn't to eliminate human intervention. It was to make intervention faster and more informed.
A faster way to iterate
I used lightweight prototypes and quick feedback sessions to pressure-test edge cases before investing in polished designs.
Today, I'd use AI to accelerate synthesis:
Interview notes → AI clustering → emerging themes → human validation
AI can help identify patterns in hours rather than days, but I'd validate those patterns against the original conversations and behavioral data.
For interaction-heavy workflows, I'd also prototype early, share a short walkthrough, and use feedback to quickly identify what needs to change.
Results
Automation reduced coordination time, support load, and time spent stalled before an offer.
42% → 64%
Accepted offer rate
5 hr → 20 min
Tour confirmation time
↓ ~50%
Support calls
59 → 34 days
Pre-offer stage
- Accepted offer rate rose from 42% to 64%.
- Tour confirmation time fell from 5 hours to 20 minutes as automation reduced time spent coordinating availability.
- Support calls dropped by about 50% as fewer customers needed to ask whether their tours were confirmed.
- Purchase-ready customers spent less time stalled before making an offer: 59 days to 34 days in the pre-offer stage.
Faster scheduling helped remove a critical bottleneck in the home-buying journey.
Reflection
Automation didn't eliminate the operational problem. It changed it.
The scheduler removed the manual coordination bottleneck, but the system still needed to accommodate the judgment and exceptions that made Operations effective.
More importantly, once scheduling became faster, we could see the next constraint: shortlisting homes.
Automation doesn't just make a workflow faster. It reveals where the next constraint is.
That became the next opportunity: helping buyers narrow down the right homes faster so they could move from search to tour to offer with less friction.