Calendar feeds
Each team member can subscribe to their own schedule from the calendar app they already use. Their day appears alongside everything else in their life, and it keeps itself up to date.
Subscribing
Open the team member and copy their feed link, then add it as a subscribed calendar in Google Calendar, Apple Calendar or Outlook.
Use the subscribe flow rather than importing the file once. Importing gives you a snapshot that never changes again, which is worse than nothing because it goes quietly stale.
Keeping in step
Move a visit in Upscale and the event moves in their calendar on the next refresh. It does not appear twice. Cancel a visit and the event disappears.
How quickly that happens is up to the calendar app. Google typically refreshes every few hours and this is not something we control.
What an event shows
The client's name and the service. That is all.
It deliberately does not carry phone numbers, email addresses, intake answers, prices, or the names of other people in a class. A class shows a headcount rather than a guest list. These feeds end up on personal phones, so they carry the minimum needed to know what the day looks like.
Treat the link like a password
The link is the only thing protecting that person's diary. Anyone who has it can read their schedule, which is why it is shown on request rather than sitting in the team list.
If a link is shared by accident, reset it. The old link stops working immediately and everyone else's is unaffected.
Archiving a team member stops their feed too, with nothing to reset by hand.
About two way sync
These feeds are one way: Upscale to their calendar. Blocking time in Google will not block time in Upscale. Two way sync is not built yet. Use time off to make someone unavailable.