The behavior of the Resource Booking Attendant may seem confusing when it comes to processing a recurring meeting request where individual recurrences conflict with existing calendar items. Some administrators have tried working with calendar processing settings in the hopes of allowing double booking rooms with recurring meetings, as can be done with non-recurring meeting requests. As we'll see, double-booking a room with recurring meetings and the Resource Booking Attendant is impossible. If anyone's still confused hopefully this post will clear up what's going on.
Recurring meeting request processing is handled according to the settings from Set-MailboxCalendarSettings in Exchange 2007 and Set-CalendarProcessing in Exchange 2010. Since each version uses the same options to deal with recurring meeting requests, let's use the Exchange 2010 SP1 documentation for Set-CalendarProcessing:
The ConflictPercentageAllowed parameter specifies the maximum percentage of meeting conflicts for new recurring meeting requests. Valid input for this parameter is an integer from 0 through 100.
If a new recurring meeting request conflicts with existing reservations for the resource more than the percentage specified by the ConflictPercentAllowed value, the recurring meeting request is automatically declined. When the value is 0, no conflicts are permitted for new recurring meeting requests.
The MaximumConflictInstances parameter specifies the maximum number of conflicts for new recurring meeting requests when the AllowRecurringMeetings parameter is set to $true. Valid input for this parameter is an integer from 0 through 2147483647.
If a new recurring meeting request conflicts with existing reservations for the resource more than the number of times specified by the MaximumConflictInstances value, the recurring meeting request is automatically declined. When the value is 0, no conflicts are permitted for new recurring meeting requests.
When active, these two settings apply to whether Exchange accepts a recurring meeting request in its entirety, the whole series, but not whether individual instances are accepted. Individual recurring meeting instances are always declined.
So, for example, say a room mailbox is configured with the following settings:
AutomateProcessing : AutoAccept
AllowConflicts : False
AllowRecurringMeetings : True
ConflictPercentageAllowed : 40
MaximumConflictInstances : 6
A recurring meeting request which repeats 10 times (10 instances) is sent to the mailbox. Now let's suppose 5 out of 10 (or half) of the instances for that recurring meeting occur at the same time other meetings are scheduled in the calendar. In this case, the 50% conflict ratio exceeds the ConflictPercentageAllowed setting of 40.
The result: The entire meeting request is rejected and the room sends a message back to the meeting organizer with the subject Declined All. The five conflicting instances are declined, as are the other five instances that didn't conflict with another meeting.
Another meeting request is sent where there are 100 instances of a recurring meeting and 10 of them conflict with existing bookings. In this case the ConflictPercentageAllowed is not exceeded by the 10% conflict rate. However, we exceed the MaximumConflictInstances setting of 6.
The result: Once again, the entire meeting request is rejected and all 100 instances are declined.
For our last example, a recurring meeting request comes to this room where there are 10 instances and only 2 of them conflict with existing bookings.
The result: Since we don't exceed either MaximumConflictInstances or ConflictPercentageAllowed, the room mailbox accepts the recurring meeting request series but declines to book the two instances that conflict. The meeting instances that don't conflict are accepted and booked and the room sends three emails back to the organizer, one with Accepted in the subject stating the recurring meeting request was accepted, and two with Declined in the subject for the two conflicting instances.
So by these examples we see how a recurring meeting request with conflicting instances can be accepted or declined based on the calendar processing settings. However, it's important to repeat that a recurring meeting request instance that conflicts with another booking is ALWAYS declined.
How all the settings work together
Now I'd like to touch lightly on how all the settings that affect recurring meeting request processing work together, including the above discussed ConflictPercentageAllowed and MaximumConflictInstances, along with the AutomateProcessing, AllowConflicts, and AllowRecurringMeetings settings.
- AutomateProcessing: Must be set to AutoAccept to allow automatic booking of any meeting requests, recurring or not. Note, the default is AutoUpdate.
- AllowRecurringMeetings: Set to True by default. If it's changed to False, all recurring meeting requests are rejected.
- AllowConflicts: The parameter determines whether conflicting meeting requests are allowed.
- If set to True, sets the calendar to ignore the ConflictPercentageAllowed and MaximumConflictInstances settings. In this case, the calendar accepts all recurring meeting requests. Conflicting instances are always declined, but the number or percentage of conflicting instances don't have any impact on the entire series.
- - If set to False (the default), we must turn to ConflictPercentageAllowed and MaximumConflictInstances to decide whether the entire recurring meeting request series is declined or not.
This flowchart presents how a recurring meeting request is processed based on these settings.
So what if an administrator wants the ability to double book a room? What alternatives are there?
- Use non-recurring meetings for instances that conflict.
- Set the mailbox to be managed by a delegate instead of the ResourceBookingAttendant alone. A delegate could then allow double-booking of conflicting recurring meeting instances.
To summarize, a recurring meeting request with conflicting instances can be accepted or declined based on the calendar processing settings for the mailbox, which are configured using the Set-CalendarProcessing (Exchange 2010) or Set-MailboxCalendarSettings (Exchange 2007) cmdlets. However, individual instances of the recurring meeting request that conflict with another calendar item are ALWAYS declined.
Thanks to Kristi Starr, Chris Korff, and Tom Kern for assistance with this material.