none
How to check if Resource Booking Attendant is enabled with the help of exchange web services(EWS) RRS feed

  • Question

  • I had a requirement where I need to verify if the mailbox has Resource Booking Attendant enabled with AutomateProcessing set to AutoAccept or not.Is it possible to verify which is setting is kept with the help of EWS.Is there any api method which will support this.I was able to check this via powershell tool but as I need to get the response of this via EWS so that I can perform different action for different response.
    Monday, January 25, 2016 10:00 AM

All replies

  • You can access the setting via the User Configuration operation in EWS by access the  Calendar FAI (Folder Associated Items) in the calendar of the Room mailbox eg using the EWS Managed API

                FolderId CalendarFolderId = new FolderId(WellKnownFolderName.Calendar,"testroom@datarumble.com");
                CalendarFolder calendar = CalendarFolder.Bind(service, CalendarFolderId, new PropertySet(BasePropertySet.FirstClassProperties));
                UserConfiguration uc = UserConfiguration.Bind(service, "Calendar", CalendarFolderId, UserConfigurationProperties.All);
                Object ForwardRequestsToDelegatesVal = null;
                Object BookingWindowInDaysVal = null;
                Object MaximumDurationInMinutesVal = null;
                if(uc.Dictionary.TryGetValue("MaximumDurationInMinutes",out MaximumDurationInMinutesVal)){
                    Console.WriteLine((Int32)MaximumDurationInMinutesVal);
                }
                if (uc.Dictionary.TryGetValue("BookingWindowInDays", out BookingWindowInDaysVal))
                {
                    Console.WriteLine((Int32)BookingWindowInDaysVal);
                }
                if (uc.Dictionary.TryGetValue("ForwardRequestsToDelegates",out ForwardRequestsToDelegatesVal))
                {
                    Console.WriteLine((bool)ForwardRequestsToDelegatesVal);
                }
                Object AutomateProcessingVal = null;
                if (uc.Dictionary.TryGetValue("AutomateProcessing", out AutomateProcessingVal))
                {
                    Console.WriteLine((int)AutomateProcessingVal);
                }
                Object AllBookInPolicy = null;
                if (uc.Dictionary.TryGetValue("AllBookInPolicy", out AllBookInPolicy))
                {
                    Console.WriteLine((bool)AllBookInPolicy);
                }
    
                Object BookInPolicyLegDNVal = null;
                if (uc.Dictionary.TryGetValue("BookInPolicyLegDN", out BookInPolicyLegDNVal))
                {
                    foreach (String UserDn in (String[])BookInPolicyLegDNVal)
                    {
                        Console.WriteLine(UserDn);
                    }
                }
                Object AllRequestInPolicyVal = null;
                if (uc.Dictionary.TryGetValue("AllRequestInPolicy", out AllRequestInPolicyVal))
                {
                    Console.WriteLine((bool)AllRequestInPolicyVal);
                } 
                foreach (UserConfigurationDictionaryObjectType uco in uc.Dictionary) {
                    Console.WriteLine("values : " + uco.ToString());
                }

    Cheers
    Glen

    Tuesday, January 26, 2016 5:59 AM