Quick answer
A booking link should sync the minimum calendar data needed to avoid conflicts and create confirmed events. It should not expose private event details to guests or other members.
In most cases, free/busy availability is enough to decide whether a slot can be shown.
Free/busy is the important signal
A calendar availability check does not need to reveal the title, description, attendees, or content of private events. It needs to know whether a member is busy during a proposed time range.
That distinction matters. Guests should see available slots, not the host's calendar.
Members should choose selected calendars
Many people have multiple calendars: work, personal, family, side projects, or shared calendars. A booking link should let each connected member choose which calendars count for availability.
Owners do not need to manage other members' calendar lists. Each member can control the calendars that protect their own time.
Safe failure matters
If Google availability cannot be checked safely, the booking link should prefer showing no slots over showing stale or risky availability.
This is a product trust decision. It is better to ask the guest to try again than to create a double booking because cached availability looked convenient.
What should be written back
After confirmation, the calendar event should contain enough detail for the host and guest to act on it: guest name, meeting mode, time, location for in-person meetings, and a conferencing link for calls when available.
The event should be readable without turning into a data dump.
Create a booking link that stays quiet
rdv.coffee keeps calendar scheduling minimal, readable, and safe by default.