Scheduling

Facilities, services & providers

Set up where you operate, what you offer, and who's bookable — before anyone touches the calendar.

Scheduling lives under Settings → Scheduling — it's the configuration behind the Calendar, not something you visit day to day. Set it up once per facility/service, then book from the Calendar.

Facilities

A facility is a physical location — “Downtown clinic,” a home office, a second office across town. Each one has its own time zone, which is what every appointment at that facility is booked and displayed in.

Open to public booking controls whether a facility can appear on the public booking page at all — turn it off for a location you don't want strangers booking into (e.g. a home office), while still using it for staff-booked appointments on the Calendar. On by default for a new facility.

Resource types & rooms

A resource type (e.g. “Treatment room”) is what a service actually needs — a specific room just gets tagged with the right type. This lets the booking flow search “any free room of this type” instead of you having to name a specific room every time you add a service.

Services

What you sell — a name and a duration in minutes, at minimum. Each service can be offered at a subset of your facilities, can require a specific resource type, and can require one or more forms before booking.

The optional booking hint is a short line shown under the service name on the public booking page — useful when the name alone doesn't tell two similar services apart (e.g. “38+ weeks — bring your OB's OK” on a labor-induction service).

A service can also pick its own chart template — which fields a session booked for it is charted on. The option only appears once you've built a second chart under Settings > Charting; until then every service follows the practice default. Sessions already charted keep the template they were created with, so changing this only affects new ones.

Each facility has an Address & billing section (collapsed until you open it) holding its street address, its place of service code, and — only if you need them — billing overrides. The address is what patients see on booking confirmations and what a superbill prints as the place where treatment happened.

Note

The Billed under fields there are blank for almost everyone. Leave them empty and this location bills under your practice details from Settings > Billing. Fill in just the ones that differ — a second location that bills under its own address but shares the practice phone only needs the address. A line under the fields always spells out what a superbill for this location will actually say.

Editing a service also offers an optional treatment time next to its duration and buffers. It changes nothing about scheduling — it's how much of the slot is typically hands-on contact, used only to suggest CPT units on a superbill. Set it when a slot routinely includes intake or rest time (a 60-minute visit with ~45 minutes of actual treatment); leave it blank to treat the whole scheduled duration as treatment time.

Note

The allow overlap toggle on a service is for things like needling-and-rest, where a practitioner legitimately runs this appointment alongside another overlap-eligible one. Leave it off for anything that needs your full attention — a new appointment for that service will never be allowed to double-book you without an explicit override on the Calendar.

Providers

Assigning a facility to a member is what makes them bookable there at all — it also gives them a booking slot, so they can start receiving appointments right away. Every practitioner is currently assumed able to perform every service the org offers; restricting specific providers to specific services isn't built yet.

Weekly hours

A facility needs regular weekly hours set — Set weekly hours under the facility — before any time can be offered on the public booking page. The Calendar doesn't need this (staff pick any time freely), but a self-service booker does: nothing shows up as bookable outside hours the facility is actually open.

A provider follows the facility's hours automatically until they're given hours of their own — most practitioners work whenever the practice is open, so there's nothing to set up by default. Open Set weekly hours under a specific provider only when they work fewer days or different hours than the facility, and save — that becomes their own explicit schedule going forward. Clearing every day there goes back to following the facility.

Note

Only the permanent weekly schedule lives here. One-off exceptions — a holiday, a vacation week, a provider's Tuesdays off — are still set from Take time off on the Calendar, not here.

Booking access

Booking access controls the two patient-facing booking channels at the practice level: anonymous public booking and authenticated patient portal booking. These switches sit above the granular facility/service/provider setup, so you can pause a whole channel without losing the underlying schedule configuration.

Booking rules

Booking rules controls how far ahead patients can book, how much notice they need to give, how long a public booking hold lasts while they confirm, and when staff see the extra late-change warning for cancellations or reschedules.

Connecting a personal calendar

Under your own row in Providers, Personal calendar lets you paste your calendar app's own secret .ics feed URL (Google, Outlook, and Apple Calendar all publish one under their sharing settings) so public booking won't offer a time you're already busy at outside this app. Only you can connect your own feed — not an admin on your behalf, since it's your personal calendar's address.

This only updates when you hit Refresh now — there's no automatic background sync yet, so a feed can go stale until someone refreshes it. It also only affects the public booking page; the Calendar you and staff use directly still shows every time freely, the same as always.

Connecting Google Calendar

Below your personal calendar feed, Google Calendar connects your own Google account — a fuller alternative to the .ics feed above. It syncs within minutes instead of only on refresh, and it can push your bookings from this app onto your Google Calendar so they show up on your phone. Only you can connect your own account, the same as the feed above; you can connect more than one calendar (a work one and a personal one, say) if you want both watched.

Each connection has a Push my bookings to this calendar toggle. Leave it on and a confirmed appointment appears on that Google Calendar automatically, and moving or cancelling it here updates or removes the Google event too. Turn it off and the connection only reads your busy time — your bookings stay private to this app, the same privacy trade-off as the .ics feed.

Note

Google Calendar only appears once the deployment has its Google OAuth credentials and calendar secrets configured. Before then, this section stays in setup-pending mode.

Note

If you edit or delete one of your pushed appointments directly in Google, this app never silently changes the appointment to match — you'll see a Calendar changed externally flag on it in the Calendar so you can decide what to do, rather than having it move or disappear on its own.