title: Getting attendee from Exchange's GetUserAvailability() results
body: <p><a href="http://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.exchangeservice.getuseravailability(v=exchg.80).aspx" rel="nofollow"><code>GetUserAvailability()</code></a> in the Exchange Web Services API takes an IList of attendees and gives an set of results based on that list. Now from what I can tell, the <a href="http://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.getuseravailabilityresults.attendeesavailability(v=exchg.80).aspx" rel="nofollow"><code>AttendeesAvailability</code></a> property doesn't have an field/indicator to say which attendee it's reporting the availability of. </p>
  
  <p>I could make the assumption that <code>attendee[0] == AttendeeAvailability[0]</code>, <code>attendee[1] == AttendeeAvailability[1]</code>, and so on, however this isn't explicitly documented in MSDN as far as I can see so I don't want to rely on it. If it really is the case that it is a simple 1:1 match, I'd like to know where it's documented :-)</p>
  
  <p>Have I missed something in the MSDN, or is the only way to guarantee the mapping (if mapping twixt the attendee ID and their availability matters) is to call <code>GetUserAvailability()</code> iteratively over the list?</p>
  
  <p>For completeness, I'm calling GetUserAvailability as follows:</p>
  
  <pre><code>var options = new AvailabilityOptions
       {
           MeetingDuration = 30,
           RequestedFreeBusyView = FreeBusyViewType.DetailedMerged
       };
  
  var attendees = new List&lt;AttendeeInfo&gt;()
  attendees.Add(new AttendeeInfo { SmtpAddress = "bob@our.domain.org", AttendeeType = MeetingAttendeeType.Required);
  attendees.Add(new AttendeeInfo { SmtpAddress = "alice@our.domain.org", AttendeeType = MeetingAttendeeType.Required);
  
  var results = this.exchangeService.GetUserAvailability(
      attendees,
      new TimeWindow(DateTime.Now, DateTime.Now.AddDays(1)),
      AvailabilityData.FreeBusy,
      options);
  
  foreach (AttendeeAvailability avail in results.AttendeesAvailability)
  {
      // How to marry each AttendeeAvailability object with the appropriate attendee?
  }
  </code></pre>