I have a personal Google calendar, associated with my own personal Google account, and a work Google calendar, as part of my office's Google Apps setup. Whenever co-workers of mine try to schedule appointments with me, they don't see my personal calendar show up as "busy" times. I've been able to share my personal calendar with my work account, and I can see the calendar there and view appointments, but none of my personal appointments appear as busy times when a co-worker tries to schedule an appointment. Is there a way to set this up?
Both your calendars are distinct, even if your personal calendar is shared with your Google Apps account.
Unfortunately, there is no native way to share a common busy/available status merged from 2 calendars with your co-workers.
See this answered on google forums validated by a Google Team member
I think only a free/busy consolidated calendar will work for you. You could create yet another additional calendar just for this purpose and copy all events to it though not really practical so I think only an introduced feature "all calendars as one" in Gcal could cater for this.
Here are 4 workarounds: None of them are perfect, but they can fulfill your requirement : to make sure your coworkers don't schedule a meeting in your PRO calendar when you are busy in your PERSONAL calendar.
Share your personal calendar with your coworkers, and teach them how to look at your availability in both your calendars. (quite tedious, and practically unusable if many co-workers)
Each time you create a new event in your personal calendar, duplicate the free/busy status by inviting your GoogleApps account to the event. The easiest way.
Sync automatically both calendars, with Google App Script , or using a third-party service. Eg : https://syncthemcalendars.com
Publish both calendars in a schedule service , like https://calendly.com/ , that can expose several calendars at the same time, so your coworkers pick a schedule in it instead of calendar. Not very practical for internal use, but efficient for exposing availability to an external user.