How Booking Calendar Synchronization Works

Booking calendar synchronization explained: one-way feeds, two-way sync and add-to-calendar links, why synced calendars lag by hours, and why that double-books.

Cover reading Booking Calendar Synchronization, Feeds vs. Two-Way Sync, with icons for Feed, Two-way, Add to calendar and Refresh, beside a calendar feed switch and URL, a new booking flowing one way into a phone calendar that also holds a personal dentist appointment, a crossed-out return arrow, and a card saying Outlook on the web refreshes about every 4 hours.

A stylist adds a dentist appointment to their Google Calendar for Thursday at 2:00 PM. Their booking system is “synced with Google Calendar,” so they assume the slot is gone. On Thursday at 2:00 PM there’s a customer in the chair, booked online on Monday. The booking calendar synchronization they set up was real; it just only ran one way.

“Sync” gets used for three different things in booking systems: a calendar feed that copies bookings out, two-way sync that also reads your calendar back, and add-to-calendar links that hand a customer a one-off copy. They look the same from the calendar app and behave very differently. Most double bookings blamed on calendar sync come from expecting one kind to act like another, or from forgetting that a subscribed calendar refreshes hours later, not when the booking is made.

We build Schedopia, a free, self-hosted WordPress booking plugin with a one-way feed and no two-way sync yet, so we have a stake in how this is explained. The mechanics below apply to any booking system.

What is booking calendar synchronization?

Booking calendar synchronization is any arrangement that copies appointments between a booking system and a calendar app such as Google Calendar, Outlook or Apple Calendar, so the same bookings show in both. It comes in three kinds:

Kind Direction How it works How fast Blocks booking times?
Calendar feed Booking system to your calendar Your calendar app re-downloads a file from a private address When the app gets round to it, often hours No
Two-way sync Both ways The booking system connects to your Google or Microsoft account Much faster, and changes flow both ways Yes
Add-to-calendar link One booking to the customer’s calendar The customer clicks a button in an email Once No

Knowing which one you have answers most “why didn’t it sync?” questions before they’re asked.

How a one-way calendar feed works

A calendar feed is a file in the iCalendar format (the .ics format every calendar app reads) that the booking system keeps up to date at a private web address. You paste that address into your calendar app as a subscription (“From URL” in Google Calendar, “Subscribe from web” in Outlook), and the app downloads the file, shows its events, and downloads it again later to pick up changes.

The “later” is set by the calendar app, not the booking system. Microsoft says calendars added in Outlook on the web “sync approximately every four hours” (Microsoft Learn, checked on October 29, 2026). Apple Calendar on a Mac lets you choose the interval for each subscribed calendar under Get Info → Auto-refresh (Apple Support, checked the same day). Google’s help page on adding a calendar by link doesn’t give an interval at all (Google Calendar Help, checked the same day), so plan on hours, not minutes. A feed can suggest how often to check, but the app is free to ignore it.

Two things follow. A feed is for seeing your day in the calendar you already use, not for stopping double bookings. And because the address alone gives access, a feed URL is a password: anyone who has it can read the calendar.

How two-way calendar synchronization works

Two-way calendar synchronization connects the booking system to your calendar account itself, with your permission, so it can read your calendar as well as write to it. Instead of publishing a file and waiting to be fetched, the booking system talks to the calendar provider directly.

With Google Calendar, for example, a booking system can ask for the busy times on a calendar before it offers slots, using Google’s free/busy query, and ask Google to notify it when a calendar changes rather than checking over and over (both checked on October 29, 2026). Microsoft offers the same kind of connection for Outlook. That’s what makes the stylist’s dentist appointment remove the 2:00 PM slot from the booking form.

Two-way sync costs more than a feed in a few ways:

  • Each person connects their own account. A team of six means six sign-ins, and a connection that expires or gets revoked quietly stops blocking time.
  • The booking system can see your calendar. Many tools only use the free and busy times, but the access is to the account.
  • Conflicts need a rule. If a booking is moved in the booking system and the copy in Google Calendar is edited at the same time, one of the two changes has to win.
  • Personal and work calendars mix. Every private event on a connected calendar becomes busy time, which is the point, until a reminder to call your mom blocks a slot.

An add-to-calendar link gives a customer a one-off copy of their booking in their own calendar. The Google and Outlook buttons open a new event already filled in with the date, time and service; the Apple or .ics button downloads a file the calendar app imports. Either way, the customer’s calendar now holds a copy that the booking system can’t reach.

