Calendar database for User and End Users?

Hi all, I’ve search for 2 days. How do you manage calendar events and calendar days for user (client) and End Users (professional) ?
Let’s say, “A” & “D” are a professionals. “A” can create events calendar for “B” et “C”. But “B” and “C” can create events in the agenda of “A” although “B” can’t see the details of events created by “C” and vice versa.
“D” can do the same for “F” & “G” but they can’t see the details of each other.
But, “X” & “Y” can see available time slots in the agenda of “A”, then they can create their meetings with “A” too.
However, “A” (professional) can’t see the agenda of “D” (professional).
I’m trying to find a way to explain, if its not clear, let me know.

How to set the database and the privacy or contraints? Do you create tow different calendars? I created one and can’t set all the privacy rules.

Thanks in advance.