my $e = new Net::ICal::Event (
organizer => new Net::ICal::Attendee('alice'),
uid => 'fooid',
alarms => [Net::ICal::Event objects],
dtstart => new Net::ICal::Time("20010207T160000Z"),
summary => 'tea with the white rabbit',
dtstart - a Net::ICal::Time for when this event starts.
dtend - a Net::ICal::Time for the end of this event. Use either this OR a duration (below). Use when the ending time of an event is fixed ("I have to leave at 3pm to pick up my child.")
duration - a Net::ICal::Duration; how long this event lasts. Use for things like plane flights - "The trip will take 2 hours, no matter when the plane takes off. If I start late, I end late." Use either this OR a dtend, above.
organizer - a Net::ICal::Attendee for who's organizing this meeting.
attendee - who's going to be at this meeting; an array of Net::ICal::Attendee objects.
categories - what categories this event falls into. Make up your own categories. Optional.
comment - a hash like that for description (above), comments on this event.
contact - a string describing who to contact about this event.
request_status - how successful we've been at scheduling this event so far. Values can be integers separated by periods. 1.x.y is a preliminary success, 2.x.y is a complete successful request, 3.x.y is a failed request because of bad iCal format, 4.x.y is a calendar server failure.
related_to - an array of other Event, Todo, or Journal objects this Event is related to.
resources - resources (such as an overhead projector) required for this event.
sequence - an integer that starts at 0 when this object is created and is incremented every time the object is changed.