Exchange 2013: Understanding the Room Finder function in OWA

In Exchange 2013, when you use OWA to book a room, there can be two methods that get called for this to occur. Both of these methods start workflows against service.svc and you can see this in the client behavior via the following URLs:

https://<vanityDomain>/owa/service.svc?action=GetRoomLists&ID=-<ID>&AC=1
https://<vanityDomain>/owa/service.svc?action=GetRoomsInternal&ID=-<ID>&AC=1

The first method, GetRoomLists, returns all rooms found in room lists (Get-DistributionGroup -Filter {RecipientTypeDetails -eq "RoomList"}) and this is called when you select 'Add Room'. Once a user selects a room list, that selection is remembered (read: cached) for subsequent uses in OWA to make the fetch of the list faster.

The second method, GetRoomsInternal, returns the first 100 rooms found in the GAL (Get-Recipient -RecipientPreviewFilter $allRoomsAddrList.RecipientFilter -ResultSize Unlimited)* and is called when you use the Scheduling Assistant to find rooms.

*$allRoomsAddrList = Get-AddressList "All Rooms"