SchedulingRetentionLive

Minimize Gaps: Helping Providers Recover Idle Time Between Appointments

A scheduling feature that clusters online bookings around existing appointments, reduces idle time, and answers one of Vagaro's most-requested features.

Primary RoleLead Product Designer
Design Timeline2 weeks
Business ModelB2B, B2B2C, SaaS
Businesses ImpactedAll New and Existing Businesses
StatusLive
Problem

Vagaro's online booking system scattered appointments across the day, leaving providers with hours of idle time they couldn't fill. Users were vocal about it: 1,700+ votes, 245 comments, and explicit threats to switch to competitors who already solved this.

Solution

A toggleable 'Minimize Gaps' setting that clusters online bookings around existing appointments, giving providers control over their schedule density with a single configuration.

Result

3,000+ businesses enabled the feature in the first week. 93% of surveyed users rated it positively. Projected 15-20% reduction in idle time between appointments.

The Business Opportunity

Gaps in the schedule were costing providers real money

Every hour of idle time between appointments is revenue a provider never gets back.

Vagaro serves appointment-heavy industries like hair, nails, medspa, and massage, where income is directly tied to how many clients a provider sees in a day. When online bookings land scattered across the calendar, providers end up with hours of dead time they can't fill.

The workarounds were painful: manually blocking time slots, texting clients to offer different times, creating fake personal tasks to force bookings together. And the churn risk was explicit. Users named competitors and said this missing feature was their top reason to leave.

Pain Points
Karen R.Dec 7, 2023

This is costing me so much time and money. It doesn't help to have clients book online if I have to go in and adjust the appt times to avoid gaps in my schedule.

Alysha R.Jan 29, 2025

THIS 100x YES PLEASE. My team has to constantly put awkward blocks in their schedules to force appointments to be set in particular spots which is a LOT to stay on top of. Jane App has this implemented and its incredible.

Kellyn W.Aug 7, 2025

There needs to be a way to cluster appointments instead of spreading them out. Otherwise, I have to text the client to offer them other times and it really takes away from the experience of online booking.

Matt D.May 5, 2024

Please add this feature. Currently I am creating personal tasks to realize an optimized schedule. This directly impacts income.

High Churn Risk
Amy R.Jul 2, 2025

Currently at 510 votes and years have gone by without this feature. This will be the #1 reason I leave to use another software company.

Kellyn W.Aug 13, 2025

We need this! Other systems do this and I've thought about leaving just because this feature is so valuable.

Donna M.May 21, 2025

We are seriously already looking at other scheduling platforms with smart scheduling. It doesn't matter if we choose 15, 30, 45, or 60 min increments. Vagaro doesn't have smart scheduling.

Scott B.Jan 29, 2025

Minimize gaps, show online books only before and after booked appointments. I'm getting ready to change providers. We need this now!

Goal

Turn idle hours into bookable time without restricting client flexibility

Give providers control over their schedule density, without making booking feel restrictive to clients.

  • Reduce idle gaps between appointments for providers who enable the feature.
  • Preserve client choice so booking doesn't feel restrictive or unavailable.
  • Keep configuration simple enough that any business owner can set it up without support.

Research

Reading 245 user comments revealed two distinct problems

I categorized all 245 Uservoice comments and found a clear split: 70% wanted to avoid large gaps (hours of dead time), while 30% wanted to avoid small gaps (slots too short to fill). These are different scheduling problems requiring different logic.

Competitor mapping confirmed this. GetTimely and Jane App solve large gaps. Acuity and MassageBook tackle small gaps. No one offered both.

I built an interactive prototype in Lovable that let stakeholders change a gap threshold and watch the available time slots change. Rather than testing usability, it existed to make the scoping conversation concrete.

What users asked for

The 245 comments split cleanly in two:

70%30%

Avoid Large Gaps

Hours of dead time

Avoid Small Gaps

Slots too short to fill

How each gap type looks in practice

9:00
9:15
9:30
9:45
10:00
10:15
10:30
10:45
11:00
11:15
11:30
11:45
12:00

Large gaps of unused time

9:00
9:15
9:30
9:45
10:00
10:15
10:30
10:45
11:00
11:15
11:30
11:45
12:00

Small gaps of unused time

Key insight: Each half needs its own scheduling logic, which meant they could be built and shipped separately.

Interactive Prototype, built in Lovable

Design Journey

