💡 Homeowner Availability

Scheduling a meeting (or any event) is a chore. Unless you keep a completely accurate calendar and can use something like Calendly, there is going to be some back and forth between both parties to find a time that works.

When a Service Provider on Zaarly needs to schedule something with a homeowner, they have a few options:
  1. Send an appointment request using the appointment feature.
  2. Send a message through Zaarly.
  3. Make a call through Zaarly.
  4. Take the scheduling off of Zaarly and use a calendar invite, send an email, text, or use a third party scheduling tool.

Each of these has problems

  1. Sending an appointment request presents a lot of friction up front with no guarantee of success. The SP needs to remember we have that feature. Then they need to fill out a form that's really geared more toward scheduling a time that's already been agreed upon.
  2. Sending a message is pretty simple, but very easily lost in the system and tough to track and follow up on. Often, if things go back and forth for too long, someone drops the ball or gives up and ghosts the other person.
  3. Making a call is super straightforward as long as the homeowner (a) picks up and (b) actually wants to schedule something. When's the last time you answered an unknown number?
  4. Taking things off platform generally results in a hand-slap from our moderators and it creates an inconsistent experience for the homeowner.
You don't need to read through too many conversations to start seeing that the back and forth is a real problem.

Why even schedule through Zaarly?
Scheduled events are opportunities. When we know about them, we can drive professional, virtuous behavior and increase the chances of the job completing successfully.

When we don't know about a scheduled event, the likelihood of a no-show, miscommunication, or some other mishap increases by a lot. Things are more likely to go wrong than write (otherwise our tabber --> buyer conversion rate would be over 50%).

Ask for availability upfront

Depending on the stage and/or type of a job, scheduling takes on some different forms:
  • Timeframe/Urgency of project
  • Availability to talk
  • Availability to meet
  • Date/time to perform work
The earlier on a project is in its lifecycle, the greater the risk of failure. This means that lots of scheduling back-and-forth early on poses a significant risk.

We can greatly reduce that back and forth by asking the homeowner to indicate their timeframe for this project and their general weekly availability to talk or meet and adding that to their inquiry.

This is the right time to ask. They are here and they are thinking about the project. Asking roughly when they are hoping to start and what their availability to talk or meet looks like sets some nice expectations.

Availability should be set at the user level. My availability to discuss or meet about a move vs. a painting job is unlikely to vary from project to project.

We are asking for it here, but it probably makes sense to link to it from the user's setting screens as well. Setting it at the user level affords the added benefit of only having to do it once.
Project screen with an availability CTA at the top 270 KB View full-size Download

Once availability has been set, enable editing 270 KB View full-size Download


Here's a patch for displaying and entering available time intervals. There are a lot of fancy ways to conceive of entering and displaying this information, so I've designed a patch to help keep you out of the weeds.

A homeowner needs to be able to select:
  • Available for calls + visits, just calls or visits, neither
  • Available days
  • Available time blocks on those days (optional all day)
  • Whether that time block is good for calls, in-home visits, or both
A design patch for setting general availability 293 KB View full-size Download

Copy availability from an existing project.
There will be many cases when a homeowner's availability is the same across many projects. My actual availability for a call or a visit is generally going to be the same regardless of the project I'm looking at. If I'm creating a number of projects, re-entering the same information over and over would be pretty tedious.

On the other hand, I may want to change my shared availability depending on the project. E.g., I may be fine with housecleaners requesting an in-home visit, but I may not want to have to meet a lawn guy since they won't need to get into the house.

Or, depending on my time-frame for a project, I may not want to indicate any availability for either just yet.


Commitment consistency should decrease ghosting. When someone you may be unsure about meeting with asks when you can meet, it's really easy to ignore them.

Conversely, when you have intentionally signaled your availability, it is hard to say no to a meeting request based on what you've indicated. Here's a short excerpt from one of many, many psychological studies on this:

"Once we have made a choice or taken a stand, we will encounter personal and interpersonal pressures to behave consistently with that commitment."

—from Influence: The Psychology of Persuasion by Robert Cialdini, PH.D

Surfacing availability as CTAs should streamline initial scheduling. The project timeframe provides some nice context for the SP and the homeowner's weekly availability can seed appointment scheduling.
Displaying upcoming available dates (not times) for the SP in the inquiry 244 KB View full-size Download
Scheduling an appointment from here shouldn't require typing. The time block concept should afford us an interface where SPs can start with an available date and get through the appointment flow with optional typing.
Rough breadboard for creating an appointment from an Availability link 276 KB View full-size Download

Starting an appointment from the homeowner's indicated availailability 259 KB View full-size Download
If we can get homeowners to indicate their availability and if we can surface that to service providers in an actionable way, I believe we'll get much greater adoption of the appointments feature. And I think that will help close more jobs.


Possible additions

If there's time, here are some straightforward features that would make useful add-ons to this project:
  • If availability is none or has not been indicated we should also show that in the inquiry. We will want to make sure to still set the expectation that the SP should respond quickly.


  • Add appointment to calendar once it's created
  • Sync your calendar to your Zaarly schedule
  • Share appointment via email, text, or copy/paste
  • Rename the Appointments index to "Schedule"
  • Ask for timeframe in the match funnel

Out of scope

Some ideas I had along the way that would be improvements on this but are either too big or just don't feel core enough to include:
  • Revealing the availability links when the SP taps on the calendar icon so that they don't need to select them from the inquiry
  • Enabling homeowners to indicate specific dates they are unavailable
  • Enabling service providers to indicate their availability a la calendly
  • Doing a bunch of work on the appointments index
  • Renaming the appointments index to "Schedule"