Configure Exchange
This section describes the steps for configuring Exchange.
Steps for configuring ExchangeSteps for configuring Exchange
Set an application access policy
It is a best practice to restrict the access of an app to resources in Exchange. This can be achieved by defining an Application Access Policy for an app created through Azure AD.
* 
It is required that you create a mail-enabled security group with all the applicable Room resources as a member. This group's ID will be used as a value for the parameter PolicyScopeGroupId to set the Application access policy.
Procedure
2. Connect to Exchange Online (without) using MFA.
For more information on restricting or denying access to a specific set of mailboxes by an application that uses APIs or EWS, see how-to configure an Application Access Policy.
3. Run the command New-ApplicationAccessPolicy.
Provide the app’s Client ID
Provide the PolicyScopeGroupId (you may need to group all room resources)
Provide a Description
#Restrict Access
New-ApplicationAccessPolicy -AppId "<your App’s ID>"
-Description "C4C-App resource access policy"
-AccessRight RestrictAccess
-PolicyScopeGroupId "<Mail-Group with only the Room/Equipment resources>"
Align resource's regional configuration with time zone information in Planon ProCenter
A resource in Exchange has no regional configuration set by default. It is important that the regional configuration of the resource is aligned with the time zone of the reservation unit's property.
Procedure
2. Connect to Exchange online (without) using MFA.
3. Execute the following PowerShell command to achieve the goal.
#Retrieve a list of available time zones
$TimeZone = Get-ChildItem "HKLM:\Software\Microsoft\Windows NT\CurrentVersion\Time zones" | foreach {Get-ItemProperty $_.PSPath};
$TimeZone | sort Display | Format-Table -Auto PSChildname,Display
#Regional Configuration
Set-MailboxRegionalConfiguration -Identity <Resource’s email address>
-TimeZone "<Time zone aligned with the one of the Property in Planon>"
Room resource calendar processing configuration
The C4C app for Microsoft Graph API supports two types of synchronization behavior: In-the-Lead and Follows. Depending on the configuration of the C4C app connection, you need to configure the Resource's Calendar Processing configuration differently.
* 
Calendar Processing properties for which the default value corresponds with a correct configuration are not mentioned here.
Procedure
2. Connect to Exchange online (without) using MFA.
3. Execute the following PowerShell command to achieve the goal.
#Configure Calendar Processing
Set-CalendarProcessing -Identity <Resource’s email address>
-AutomateProcessing <AutoUpdate (for In-the-Lead) / AutoAccept (for Follows)>
-DeleteSubject $false
-AddOrganizerToSubject $false
-AllowConflicts $true
-EnforceSchedulingHorizon $false
-MaximumDurationInMinutes 0
-RemoveOldMeetingMessages <$false (for In-the-Lead) / $true (for Follows)>
-RemovePrivateProperty $false
-BookingWindowInDays 900​​​​​​​
Setting Organization Configuration (In-the-Lead only)
In a default environment, Exchange will send explicit updated meeting requests to a resource when changing the location property of a meeting or any other property within fifteen minutes from the start time of the meeting ("Location,AllProperties:15").
Planon ProCenter requires to receive explicit updated meeting requests for it to be able to update a reservation.
The following tutorial provides a PowerShell command to configure this in Exchange.
Procedure
2. Connect to Exchange online (without) using MFA.
3. Execute the following PowerShell command to achieve the goal.
#Organization Config
Set-OrganizationConfig -VisibleMeetingUpdateProperties "Location,Subject,Sensitivity"