From two modes to one toggle in three iterations

Cutting a two-mode feature down to something shippable in two weeks.

01

Initial design offered both gap types with granular controls

Turning the 'offer both' finding into a settings panel.

Based on discovery, I designed a panel with two selectable modes: 'Avoid Long Gaps' and 'Avoid Short Gaps.' It included a gap time threshold, employee selection, a personal task checkbox, and a fallback option to show additional booking times when suggested slots didn't work for clients.

This reflected the full scope of what users were asking for.

“Simplify the experience, the flow feels overly complex for end users”

Stakeholder feedback

“The cognitive load for this seems to be too high”

Stakeholder feedback

“Focus on a fast, low-scope launch; can expand in Phase 2”

Stakeholder feedback
02

Stakeholder feedback pushed for a simpler first release

Three pieces of feedback reshaped the scope.

  • 'Simplify the experience, the flow feels overly complex for end users.'
  • 'Standardizing personal tasks is challenging due to varied use cases.'
  • 'Focus on a fast, low-scope launch; can expand in Phase 2.'

I used the 70/30 data to make the scope cut defensible: ship the large-gap solution first for 70% of demand, and hold 'Avoid Short Gaps' for Phase 2. Nothing was dropped, only sequenced.

03

Final design dropped the dual-mode selection

One toggle, one threshold, and three default rules for personal tasks.

The final design stripped away the dual-mode selection: one toggle, one gap threshold dropdown ('Avoid Gaps Greater Than'), and an employee selector. When enabled, the first client to book on an empty day sees full availability. Once that first appointment lands, subsequent clients only see slots grouped around existing bookings.

For the personal task complexity stakeholders flagged, I defined three default rules instead of building a configuration UI:

  • Only personal tasks on the calendar? Don't cluster.
  • Appointment plus personal tasks? Cluster around both.
  • Personal tasks outside working hours? Ignore.

System Considerations

How Minimize Gaps interacts with search limits and the waitlist

Minimize Gaps doesn't operate in isolation. It intersects with two existing systems, the Appointment Search Limit and the Automated Wait List, and both interactions needed deliberate decisions.

Interaction 01

Appointment Search Limit

Appointment Search Limit (ASL)

The maximum number of bookable timeslots customers can see at a time on the listing page.

Minimize Gaps determines which slots are eligible. ASL then controls how many of those eligible slots are shown.

When settings interact

ASL ≥ Minimize Gaps

Minimize Gaps takes precedence

ASL < Minimize Gaps

ASL takes precedence, truncates the pool to the next available slots

Slot visibility with ASL = 4

9:00
9:30
10:00
10:30
11:00
11:30
12:00
12:30
1:00
1:30
2:00
2:30
3:00
3:30
4:00
3124
Already booked
Customer's chosen slot
Available
1Slots shown to next customer

Settings: Appointment Duration 30 min · Avoid Gaps Longer Than 1 Hour · ASL 4

Interaction 02

Minimize Gaps and the Automated Wait List

Minimize Gaps Enabled

Reduces the number of visible slots shown to customers online

Fewer slots visible

Downstream Impact

Automated Wait List has fewer slots available to match against

Reduced fill opportunities

Design Consideration

Tradeoff acknowledged

Minimize Gaps improves perceived availability and provider efficiency
It also reduces the candidate pool for waitlist matching

Accepted: The efficiency gains outweigh the reduced fill rate

Impact

3,000+ businesses enabled the feature in the first week

Measured in the first week after launch. The idle-time and churn figures are projections from early usage.

93%

User Satisfaction

Of surveyed providers rated the feature positively and said it meets their scheduling needs.

15-20%

Projected idle time reduction

Expected reduction in idle time between appointments for providers who turn the setting on.

3%

Projected churn impact

Projected reduction in churn among providers who cited scheduling gaps as their top reason to leave.

220,000+

Service providers on Vagaro

Minimize Gaps shipped to the full provider base, and 3,000 of them enabled it within the first week.

Reflection

The data made it easy to cut the right half

I had two weeks and had to drop half the feature. Because 70% of the requests were about large gaps, it was obvious which half to ship and which to hold for Phase 2.

The prototype helped as much as the numbers. Stakeholders could move a setting and watch time slots disappear, which was faster than explaining it. I build one now whenever people are arguing about how something will work.

Phase 2 starts with helping clients find other times when their preferred slot is taken.