So if you move or cancel a booking, the copy stays where it was until the customer changes it. The fix is in the emails: the confirmation, reminder or cancellation that goes out after the change tells the customer what’s true now.

Why synced calendars still cause double bookings

Synced calendars cause double bookings when people trust the calendar app more than the booking system. Four causes account for most of them:

  • Expecting a feed to work both ways. An event added in Google Calendar doesn’t block anything in a booking system that only publishes a feed.
  • Refresh lag. A booking made online at 9:05 AM might not reach Outlook until the afternoon. Someone who checks Outlook at 10:00 AM, sees 11:00 AM free and takes a phone booking for it has double-booked from a calendar that was out of date.
  • Booking in the wrong place. A booking typed straight into the calendar app never reaches the booking system, so the booking form keeps offering that time.
  • The wrong time zone. If the booking system and the calendar app disagree about your time zone, every event lands an hour or more out.

The rule that prevents all four: make bookings and block time only in the booking system, and use the calendar app for looking.

Which kind of synchronization do you need?

Most small businesses need a feed and add-to-calendar links, and only some need two-way sync. Pick by where your time actually gets decided.

  • Your working time lives in the booking system (shifts, breaks and days off are set there): a one-way feed is enough to see bookings next to the rest of your life.
  • Your working time lives in Google Calendar or Outlook (a consultant whose meetings, school runs and travel are all in one calendar): two-way sync is worth paying for, because entering every one twice is how double bookings happen.
  • Your customers forget appointments: add-to-calendar links in the confirmation and reminder emails, whichever of the above you choose.

How Schedopia handles calendar synchronization

Schedopia has a one-way calendar feed and add-to-calendar buttons, and no two-way sync, as of version 1.5.1.

The calendar feed is off by default. Switch on Enable the feed under Settings → Calendar, copy the feed URL, and subscribe to it in Google Calendar, Outlook or Apple Calendar. Rotate URL issues a new address and stops the old one at once, if it ever leaks.

Schedopia's Settings, Calendar card: Enable the feed switched off, described as a private .ics URL for Google, Apple or Outlook calendars that only flows one way, Add to calendar buttons in emails switched on, a Feed URL field with a Copy button, a Rotate URL button, and a note that customer names are not included but titles, staff and times are.
The feed is one switch and one address. The note under Rotate URL says what anyone holding the address could see: titles, staff and times, but no customer names.

The feed holds one calendar for the whole business, covering pending, confirmed and completed bookings from 30 days back to a year ahead, up to 500 of them. Each event is titled with the service or event, with the booking reference and the staff member in its description. Pending bookings are marked tentative, and canceled bookings drop out at the next refresh. The feed asks calendar apps to check every hour; whether they do is up to them.

Add-to-calendar buttons for Google, Outlook and Apple go in the confirmation and reminder emails. The Apple / .ics file is served from your own site. The Google and Outlook buttons are links to those services, which receive the service, your business name and the staff member’s name if the customer clicks; switch the buttons off under Settings → Calendar if you’d rather not send customers there.

A booking confirmation email from Aurora Hair and Beauty headed You're all set, for booking 57, a Hot Stone Massage on September 28 2026 from 10:00 to 11:30 AM in America/New_York with Marcus Bellamy, 95 dollars, with Add to calendar buttons for Google, Outlook and Apple / .ics and a link to cancel up to 24 hours before.
The add-to-calendar buttons give the customer a copy of this booking. If you move it later, the reminder for the new time carries fresh buttons.

Moving a booking doesn’t email the customer in Schedopia 1.5.1. The reminder is re-armed for the new time and carries new calendar buttons, but the copy already in the customer’s calendar stays at the old time. Tell the customer yourself when you move one.

What Schedopia’s calendar sync won’t do

Schedopia’s calendar sync covers seeing bookings in your calendar and helping customers remember theirs. These are the gaps, as of version 1.5.1:

  • No two-way sync. Events in Google Calendar or Outlook don’t block slots. Two-way sync is planned for Schedopia Pro, which isn’t on sale yet.
  • Days off block whole days only. Set a day off for one person or the whole business under Scheduling. For a one-off hour, such as the dentist, the workaround is a booking of your own in that slot from New booking, which then counts in your booking numbers.
  • One feed for everyone. There’s no feed per staff member; each person who subscribes sees the whole business.
  • Refresh is up to the calendar app. The feed asks for hourly checks, but Outlook, Google and Apple decide.

