In our organization we use room calendars to track overtime and leave, which gets tallied up every two weeks for payroll. We've just recently migrated from Zimbra to Exchange 2013, and have hit a snag with this workflow.
Often -- especially if someone is out sick -- people will not put their leave or overtime on the calendar right away, much less ahead of time. This means they're putting their leave on retroactively, usually when the reminder email to do so is sent out.
Still new to Exchange, we were surprised this week to discover that resources automatically reject meeting requests in the past. That's fine, that's probably what we want for all the "real" rooms we have, but it's not what we want for these calendars.
How can we turn this feature off for these calendars? I've dug through every calendar-related PowerShell command I could find to no avail. Making everyone an editor on these calendars is not an option; they need to send invites to the calendar. Is our only option to adopt a different workflow?
Edit: Here's the full calendar processing configuration for one of the relevant calendars:
PS > Get-CalendarProcessing ins.calendar | fl
AutomateProcessing : AutoAccept
AllowConflicts : True
BookingWindowInDays : 730
MaximumDurationInMinutes : 0
AllowRecurringMeetings : True
EnforceSchedulingHorizon : False
ScheduleOnlyDuringWorkHours : False
ConflictPercentageAllowed : 0
MaximumConflictInstances : 0
ForwardRequestsToDelegates : True
DeleteAttachments : True
DeleteComments : True
RemovePrivateProperty : True
DeleteSubject : False
AddOrganizerToSubject : False
DeleteNonCalendarItems : True
TentativePendingApproval : True
EnableResponseDetails : True
OrganizerInfo : True
ResourceDelegates : {}
RequestOutOfPolicy : {}
AllRequestOutOfPolicy : False
BookInPolicy : {}
AllBookInPolicy : True
RequestInPolicy : {}
AllRequestInPolicy : False
AddAdditionalResponse : False
AdditionalResponse :
RemoveOldMeetingMessages : True
AddNewRequestsTentatively : True
ProcessExternalMeetingMessages : False
RemoveForwardedMeetingNotifications : False
MailboxOwnerId : domain/Resources/ins.calendar
Identity : domain/Resources/ins.calendar
IsValid : True
ObjectState : Changed
Since the bookingwindowindays can only be between 0-1080. I don't think what you are looking for is possible with resource mailboxes. While there are probably better solutions outside of Exchange for what you are looking for that's a whole other can of worms. Perhaps this mailbox could be a shared calendar that someone from HR manages.
The AllRequestOutOfPolicy parameter specifies whether to allow all users to submit out-of-policy requests. Valid input for this parameter is $true or $false. The default value is $false. Out-of-policy requests are subject to approval by a resource mailbox delegate.
Have you tried setting that (AllRequestOutOfPolicy) to $true and set HR as the resource mailbox delegate?
The purpose of a Resource mailbox is to book a "Resource" for current or future use, such as a conference room, projector, etc. Hence the design and limitations of booking the past.
What you are looking for is more for what a Public Folder calendar or SharePoint calendar can handle, or perhaps a Shared mailbox calendar (as PHLiGHT points out).
If you have SharePoint, that would be my recommendation on the way to go, since you can include workflow for approvals of vacation time, or get alerts when someone puts something on the calendar, etc.