Set of methods used for transactions: PUBLISH: - Publish a calendar entry to one or more users. REQUEST: - Used to schedule a calendar entry with other users. - Require REPLY messages from others. - Used by Organizers to update status of entries. REPLY: - Attendees use this to send information back to Organizers who have sent a REQUEST message. ADD: - Add one or more instances to an existing entry. CANCEL: - Cancel a calendar item. REFRESH: - Attendee's use this to get the latest version of an item. COUNTER: - Used by an attendee to negotiate a change in a calendar entry. DECLINE-COUNTER: - Used by an organizer to decline a COUNTER message. Transports: Real-time vs. Store-and-forward? Entry Status: - Only the organizer can set the STATUS property - Attendee's use the "partstat" parameter of the ATTENDEE property to convey their personal status. - Initial value of "partstat" is set to "NEEDS-ACTION" by organizer - Modifying this state is part of an attendee's REPLY message. Sequence Property: - Used to tell manage different versions of an entry - Has specific rules so look at these Handling messages should be done in this manner: 1. The primary key for referencing a particular iCalendar component is the "UID" property value. To reference an instance of a recurring component, the primary key is composed of the "UID" and the "RECURRENCE-ID" properties. 2. The secondary key for referencing a component is the "SEQUENCE" property value. For components where the "UID" is the same, the component with the highest numeric value for the "SEQUENCE" property obsoletes all other revisions of the component with lower values. 3. "Attendees" send "REPLY" messages to the "Organizer". For replies where the "UID" property value is the same, the value of the "SEQUENCE" property indicates the revision of the component to which the "Attendee" is replying. The reply with the highest numeric value for the "SEQUENCE" property obsoletes all other replies with lower values. 4. In situations where the "UID" and "SEQUENCE" properties match, the "DTSTAMP" property is used as the tie-breaker. The component with the latest "DTSTAMP" overrides all others. Similarly, for "Attendee" responses where the "UID" property values match and the "SEQUENCE" property values match, the response with the latest "DTSTAMP" overrides all others.