Hello,
You’re correct that on a personal Bookings page, you can configure service-specific availability (for example, “In-person” vs. “Virtual”) and block out days accordingly. However, in shared Bookings pages, the current version of Microsoft Bookings does not natively support setting different availability per staff member per service type. Availability in a shared Bookings calendar is defined globally per staff member, not per service.
Here are a few practical workarounds:
Duplicate services, as you’ve already done (“In-person” and “Virtual”), and manage staff availability manually by toggling staff assignment under each service. For example, mark a staff member as available only for “Virtual” services on remote days.
Use separate Bookings pages — one for “In-person” appointments and one for “Virtual.” This offers clearer management and automatic filtering by service type, though it means maintaining two links.
Integrate with Outlook calendars: Encourage staff to mark their remote days as “Out of Office” or “Working Elsewhere.” Bookings respects staff availability from Outlook, so those slots will automatically be removed from available times.
If your organization uses Microsoft Teams Premium, you can also leverage virtual appointment templates, which streamline scheduling and joining via Teams while tracking staff availability.
At the moment, there’s no built-in toggle for per-service staff availability in a shared Bookings page, but the product team is aware of this limitation — I recommend submitting feedback through the Microsoft Feedback Portal directly from your Microsoft 365 Admin Center to help prioritize this enhancement.
Please give these options a try and let me know which one fits best for your team’s workflow. If you find this explanation helpful, please click “Accept Answer” — it helps others in the community find the same solution more easily 🙂
Best regards,
VP