If your working time lives in Google Calendar or Outlook and you can’t enter it twice, a booking tool with two-way sync will suit you better today.

Where to start

Today, open your calendar app and check which kind of sync you have. If your bookings arrive in a calendar you subscribed to by URL, it’s a feed: nothing you add in that app blocks a booking, so put your next day off into the booking system itself. In Schedopia, that’s Scheduling; the Scheduling docs cover days off, and the calendar feed docs cover subscribing in each app.

Frequently Asked Questions

What is booking calendar synchronization?

Booking calendar synchronization copies appointments between a booking system and a calendar app such as Google Calendar, Outlook or Apple Calendar. It comes in three kinds: a one-way calendar feed, two-way sync through the calendar provider's API, and add-to-calendar links that give a customer a one-off copy of a booking.

What is the difference between one-way and two-way calendar sync?

One-way sync shows your bookings in your calendar app and nothing more. Two-way sync also reads your calendar back, so an event you add in Google Calendar or Outlook removes that time from the booking form.

Why isn't a new booking showing in my Google Calendar yet?

Usually because the feed hasn't refreshed. A calendar you subscribe to by URL is re-downloaded on the calendar app's schedule, not when the booking is made, so a new booking can take hours to appear.

How often do subscribed calendars update?

It depends on the calendar app. Microsoft says calendars added in Outlook on the web update approximately every four hours, Apple Calendar on a Mac lets you choose the interval per calendar, and Google doesn't publish an interval for calendars added by URL.

Will an event in my Google Calendar block that time in my booking system?

Only with two-way sync. With a one-way calendar feed, which is what Schedopia has, an event you add in Google Calendar doesn't block anything; block the time in the booking system itself.

Does Schedopia sync with Google Calendar?

One way. Since version 1.2.0, Schedopia can publish a private calendar feed that Google Calendar, Outlook or Apple Calendar subscribe to. It doesn't read your calendar back; two-way sync is planned for Schedopia Pro, which isn't on sale yet.

Is a calendar feed URL safe to share?

No. Anyone with the address can read the calendar, so treat it like a password. If it leaks, rotate it in the booking system and subscribe again with the new address.

Do customers' calendars update when I move a booking?

Not when they added it with an add-to-calendar button, which saves a one-off copy. In Schedopia, the reminder email for the new time carries fresh calendar buttons, but the old copy stays in the customer's calendar until they remove it.

Keep reading

More from the blog

All posts
  1. A seat map of the Stalls with Premium and Standard tiers and two seats selected, beside a service with a capacity of 20, under the title Reserved Seating vs. General Admission: Which is better for your event?

    Opinion7 min read

    Reserved Seating vs. General Admission: Which Is Better for Your Event?

    Reserved seating vs general admission: when a seat number sells better, when an open room holds more people, and how to choose for a theater, hall or class.

  2. Cover reading AI Appointment Scheduling, The AI asks, the system decides, with icons for Ask, Check, Book and Log, beside an AI assistant chat booking Sam with Maya on Thursday at 3 PM, the resulting booking marked Slot free and Confirmed, and AI tool switches with List bookings and Create booking on and Delete a booking off.

    Opinion9 min read

    AI Appointment Scheduling: How AI Is Changing Booking Management

    AI appointment scheduling without the hype: where AI helps a small business with bookings today, where it promises what you don't offer, and how to keep it in check.

  3. Cover reading Automated vs. Manual Scheduling Pros and Cons, with icons for Phone, Diary, Online and Approval, beside a handwritten appointment book page labeled Manual, a Require approval for new bookings switch turned on, a booking form labeled Automated with 11:30 AM selected, and a Request received card pending approval.

    Guide9 min read

    Automated vs. Manual Appointment Scheduling: Pros and Cons

    Automated appointment scheduling vs doing it by hand: the real pros and cons of each, when manual still wins, and how to automate the routine and keep judgment.

Take your first booking today

Install Schedopia from WordPress.org, run the setup wizard and paste one shortcode. Free, self-hosted, no per-booking fees.

  • Free from WordPress.org
  • Data stays on your site
  • Ten-minute setup