Your calendar isn't Google, but your Thursday at 3 is still blocked: a school pickup, a teaching shift, a standing lunch. A new patient looking at your booking page can't see it. A feed fixes that without moving your calendar anywhere.
Connecting your feed
Google, Outlook and Apple Calendar each publish a private .ics address in their sharing settings. Copy it, open Settings → Scheduling → Providers, and on your own row find Personal calendar. Paste the address and press Connect. Goji fetches the feed right then, so a bad address is reported on the spot instead of silently saving something that never syncs.
Only you can connect your own feed. An owner or admin can't add one on your behalf, because the address is the key to your personal calendar. The row appears once you are assigned to a facility. If you use Google and want it to keep itself current, Google Calendar sync is the fuller version.
How it blocks online booking
Each event's start and end become busy time for you. The public booking page and the patient portal then skip any time that overlaps it, and still offer the time with another provider if one is free. Goji reads the next 120 days, and ignores events that have already ended.
Of each event Goji stores only the start and end times and the event's id from the feed, not its title, guests or notes. The feed address itself is saved so Refresh now can fetch it again.
Staff are not blocked. The Calendar still lets you book any time, with no warning from the feed, because you can see the full picture and decide. The check against a live calendar that Google sync does when you book isn't done for feeds.
Refreshing, and what to expect
There is no background refresh. The feed updates when you connect and whenever you press Refresh now, and the row shows when it last synced. Each refresh replaces what Goji held with what the feed says now, so deleted events stop blocking. If a refresh fails, the row shows Last sync failed with the reason, and the busy time from the last good sync stays in place until a refresh works. Disconnect removes the saved busy time and stops Goji using the feed.
- Repeating events are skipped. A weekly meeting won't block anything, so add those hours as time off or adjust your provider hours.
- Events cancelled in the feed are skipped, and a timed event with no end is treated as an hour.
- All-day events are read as midnight to midnight UTC, and a time without a time zone is read as UTC too, so an event can land a few hours off. Check a first sync against your calendar.
- A feed is limited to 3 MB and 1,000 events, and has to answer within 10 seconds.
- Only http and https addresses are accepted, and not private network ones.
