By the Riverd Editorial Team. Last updated: 2026-06-16.
Most solo wellness providers double-book themselves the same way. Personal life lives on Google Calendar, the booking page lives in a separate app, and the two never talk. So you take a Saturday afternoon client, then realize your kid's soccer playoff is on Google Calendar at 2pm. The result is the same calendar-induced apology email every time. This piece is about how to stop that pattern, including how a small change called two-way calendar sync removes most of the cause.
This is for solo and small-practice providers (massage therapists, therapists, trainers, acupuncturists, estheticians) who want one source of personal time and one source of work bookings without typing every appointment twice.
Why personal-versus-work calendar split happens
Most providers did not plan a two-calendar life. It happened because the tools sit in different places. Personal events go in Google Calendar because Google Calendar is on your phone, your laptop, and your partner's phone. Bookings go in a scheduling tool because that is where the public booking page and the SMS reminders live.
The split is not the problem. The problem is the gap between the two. Here is the typical setup that creates double-bookings:
- Personal life on Google Calendar (kid pickups, dentist, yoga, family dinners).
- Bookings on a scheduling app like Calendly, Acuity, MassageBook, or Riverd.
- A one-way iCal feed from the scheduling tool into Google Calendar so you can at least see your work bookings on your phone.
- Nothing reading the other direction.
That last line is where the double-booking comes from. Your booking page does not know about your kid's soccer playoff. So at the moment a client tries to book Saturday at 2pm, the slot looks open. There is no signal anywhere in the system that says "this provider is unavailable."
The honest fix used to be: add every personal event into the scheduling tool's blackout dates UI, by hand, twice. Most providers stop doing that within two weeks because it is tedious and easy to forget.
The three workable fixes (and which one actually works)
There are three ways to stop the double-bookings, ranked from worst to best.
1. Discipline. Add every personal event into both calendars. This is what most providers default to. It works in theory and breaks in practice. Anything you forget to enter twice becomes a double-booking. Recurring personal events (a Tuesday yoga class, a Wednesday school pickup) are easier because they only get entered once. One-off events (a doctor's appointment three weeks out, a friend's wedding) are where the misses happen.
2. A separate calendar app for everything. Some providers move their personal life into the scheduling tool's calendar view too, so there is only one source. This works if the scheduling tool has a real calendar (most do not, they have a booking grid). And it means your partner cannot see when you are free for dinner.
3. Two-way calendar sync. Connect Google Calendar to the scheduling tool once. The scheduling tool reads your Google events as busy time and pushes its own bookings back into Google. One source of personal time. One source of work bookings. No double-entry.
The third option is the only one that scales past 10 to 15 weekly bookings without something falling through the cracks. It is also the option that most legacy scheduling tools either do not have or charge extra for. Calendly and Cal.com have it. Acuity has it. Riverd added it in June 2026.
What "two-way" actually means in a scheduler
Two-way is a specific term and worth being precise about, because the marketing pages on competing products use it loosely.
Read direction (the scheduler reads from your Google Calendar). Personal events on Google show up inside the scheduling tool as unavailable time. The booking page hides those slots. This is the half that prevents most double-bookings.
Write direction (the scheduler writes to your Google Calendar). New bookings, reschedules, and cancellations get pushed into Google Calendar within seconds. This is the half that lets you check your day without opening the scheduling app.
Both halves matter. A "sync" that only writes one way (which is what a one-way iCal feed actually is) does not stop double-bookings. It just shows you where the conflict is going to happen, after a client has already booked it.
A few specifics to look for when comparing tools:
- Speed. iCal subscription feeds refresh every 12 to 24 hours. That is too slow for a same-day booking. Real two-way sync uses Google's API and webhooks, so changes propagate within a minute. Riverd uses webhooks for inbound and an async write queue for outbound (see the calendar sync feature page for how this is built).
- What the scheduler reads. Some tools read full event titles and descriptions. Some read only free or busy time. The free-or-busy default is more private and is what we believe is appropriate for a clinical practice. The companion piece on calendar privacy for wellness providers goes deep on this.
- How conflicts are handled. When a personal event lands on top of an existing client booking (you accept a school event after the booking is already on the books), what does the system do? Riverd keeps the client booking and shows you a banner so you can decide. Some tools silently double-book. Some auto-cancel one side, which is worse.
For more on the operational side of running a tighter solo practice, the practice growth hub collects related pieces on scheduling, pricing, and retention.
The 15-minute setup playbook
If you decide to fix this today, here is the path. Numbers assume Riverd, but the order is similar for any tool with two-way Google Calendar sync.
-
Pick the calendars on Google that count as your "busy time." Most providers pick their primary calendar plus any shared family calendar. Skip work-related Google calendars that already represent client bookings, otherwise you will create a feedback loop.
-
Pick the one Google calendar that should receive your bookings as events. Most providers use their primary calendar. A few separate work and personal by writing bookings into a "Work" Google calendar so partners only see "Busy" on the family calendar.
-
Connect via Google OAuth in the scheduling tool. Riverd's connect button lives at
/dashboard/provider/schedule. The OAuth handshake takes about 30 seconds. (The configuration card is visible to free-tier providers but the OAuth connection is paid-tier only; see the calendar sync feature page for current tier details.) -
Watch the first sync land. Existing future bookings should appear inside Google Calendar within a minute or two. Test by adding a personal event in Google for a slot you currently show as available, then refresh your public booking page. The slot should disappear.
-
Decide what to do with your old blackout-date list inside the scheduling tool. Most providers leave it as is for one-off overrides (a vacation block, a "no Mondays" rule) and rely on Google for everything event-shaped. The two coexist fine.
That is the setup. The behavior change is the harder part. After two-way sync, the rule becomes: every personal event goes on Google. Period. If it is on Google, the booking page knows. If it is not on Google, the booking page does not. There is one place to remember.
Key takeaways
- Most double-bookings happen because personal events live on Google Calendar and the booking page cannot read them. The scheduling tool only writes one way.
- The three fixes are: enter everything twice (fragile), move all of life into the scheduling tool (impractical for shared families), or use two-way calendar sync (the workable answer).
- Real two-way sync uses Google's API and webhooks, propagates within a minute, and either reads full event titles or just free or busy time. The privacy default matters; Riverd reads free or busy only.
- Setup takes about 15 minutes. The behavior change after that is one rule: every personal event goes on Google.
[HERO IMAGE NEEDED: A solo provider's phone or laptop showing a Google Calendar week view in soft natural light. Two clear visual layers: muted personal events (e.g. "Yoga", "School pickup", "Dentist") plus brighter session blocks ("Client session"). Concrete objects only, no readable text on faces of devices, no people as focal subject, no stock-cheese desk-and-mug shot. 16:9 landscape, calm Nordic light, wabi-sabi or documentary 35mm style.]
Ready to simplify your practice? Start Free →
