Microsoft Office 365 requires global administrator level permissions for a service account to handle room booking and check-in across an organization.
However, if you do not wish to use global permissions, you may now configure the booking functionality using a user account, with access to book only rooms that have been delegated to the this user account.
This article provides the instructions to configuring the room booking service for the Microsoft Office 365 Calendar data provider with user privileges, for our room scheduling cards (Room Schedule and Schedule Board cards).
To setup your room booking service, you must first configure the calendar data provider settings and then create the room scheduling card. Once the card has been configured, you then need to add the card to a playlist channel and publish the channel to a registered device installed with the Appspace App.
The instructions in this article must be completed first by an Office 365 Administrator prior to configuring room scheduling cards in the Appspace console.
Follow the instructions in the order listed below:
- A. Create a booking account in Office 365
- B. Configure resources (meeting rooms) in Office 365
- C. Delegate access for resource’s calendar to booking account
- D. Configure resource calendar permissions
- E. Allow booking account to impersonate the resource for direct check-in
- F. Configure Room Schedule/Schedule Board card model.json file
A. Create a booking account in Office 365
We recommend creating an account in Office 365. This account will be used for authentication when configuring the room scheduling card. We will call this the booking account.
- To create the booking account, follow the instructions in the Add users individually or in bulk to Office 365 article:
- Add the basic account information, such as:
- Proceed to section B below.
B. Configure resources (meeting rooms) in Office 365
All meeting rooms in an organization are known as resources in Office 365. Follow the instructions below to configure all resources available in your company:
- Follow the instructions in the Room and equipment mailboxes article: https://support.office.com/en-us/article/room-and-equipment-mailboxes-9f518a6d-1e2c-4d44-93f3-e19013a1552b#ID0EABAAA=Set_it_up
- Once the account is created, navigate to Resources > Rooms & equipment.
- Click the room name, and click Edit in the Booking options section.
- Ensure the Auto accept meeting request option is turned On.
- Proceed to section C below.
C. Delegate access for resource’s calendar to booking account
You now need to provide your booking account with access to each meeting room’s calendar, a process known as delegate access. This will allow the room scheduling card to make bookings on Microsoft Outlook Calendar via the booking account that is used to authenticate calendar access.
- Sign in to Office 365 admin center (https://portal.office.com) with your Global administrator credentials.
- Navigate to Resources > Rooms & equipment.
- Click the room name, and click Show all in the Delegates section.
- Click + Add delegates, and select your booking account.
- Click Save.
- Click Edit Exchange settings, and click booking delegates, and ensure the following settings:
- Click Save, and click Close.
- Repeat the above steps for all resources (meeting rooms).
- Proceed to section D below.
D. Configure resource calendar permissions
You would now need to configure the meeting room’s calendar to allow the room scheduling card to retrieve and display event information of the meeting room.
To configure Office 365 resource scheduling permissions, follow the instructions below:
- Sign in to Office 365 with your booking account credentials.
- Go to the Office 365 Calendar, click your name in the top right corner, and select Open another mailbox from the drop-down list.
- Enter in the resource name, and click Open. The resource account opens in a new tab.
- Navigate to the resource account Calendar, and right-click on Calendar, select Sharing and permissions.
- Enter in the email of the booking account in the Send a sharing invitation in email to share the calendar. Select Delegate from the drop-down list, and check the Let delegate view private events checkbox.
- Click Share, and click Done.
- Once done, navigate back to the email tab for the booking account, and accept the calendar invitation that was sent from the resource account.
- Proceed to section E below.
E. Allow booking account to impersonate the resource for direct check-in
These instructions allow the booking account to impersonate the resource (meeting room); this is necessary for direct check-in on a tablet/device.
- Sign in to Office 365 Exchange admin center with your Global administrator credentials.
- Click Roles > Admin Roles, and click Add role group to add an Admin role group.
- In the Basics window, enter in the Name of the role group, and Write Scope., and click Next.
- In the Edit permissions window, and select ApplicationImpersonation, and click Next.
- In the Assign admins window, and select the booking account created earlier, and click Next.
- Review the role group, and click Add role group to finalize.
- Proceed to section F below.
F. Configure Room Schedule/Schedule Board card model.json file
These instructions allow the Room Schedule/Schedule Board card to authenticate using a booking account with user privileges. This is required as the default card template can only be authenticated using a booking account with admin privileges.
- Login to the Appspace console.
- Navigate to System > Cards from the Appspace menu on the left navigation bar, and click the Template tab.
- Select and download the Room Schedule/Schedule Board card template (template.zip).
- Extract the model.json file from the card template (template.zip) file, and add the following code to the model.json file in the following section: “scope”: “offline_access openid profile Calendars.ReadWrite.Shared”,
- Once complete, compress the model.json file back into the card template (template.zip), and upload it back to Cards.
- Proceed to create a Room Schedule card or a Schedule Board card.