Calendar Working Group Ian Ferrell INTERNET DRAFT Darren Shakib draft-ferrell-prop-cal-00.txt Microsoft Expire in six months An Application/Properties Profile for Calendar Information 1. Status of this Memo This document is an Internet-Draft. Internet-Drafts are working docu- ments of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as "work in progress." To learn the current status of any Internet-Draft, please check the "1id-abstracts.txt" listing contained in the Internet- Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). 2. Abstract This document defines several calendar information profiles to be car- ried in the application/properties MIME Content-Type defined in [MIME- PROP]. These profiles describe properties required for appointment, appointment request, and appointment response. A complete list of properties is provided. 3. Overview The profiles described in this document support storing calendar infor- mation in the application/properties MIME Content-Type as well as gener- ating appointment requests and responses. These three basic profiles, appointment, appointment request, and appointment response, are separately defined instead of derived soley from a single appointment profile in order to avoid ambiguous property definitions. Appointments can be one-time or recurring. 4. The Appointment Profile This section describes core appointment items to be carried in the application/properties MIME Content-Type defined in [MIME-PROP]. The Appointment Profile is the basis upon which the One Time, Recurring, and Exception variants are constructed. The variants of the basic ap- pointment inherit properties from the basic appointment profile in the following way: +---------------+ | Appointment | | Profile | +---------------+ | | +---------------+ +---------------+ | One Time | | Recurring | | Variant | | Variant | +---------------+ +---------------+ | +---------------+ | Exception | | Variant | +---------------+ Figure 1: Overview of Appointment profiles and variants 4.1 Appointment profile registration The properties of the core appointment profile is listed below. The format of this listing is in a standards based form discussed in [MIME- PROP]. Note that the *types* of the properties (text, datetime, boolean) are also listed in [MIME-PROP]. To: [mailing list TBD] Subject: Registration of application/properties MIME profile Appointment Profile name: Appointment Profile purpose: Indicates schema of Appointment item Profile property names: AlarmEnabled AlarmTime Busy Description Summary Location Resources Confidentiality Priority Category ID AppointmentVersion Profile intended usage: COMMON Property descriptions: Name: AlarmEnabled Data type: BOOLEAN Purpose: Flag indicating whether an alarm is enabled for this appointment. Encoding: Special notes: This property is useful for preserving alarm state in cases where expired appointments are rescheduled in the future. Absence of this property indicates Alarm is ENABLED. Required: NO Multi-valued: SOMETIMES Intended usage: COMMON __________ Name: AlarmTime Data type: DATETIME Purpose: Date and time of item alarm. Encoding: Special notes: Absence of this property indicates that there is no alarm. Required: NO Multi-valued: SOMETIMES Intended usage: COMMON __________ Name: Busy Data type: BOOLEAN Purpose: Describes how appointment appears in busy-time searches. Encoding: Special notes: TRUE indicates that for the appointment time, the user is busy, and other appointments should not be scheduled. If this property is absent, assume TRUE. Required: NO Multi-valued: SOMETIMES Intended usage: COMMON __________ Name: Description Data type: TEXT Purpose: A user-specified description of the appointment. Encoding: Special notes: This property is intended to accommodate more ver- bose descriptions than the Summary property. For example, it could be used to keep the agenda for a meeting. This property may refer to another MIME body part. In particular, a URL to an HTML body part would give you the ability to have a rich-text description. Required: NO Multi-valued: SOMETIMES Intended usage: COMMON __________ Name: Summary Data type: TEXT Purpose: A brief description of the appointment Encoding: This property SHOULD NOT include linebreaks Required: NO Multi-valued: SOMETIMES Intended usage: COMMON __________ Name: Location Data type: TEXT Purpose: Describes the location of the appointment Encoding: Special notes: [none] Required: NO Multi-valued: SOMETIMES Intended usage: COMMON __________ Name: Resources Data type: TEXT Purpose: Contains resources needed for the appointment Encoding: Special Notes: Possible resources include, Projector VCR Computer Coffee Machine Car Required: NO Multi-valued: ALWAYS Intended usage: COMMON __________ Name: Confidentiality Data type: TEXT Purpose: Rating of appointment's confidentiality. Encoding: Three possible values are defined. "Public": Item is viewable by all users, subject to global security restrictions of the system. The item affects free-busy time calculations and display. "Private": Item is not viewable by all users, subject to security restrictions of the system. The item affects free-busy time calculations and display. "Confidential": Item is not viewable by all users, sub- ject to security restrictions of the system. The item does not affect free- busy time calculations and display. All values are case insensitive. Special notes: Absence of this property indicates that the item is "Public". Required: NO Multi-valued: SOMETIMES Intended usage: COMMON __________ Name: Priority Data type: LONG Purpose: Denotes appointment priority Encoding: This value should not be negative Special Notes: Smaller values denote higher priority. Required: NO Multi-valued: SOMETIMES Intended usage: COMMON __________ Name: Category Data type: TEXT Purpose: Contains appointment categorisations Encoding: Special Notes: Possible categories include, Education Holiday Meeting Miscellaneous Phone Call Sick Day Special Occasion Travel Vacation Business Personal Required: NO Multi-valued: ALWAYS Intended usage: COMMON __________ Name: ID Data type: TEXT Purpose: Unique ID for the parent item Encoding: ID format is the same as MessageID, as described in [RFC 822] Special notes: An ID is necessary to correlate responses with appointment requests and recurrence exceptions with parent recurrences. Required: NO Multi-valued: NEVER Intended usage: COMMON ________ Name: AppointmentVersion Data type: DATETIME Purpose: Datetime of the last change to the appointment that would invalidate attendee responses prior to the change. An example of this change is the rescheduling of an appointment. Special notes: Absence of this property implies that all attendees' responses are valid. Encoding: Required: NO Multi-valued: NEVER Intended usage: COMMON 4.2 OneTime variant The OneTime variant describes an appointment that occurs once, like the traditional meeting or appointment. 4.2.1. OneTime variant of the Appointment profile This section covers formal registration of the OneTime variant of the Appointment Profile to a standards body. Note that it inherits the properties of the basic appointment profile. To: [mailing list TBD] Subject: Registration of application/properties MIME variant OneTime Variant name: OneTime Variant profile: Appointment Variant purpose: Indicates schema of OneTime Appointment items Variant property names: Start End Variant intended usage: COMMON Property descriptions: __________ Name: Start Data type: DATETIME Purpose: Start date and time of the item. Encoding: Required: YES Multi-valued: SOMETIMES Intended usage: COMMON __________ Name: End Data type: DATETIME Purpose: End date and time of the item. Encoding: Required: YES Multi-valued: SOMETIMES Intended usage: COMMON 4.2.2 Example Example #1 demonstrates a simple OneTime appointment in the application/properties MIME Content-Type. The appointment has a start and end datetime. Example 1: Content-Type: application/properties; profile="Appointment" Profile: Appointment Variant: OneTime Start, datetime: 22 Oct 96 17:00:00 PST End, datetime: 22 Oct 96 19:30:00 PST Location: Conference Room 3384 Categories: "Business", "Review" Summary: Present market feedback results Resources: "Projector", "VCR", "Twister(tm) mat" AlarmTime, datetime: 22 Oct 96 16:45:00 PST Busy, boolean: TRUE Description: "At this meeting we will review next " "month's schedule. Any conflicts will be " "resolved with the Twister(tm) mat." 4.3 Recurring variant of the Appointment Profile The recurring variant describes appointments which occur more than once. For example, weekly meetings could be described using a single appointment with a recurring pattern. This not only reduces storage, but allows the description of appointments which have no predefined end date. The use of individual properties to describe components of the pattern allows for a wide variety of patterns to be specified without specialized parsing or grammar. 4.3.1 The Recurrence Model Recurrence patterns are described using seven properties. Detailed explanation of all of these properties is in Section 4.3.4. Three properties are used to denote specific days or months. These are: DaysOfWeek DaysOfMonth MonthsOfYear Four properties describe the interval between instances of the pattern. DayInterval WeekInterval MonthInterval YearInterval Using these properties, it is possible to describe calendar-based recur- ring patterns. (Examples of non-calendar-based patterns include Easter and Winter Solstice which are based on lunar patterns.) A unique feature of the above properties is that they may be used in combination to represent arbitrarily complex recurrence patterns. Recurring patterns have four properties describing the date and time of the recurring item. The Start and End single-instance appointment prop- erties are not used. InstanceStartTime InstanceEndTime StartDate EndDate The two time-related fields hold the item's start and end time. The two date-related fields cover the start and end dates of the recurring pat- tern. It is not required to have an end date for a pattern; unbounded patterns are allowed. The following examples depict recurring patterns using this model. Example 1: Christmas Day (December 25th) is described as: DaysOfMonth, long: 25 MonthsOfYear, long: 12 YearInterval, long: 1 PatternDescription: "December 25, every year" Example 2: A weeknight television broadcast is described as: DaysOfWeek, text: "Mon", "Tue", "Wed", "Thu", "Fri" WeekInterval, long: 1 InstanceStartTime, time: 21:00 InstanceEndTime, time: 22:00 ReferenceTimeZone: PST PatternDescription: "Monday-Friday, every week, 9:00p.m.-10:00 p.m." Example 3: Payday is described as: DaysOfMonth, long: 15, -1 MonthInterval, long: 1 InstanceStartTime, time: 12:00 InstanceEndTime, time: 12:00 PatternDescription: "15th and last day of the month at noon" Example 4: U.S. Presidential Election Day is described as: DaysOfMonth, long: 2,3,4,5,6,7,8 DaysOfWeek: Tue MonthsOfYear, long: 11 YearInterval, long: 4 PatternDescription: "First Tuesday after a Monday in November, " "every four years" (Since there must be a Monday in November before the election day, November 1 is disqualified.) 4.3.2 Recurring variant of the Appointment Profile definition This section covers formal registration of the Recurring variant of the Appointment Profile to a standards body. To: [mailing list TBD] Subject: Registration of application/properties MIME variant Recurring Variant name: Recurring Variant profile: Appointment Variant purpose: Indicates schema of Recurring Appointment items Variant property names: DaysOfWeek DaysOfMonth MonthsOfYear DayInterval WeekInterval MonthInterval YearInterval InstanceStartTime InstanceEndTime StartDate EndDate ReferenceTimeZone PatternDescription ExceptionDate Variant intended usage: COMMON Property descriptions: Name: DaysOfWeek Data type: TEXT Purpose: A list of the individual days of the week that the appointment can occur. Encoding: Sun, Mon, Tue, Wed, Thu, Fri, Sat. The values are case insensitive and non-localizable. Special notes: For example, a recurring weekly Appointment that occurs on Monday and Wednesday sets DaysOfWeek equal to "Mon, Wed". Required: NO Multi-valued: ALWAYS Intended usage: COMMON __________ Name: DaysOfMonth Data type: LONG Purpose: A list of the individual days of the month that the appointment can occur. Encoding: 1 to 31 / -31 to -1. 0 is undefined. Special notes: Negative values specify an offset from the end of the month. Negative one is the last day of the month. For example, a recurring monthly Appointment that occurs on the first and tenth days sets DaysOfMonth equal to "1, 10". Required: NO Multi-valued: ALWAYS Intended usage: COMMON __________ Name: MonthsOfYear Data type: LONG Purpose: A list of the individual months of the year that the appointment can occur. Encoding: 1 - 12 Special notes: For example, a recurring appointment that occurs in the fourth and tenth months sets MonthsOfYear equal to "4, 10". Required: NO Multi-valued: SOMETIMES Intended usage: COMMON _________ Name: DayInterval Data type: LONG Purpose: Interval between days for a recurrence pattern. Encoding: Special notes: For example, every other day has DayInterval = 2. Required: NO Multi-valued: NEVER Intended usage: COMMON __________ Name: WeekInterval Data type: LONG Purpose: Interval between weeks for a recurrence pattern. Encoding: Special notes: For example, pay day every two weeks has a WeekInterval of 2. Required: NO Multi-valued: SOMETIMES Intended usage: COMMON __________ Name: MonthInterval Data type: LONG Purpose: Interval between months for a recurrence pattern. Encoding: Special notes: For example, a quarterly appointment, every three months, has a MonthInterval of 3. Property taxes, due every six months, have a MonthInterval of 6. Required: NO Multi-valued: SOMETIMES Intended usage: COMMON __________ Name: YearInterval Data type: LONG Purpose: Interval between years for a recurrence pattern. Encoding: Special notes: For example, the Summer Olympics have a YearInterval of 4. Required: NO Multi-valued: SOMETIMES Intended usage: COMMON __________ Name: InstanceStartTime Data type: Time Purpose: Start time for the appointment within the recurring pattern. Encoding: Required: NO Multi-valued: SOMETIMES Intended usage: COMMON __________ Name: InstanceEndTime Data type: Time Purpose: End time for the appointment within the recurring pattern. Encoding: Required: NO Multi-valued: SOMETIMES Intended usage: COMMON __________ Name: StartDate Data type: DATE Purpose: Start date for the recurring pattern. Encoding: Required: YES Multi-valued: NEVER Intended usage: COMMON __________ Name: EndDate Data type: DATE Purpose: End date for the recurrence pattern. Encoding: Special notes: If EndDate is not specified, the appointment is an unbounded recurring series. Required: NO Multi-valued: NEVER Intended usage: COMMON __________ Name: ReferenceTimeZone Data type: TEXT Purpose: Timezone for the recurrence pattern. Encoding: Special notes: Contents of this property will follow the [RFC 822] time zone description, however we need additional semantics to define daylight savings transitions. Exact format of this property remains OPEN. Required: NO Multi-valued: SOMETIMES Intended usage: COMMON __________ Name: PatternDescription Data type: TEXT Purpose: Human-readable definition of recurrence pattern. Encoding: Special notes: Some examples of this string are "Every 3 months, on the 12th day, from 12/1/96" "Every week on Wednesday from 7/10/96 to 12/31/96" This property is highly-recommended when sending a recurring appointment request so clients have a text description of the pattern to display. Required: NO Multi-valued: SOMETIMES Intended usage: COMMON __________ Name: ExceptionDate Data type: DATE Purpose: Instance date of an exception to the recurring pattern. Encoding: Special notes: An exception is an appointment or appointments that are excluded from a recurrence pattern. Required: NO Multi-valued: ALWAYS Intended usage: COMMON 4.3.3 Example Example #1 demonstrates a recurring appointment in the application/properties MIME Content-Type. The recurring pattern describes the United States Presidential Election Day: Example 1: Content-Type: application/properties; profile="Appointment" Profile: Appointment Variant: Recurring InstanceStartTime, time: 8:00 InstanceEndTime, time: 18:00 ID: StartDate, date: 1 Jan 96 ReferenceTimeZone: EST DaysOfMonth, long: 2,3,4,5,6,7,8 DaysOfWeek: Tue MonthsOfYear, long: 11 YearInterval, long: 4 PatternDescription: "First Tuesday after a Monday in November, " "every four years" Location: Conference Room 3384 Categories: "Business", "Review" Summary: Present market feedback results Busy, boolean: TRUE 4.4 Exception Variant 4.4.1 Exception variant of Appointment Profile registration An exception is an appointment or appointments that are excluded from a recurrence pattern. To: [mailing list TBD] Subject: Registration of application/properties MIME variant OneTime.Exception Variant name: OneTime.Exception Variant profile: Appointment Variant purpose: Indicates schema of OneTime.Exception Appointment a items where the item contains the data for an ex- ception to a recurrence pattern. Variant property names: AppointmentID OriginalExceptionDate Variant intended usage: COMMON Property descriptions: Name: AppointmentID Data type: TEXT Purpose: ID of the parent recurring item Encoding: AppointmentID format is the same as MessageID, as described in [RFC 822] Required: NO Multi-valued: NEVER Intended usage: COMMON _________ Name: OriginalExceptionDate Data type: DATE Purpose: Instance date of the exception to the recurrence pattern. Encoding: Required: NO Multi-valued: NEVER Intended usage: COMMON 4.4.2 Example Example #1 demonstrates an exception to recurring appointment in the application/properties MIME Content-Type. Example 1: Content-Type: application/properties; profile="appointment" Profile: Appointment Variant: OneTime.Exception Start, datetime: 7 Nov 1996 8:00 PST End, datetime: 7 Nov 1996 18:00 PST Summary: "Resceduling for the 7th, instead of the 5th." AppointmentID: OriginalExceptionDate, date: 5 Nov 1996 5. The Appointment Request profile 5.1 Appointment Request overview Appointment request messages are sent from the appointment organizer to attendees. Requests contain the minimal amount of information needed to determine a time and date for the appointment. Figure 2 describes the appointment request flow: +-------------+ | Appointment |_____________\ Attendee(s) | Request | / +-------------+ Figure 2 : Appointment requests If an appointment needs to be rescheduled, the client generates a new appointment request with the AppointmentID property equal to the origi- nal appointment's ID property. Recipients need to verify whether an appointment request is for a new appointment, cancellation, or re- scheduled appointment. The appointment request profile is organized as follows: +---------------+ | Appointment | | Request | | Profile | +---------------+ | | +---------------+ +---------------+ | One Time | | Recurring | | Request | | Request | | Variant | | Variant | +---------------+ +---------------+ | +---------------+ | Exception | | Request | | Variant | +---------------+ Figure 3: Appointment Request profiles and variants overview 5.2 Appointment Request profile registration To: [mailing list TBD] Subject: Registration of application/properties MIME profile AppointmentRequest Profile name: AppointmentRequest Profile purpose: Indicates schema of AppointmentRequest item Profile property names: Description Summary Location Resources Confidentiality Priority Category ID AppointmentVersion (Above properties as defined in Section 4.1 above) AppointmentID (Above properties as defined in Section 4.4.1 above) ResponseRequested RequestType Profile intended usage: COMMON Property descriptions: Name: ResponseRequested Data type: BOOLEAN Purpose: Flag denoting whether the appointment organizer requests an attendance response from appointment attendees. Encoding: Special notes: TRUE = response is requested, FALSE = response is not requested. Some appointments do not require attendance tracking or the organizer does not care. This property should be set accordingly. If the property is absent, it is assumed FALSE. Required: NO Multi-valued: SOMETIMES Intended usage: COMMON _______ Name: RequestType Data type: TEXT Purpose: Indicates the type of the request. Encoding: One of the following values: "Request" Request to attend appointment. "Cancel" Request to cancel appointment. Values are case insensitive. Special Notes: If the value is absent, "Request" is assumed. Required: NO Multi-valued: NEVER Intended usage: COMMON 5.3 OneTimeRequest variant of AppointmentRequest Profile 5.3.1. OneTimeRequest variant registration To: [mailing list TBD] Subject: Registration of application/properties MIME variant OneTimeRequest Variant name: OneTimeRequest Variant profile: AppointmentRequest Variant purpose: Indicates schema of OneTime Request items Variant property names: Start End (Above properties as defined in Section 4.2.1 above) Variant intended usage: COMMON Property descriptions: [none] 5.3.2 Example Example #1 demonstrates a minimal appointment request in the applica- tion/properties MIME Content-Type. The appointment has a start and end datetime. Example 1: To: Franklin W. Dixon From: Carolyn Keene Subject: Discuss contract issues MIME-Version: 1.0 Message-ID: Content-Type: application/properties; profile="appointment" Content-ID: ID: Profile: Appointment Variant: OneTimeRequest Start, datetime: 22 Oct 96 14:00:00 UT End, datetime: 22 Oct 96 15:00:00 UT 5.4 Recurring variant of AppointmentRequest profile 5.4.1 Recurring variant definition To: [mailing list TBD] Subject: Registration of application/properties MIME variant Recurring Variant name: Recurring Variant profile: AppointmentRequest Variant purpose: Indicates schema of Recurring Appointment items Variant property names: DaysOfWeek DaysOfMonth MonthsOfYear DayInterval WeekInterval MonthInterval YearInterval InstanceStartTime InstanceEndTime StartDate EndDate ReferenceTimeZone PatternDescription ExceptionDate (Above properties as defined in Section 4.3.2 above) Variant intended usage: COMMON Property descriptions: [none] 5.4.2 Example Example #1 demonstrates a recurring appointment request in the application/properties MIME Content-Type. The recurring pattern describes the United States Election Day: Example 1: To: President From: Vice President Content-Type: application/properties; profile="appointmentrequest" Content-ID: Profile: AppointmentRequest Variant: Recurring ID: InstanceStartTime, time: 8:00 InstanceEndTime, time: 18:00 StartDate, date: 1 Jan 96 ReferenceTimeZone: EST DaysOfMonth, long: 2,3,4,5,6,7,8 DaysOfWeek: Tue MonthsOfYear, long: 11 YearInterval, long: 4 PatternDescription: "First Tuesday after a Monday in " "November, every four years" 5.5 Exception Variant of AppointmentRequest profile 5.5.1 Exception variant registration To: [mailing list TBD] Subject: Registration of application/properties MIME variant OneTime.Exception Variant name: OneTime.Exception Variant profile: AppointmentRequest Variant purpose: Indicates schema of Exception Appointment items Variant property names: OriginalExceptionDate (Above property defined in 4.4.1) Variant intended usage: COMMON Property descriptions: [none] 5.5.2 Example To: President From: Vice President Subject: Don't forget to vote! MIME-Version: 1.0 Message-ID: Content-Type: application/properties; profile="appointmentrequest" Content-ID: Profile: AppointmentRequest Variant: OneTime.Exception Start, datetime: 7 Nov 1996 18:00 PST End, datetime: 7 Nov 1996 18:00 PST AppointmentID: Figure 4 describes the appointment request/response flow: +-------------+ | Appointment |_____________\ Attendee(s) | Request | / | +-------------+ | | +-------------+ Appointment /_____________| Appointment | Organizer \ | Response | +-------------+ Figure 4 : Appointment response Here, the appointment organizer issues an appointment request. The at- tendee receives the request and issues an appointment response back to the organizer. Note that appointment responses are not required for each appointment request, and in some cases, particularly informational appointment re- quests sent to a large group of people, the meeting organizer will find responses undesirable. The appointment response profile is organized as follows: +---------------+ | Appointment | | Response | | Profile | +---------------+ | | +---------------+ +---------------+ | One Time | | Recurring | | Variant | | Variant | +---------------+ +---------------+ | +---------------+ | Exception | | Variant | +---------------+ Figure 5: Appointment Response profiles and variant overview 6.2.1 Appointment Response profile registration To: [mailing list TBD] Subject: Registration of application/properties MIME profile AppointmentResponse Profile name: AppointmentResponse Profile purpose: Indicates schema of AppointmentResponse items Profile property names: Description Summary Location Resources Confidentiality Priority Category ID AppointmentVersion (Above properties as defined in Section 4.1 above) AppointmentID (Above property as defined in Section 4.4.1 above) Response Profile special notes: Responses should include as many original appointment request properties as possible. Profile intended usage: COMMON Property descriptions: Name: Response Data type: TEXT Purpose: Attendee's response for the Appointment. Encoding: Three values are defined: "Accept": Attendee accepted the appointment request and will attend the appointment. "Decline": Attendee declined the appointment request and will not attend the appointment. "Tentative": Attendee is not sure if he can attend and has tentatively accepted the request, but does not guarantee he will attend. All values are case insensitive. Special notes: Absence of this property indicates that the response is "Accept". Required: YES Multi-valued: NEVER Intended usage: COMMON 6.3 OneTime variant of the AppointmentResponse profile 6.3.1 OneTime variant definition To: [mailing list TBD] Subject: Registration of application/properties MIME variant OneTime Variant name: OneTime Variant profile: AppointmentResponse Variant purpose: Indicates schema of OneTime AppointmentResponse items Variant property names: Start End (Above properties as defined in Section 4.2.1 above) Variant special notes: [none] Variant intended usage: COMMON Property descriptions: [none] 6.3.2 Example Example #1 demonstrates an appointment response. The minimum fields in the response are Response, AppointmentID, and AppointmentVersion. The other fields are included for cases where User Agents do not support automatic correlation of responses to the request. Example 1: To: Carolyn Keene From: Franklin W. Dixon Subject: Discuss contract issues MIME-Version: 1.0 Message-ID: Content-Type: application/properties Profile: AppointmentResponse Variant: OneTime Response: Accept AppointmentID: AppointmentVersion, datetime: 21 Oct 96 17:02:34 PST Start, datetime: 22 Oct 96 17:00:00 PST End, datetime: 22 Oct 96 18:00:00 PST Summary: "Let's have a meeting" 6.4 Recurring variant of the AppointmentResponse definition 6.4.1 Recurring variant definition To: [mailing list TBD] Subject: Registration of application/properties MIME variant Recurring Variant name: Recurring Variant profile: AppointmentResponse Variant purpose: Indicates schema of Recurring AppointmentResponse items Variant property names: DaysOfWeek DaysOfMonth MonthsOfYear DayInterval WeekInterval MonthInterval YearInterval InstanceStartTime InstanceEndTime StartDate EndDate ReferenceTimeZone PatternDescription ExceptionDate (Above property as defined in Section 4.3.2 above) Variant special notes: [none] Variant intended usage: COMMON Property descriptions: [none] 6.4.2 Example Example #1 demonstrates an appointment response to a recurring appointment or recurring appointment exception request: Example 1: To: Carolyn Keene From: Franklin W. Dixon Subject: Discuss contract issues MIME-Version: 1.0 Message-ID: Content-Type: application/properties Profile: AppointmentResponse Variant: Recurring Response: DECLINE AppointmentID: AppointmentVersion, datetime: 21 Oct 96 17:02:34 PST PatternDescription: "Every Tuesday" Summary: "No I can't have a meeting on Tuesdays :(" 6.5 Exception variant of the AppointmentResponse definition 6.5.1 Exception variant definition To: [mailing list TBD] Subject: Registration of application/properties MIME variant OneTime.Exception Variant name: OneTime.Exception Variant profile: AppointmentResponse Variant purpose: Indicates schema of an exception AppointmentResponse items Variant property names: AppointmentID OriginalExceptionDate (Above properties as defined in Section 4.4.1 above) Variant special notes: [none] Variant intended usage: COMMON Property descriptions: [none] 6.5.2 Example Example #1 demonstrates an appointment response to a recurring appointment or recurring appointment exception request: Example 1: To: Carolyn Keene From: Franklin W. Dixon Subject: Discuss contract issues MIME-Version: 1.0 Message-ID: Content-Type: application/properties Profile: AppointmentResponse Variant: OneTime.Exception Response: Accept AppointmentVersion, datetime: 21 Oct 96 17:02:34 PST AppointmentID: OriginalExceptionDate, date: 28 Oct 96 Summary: "But I can have a meeting on this Tuesday :)" 7. Acknowledgements The author gratefully acknowledges the assistance of Darren Shakib, Brian Deen, Larry Osterman, Hal Howard, Se-Wai Lee, and Lewis Geer in the preparation and review of this document. 8. Author's Addresses Ian Ferrell Microsoft One Microsoft Way Redmond, WA 98052 USA Phone: (206) 936-1086 Email: ianf@microsoft.com 9. References [MIME-PROP] Shakib, D., "A MIME Content-Type for Tagged Attribute Value Storage", draft-shakib-mime-prop-00.txt, July 1996. [RFC-822] Crocker, D., "Standard for the Format of ARPA Internet Text Messages", STD 11, RFC 822, August 1982. [RFC-1521] Borenstein, N., Freed, N., "MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies", RFC 1521, September 1993.