LocalVisits
Scheduling That Feels Familiar
A scheduling dashboard built on the calendar model partners knew, leading with an agenda on mobile and the full grid on desktop.
Customers of OneLocal’s partner businesses booked appointments by phone. The User App replaces that with a 5-step web flow themed end-to-end to match each partner’s brand.
Section 01
Many of our partner businesses still relied on a lot of manual coordination to handle bookings. It works, but like most things that are manually done, it's not scalable. Customers wanted to book services quickly, on their own time, without waiting on calls.
LocalVisits focused on giving their customers a clean, web based booking experience that felt simple, friendly, and familiar. Most importantly, it didn't require waiting on the phone. Whether someone was booking a dental appointment, or a haircut, the goal was the same. Make the process fast, intuitive, and stress free.
As OneLocal's sole designer, I designed the consumer booking experience along with the companion business dashboard that powered it behind the scenes.
Booking still ran on manual back-and-forth. It worked, but it didn’t scale, and customers wanted to book on their own time without waiting on a call.
Section 02
Our users were customers booking haircuts, dental visits, and everything in between. The needs were surprisingly consistent:
I received partner insights through our account managers, who worked closely with local businesses and helped translate real operational needs.
Section 03
The goal was to guide people through a simple, predictable flow that feels comfortable whether someone is tech savvy or not. Most customers just want to choose a service, see what times are available, and confirm their details without overthinking the interface. I kept the steps focused and familiar, showing availability early and using clean layouts that make each decision feel natural.
Before designing the flow, I looked at how the booking tools people already trusted handled it, mostly JaneApp and Mindbody. I didn't want to reinvent anything. Those patterns were familiar for a reason, so I stayed close to them and let the experience feel recognizable from the first screen.
The result is a straightforward journey: choose a service, pick a staff member, select a time, and confirm your details. A reminder goes out automatically, and on the business side, owners can view and manage bookings directly from their dashboard. It keeps the experience lightweight for customers while reducing the amount of messages for business owners.
One flow could work for dental offices, salons, and wellness clinics, because underneath it all they were doing the same thing: booking an appointment. The differences lived on the business side, so that's where I put them. Partners could hide or edit pages in the flow to match how they actually worked, which kept the customer's path simple instead of cramming every business's quirks into it.
I was building both sides of LocalVisits at the same time, the customer flow and the business tools, as the sole designer working with 2 developers, one on the consumer side and one on the backend. It also had to live inside OneLocal's existing platform and match what was already there. All of that pushed me toward a flow that was dependable and conventional, and toward handling each business's differences through settings instead of a more complicated interface.
Section 04
The mobile experience was designed for quick, on-the-go booking. Most customers were already used to doing everything from their phone, so the flow focuses on a small number of clear steps: choose what you need, see when it's available, and confirm. Each screen keeps the layout focused and familiar, so booking an appointment feels fast and lightweight instead of like filling out a long form.
Section 05
On desktop, the same journey is adapted to a larger canvas, giving customers a bit more room to review details before confirming. The steps stay consistent with mobile: select a service, pick a time, add your information, and finish. The layout makes it easier to scan, compare options, and feel confident about the booking from start to finish.
Section 06
Every booking triggered a matching transactional email, designed with the same clarity and lightness as the product itself. Four core templates cover the full lifecycle of a booking.
Section 07
Because this product was white labeled, it needed to adapt to any partner's brand tone and colors. We set default styles that felt clean and modern, and during onboarding, our account managers selected colors with partners so the product felt like a natural extension of each business. No complicated theme system, just thoughtful styling that worked for everything from beauty salons to auto shops.
EXAMPLE PARTNER
Soft, calming palette with warm accent, tuned for healthcare clients where trust and clarity matter most.
EXAMPLE PARTNER
Clean, clinical blues with bright accents, reinforcing professionalism and modern care.
EXAMPLE PARTNER
Grounded earth tones with a confident accent, approachable for a specialty practice.
EXAMPLE PARTNER
Bold, expressive palette with a pop of accent, energetic for beauty and lifestyle brands.
Section 08
The team shipped LocalVisits to beta partners. What the design enabled showed up quickly:
Without formal analytics back then, the clearest signal came from the people closest to it. Partner feedback was promising, account managers were hearing good things, and usage kept growing as more customers booked through LocalVisits. Measured properly today, I'd watch rebooking rate, to tell whether the experience was good enough to bring customers back, and time to complete a booking, to confirm people moved through the flow instead of getting stuck.
Most of these partners were only starting to move off manual workflows, so the booking flow had to win trust through clarity, not features. I mapped the journey before designing a single screen, and building the customer flow and the business dashboard in parallel meant designing the customer's path and the owner's tools as two halves of one product.