Several years ago, I worked in an office that had three businesses in it with a shared meeting room. In the early days, when we had email on our server, it was simple enough to create an account for the other two businesses to access the meeting room calendar and ensure there weren’t any conflicts. But, this became quite a challenge when we moved to Office 365 (and we didn’t want to buy a 365 license just so our neighbours could book our meeting room!)
I eventually managed to find a solution that worked really well. Recently, we had a client that was trying to achieve the same solution. After a lot of searching around, I uncovered the way to do this again, so thought it would be useful to share it in a blog.
The first task is to allow anonymous access to the calendar free and busy time (so anyone with the URL can see the calendar or add it in Outlook, but can’t see the meeting details). You can do this by connecting to 365 using PowerShell and running the following command:
Set-MailboxCalendarFolder <Username>:\Calendar -PublishEnabled $true
Where the <username> is the name of the shared resource (in our case “meetingroom”).
Then use the following command to find the URL and check the permission level:
You can see from the screenshot that there are two URLs available for calendar or iCal, which can be added to your favourite calendar app or opened in a browser.
When opening the calendar in a browser, you can see from the screenshot below that free and busy time is visible, but not the meeting details or attendees:
The final thing to do is to allow external recipients to book meetings which can be done using the following command in powershell:
Set-CalendarProcessing -Identity "<resource mailbox name>" ProcessExternalMeetingMessages $True
Now anyone can send a calendar invite to your meeting room mailbox and it will be accepted or rejected if there is a conflict with an existing meeting.