title: Managing Outlook meeting requests programmatically (incl. attendees) with ical
body: <p>I have a system (written in PHP) where users can book meeting rooms. The system should send meeting requests to the users and they should be able to add other attendees to this meeting.</p>
  
  <p>Currently, I partly solved this by creating iCalendar events that are sent to the users by email. The problem is that Outlook (used by <strong>all</strong> the users) does not offer the possibility to add any attendees to the event (I guess that's because it's a meeting request created by an external program?).
  The only option they have is to forward the request. But this has several downsides, e.g. no connection to the booking system anymore.</p>
  
  <p>QUESTION: Is there a way to manage the meeting requests <strong>including</strong> managing attendees programmatically in PHP? </p>
  
  <p>The main problem seems to be adding attendees.
  I tried to have something like the following ics file but attendees are just ignored.</p>
  
  <pre><code>BEGIN:VCALENDAR
  PRODID:-//Microsoft Corporation//Outlook 12.0 MIMEDIR//EN
  VERSION:2.0
  METHOD:REQUEST
  TRANSP:TRANSPARENT
  X-MS-OLK-FORCEINSPECTOROPEN:TRUE
  BEGIN:VEVENT
  ATTENDEE;CN="First LASTNAME";ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:First.LASTNAME@domain.tld
  ATTENDEE;CN="First LASTNAME2";ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:First.LASTNAME2@domain.tld
  CLASS:PUBLIC
  UID:' . $booking-&gt;id . '
  SEQUENCE:' . $booking-&gt;sequence_id . '
  DTSTAMP:'.date('Ymd\THis', $booking-&gt;created).'
  DTSTART:' . $booking-&gt;start . '
  DTEND:' . $booking-&gt;end . '
  SUMMARY:' . $booking-&gt;subject. '
  LOCATION:' . $booking-&gt;location . '
  CREATED:'.date('Ymd\THis', $booking-&gt;changed).'
  DESCRIPTION:' . $booking-&gt;description . '
  X-MS-OLK-ALLOWEXTERNCHECK:TRUE
  X-MS-OLK-AUTOFILLLOCATION:FALSE
  X-MS-OLK-CONFTYPE:0
  X-MICROSOFT-DISALLOW-COUNTER:FALSE
  END:VEVENT
  END:VCALENDAR
  </code></pre>
  
  <p>Can anyone please point me in the right direction? Thanks in advance!</p>