Room Auto Approval depends on system configuration and proper procedures for staff members when creating and submitting Events for approval. The information in this article also applies to Equipment and Services, since similar mechanisms are used.
When an Event is created or the Approval field is edited, a trigger on the Event table synchronizes the approval of any Auto Approve Rooms with the Event. If an Event is approved, the Rooms are approved. Likewise, if the Event is not approved, the Auto Approve Rooms are not approved. That said, how this exactly functions depends on the setup of your Room Approval Process.
This is standard at all churches unless the trigger has been disabled. See Room Reservation, Equipment Reservation & Service Request Auto Approve in Database Triggers. Because the trigger described above works from the Event and not from Room Reservations, there are requirements for it to function properly:
The stock Room Approval Process is designed to capture the two known cases where the Event Approval trigger leaves a gap in the approval process. The Room Auto Approve flag was designed to mean "someone will look at the Room in the context of approving the Event." You may use it mean other things, such as "we don't care if anyone looks at this Room when added to an Event," and edit this Process to fit their particular culture and practice. Therefore, it may function differently than described in this article:
It is configured like this:
((EXISTS (SELECT 1 FROM Rooms R WHERE ISNULL(R.Auto_Approve,0) = 0 AND R.Room_ID = Event_Rooms.Room_ID) OR EXISTS (SELECT 1 FROM Events Ev WHERE Ev.Event_ID = Event_Rooms.Event_ID AND ISNULL(Ev._Approved,0) = 1)))
The first part of this condition looks for Rooms that are not Auto-Approved. The second part looks for Rooms for Events that have already been approved.
This latter condition implies the church wants to know when a Room was added after initial approval was provided. Omitting this results in a NULL Approve value for Auto-Approve Rooms added after the Event is approved.
Steps - Use a step with the Step Type: 1. Get Approval.
Here is an alternate configuration which is also designed to capture the two known cases where the Event Approval trigger leaves a gap in the approval process:
The primary differences between this configuration and the stock configuration is that it uses two processes rather than one and omits the requirement to approve auto-approve rooms when added to an approved Event. It handles the following scenarios as described:
This requires two separate Processes configured as follows:
Event_Rooms.Room_ID IN (SELECT R.Room_ID FROM Rooms R WHERE ISNULL(R.Auto_Approve,0)=0 )
This clause checks for Room not set to auto-approve.
Use a step with the Step Type: 1. Get Approval.
On Submit: _Approved=1
Trigger Fields: Room_ID,Event_ID
Event_Rooms.Room_ID IN (SELECT R.Room_ID FROM Rooms R WHERE ISNULL(R.Auto_Approve,0)=1 ) AND Event_Rooms.Event_ID IN (SELECT Ev.Event_ID FROM Events Ev WHERE ISNULL(Ev._Approved,0)=1 )
The first clause checks for auto-approve and the second checks for an approved Event.
none.