idnits 2.17.1 draft-ferrell-prop-cal-00.txt: ** The Abstract section seems to be numbered Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Cannot find the required boilerplate sections (Copyright, IPR, etc.) in this document. Expected boilerplate is as follows today (2024-04-16) according to https://trustee.ietf.org/license-info : IETF Trust Legal Provisions of 28-dec-2009, Section 6.a: This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 2: Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 3: This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing expiration date. The document expiration date should appear on the first and last page. ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. ** The document is more than 15 pages and seems to lack a Table of Contents. == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 1 longer page, the longest (page 1) being 1548 lines Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** There are 4 instances of too long lines in the document, the longest one being 1 character in excess of 72. ** The abstract seems to contain references ([MIME-PROP]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 196: '...g: This property SHOULD NOT include li...' Miscellaneous warnings: ---------------------------------------------------------------------------- -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- Couldn't find a document date in the document -- date freshness check skipped. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC 822' is mentioned on line 891, but not defined ** Obsolete undefined reference: RFC 822 (Obsoleted by RFC 2822) == Unused Reference: 'RFC-822' is defined on line 1506, but no explicit reference was found in the text == Unused Reference: 'RFC-1521' is defined on line 1510, but no explicit reference was found in the text -- Possible downref: Normative reference to a draft: ref. 'MIME-PROP' ** Obsolete normative reference: RFC 822 (Obsoleted by RFC 2822) ** Obsolete normative reference: RFC 1521 (Obsoleted by RFC 2045, RFC 2046, RFC 2047, RFC 2048, RFC 2049) Summary: 17 errors (**), 0 flaws (~~), 5 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Calendar Working Group Ian Ferrell 2 INTERNET DRAFT Darren Shakib 3 draft-ferrell-prop-cal-00.txt Microsoft 4 Expire in six months 6 An Application/Properties Profile for Calendar Information 8 1. Status of this Memo 10 This document is an Internet-Draft. Internet-Drafts are working docu- 11 ments of the Internet Engineering Task Force (IETF), its areas, and its 12 working groups. Note that other groups may also distribute working 13 documents as Internet-Drafts. 15 Internet-Drafts are draft documents valid for a maximum of six months 16 and may be updated, replaced, or obsoleted by other documents at any 17 time. It is inappropriate to use Internet- Drafts as reference material 18 or to cite them other than as "work in progress." 20 To learn the current status of any Internet-Draft, please check the 21 "1id-abstracts.txt" listing contained in the Internet- Drafts Shadow 22 Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), 23 munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or 24 ftp.isi.edu (US West Coast). 26 2. Abstract 28 This document defines several calendar information profiles to be car- 29 ried in the application/properties MIME Content-Type defined in [MIME- 30 PROP]. These profiles describe properties required for appointment, 31 appointment request, and appointment response. A complete list of 32 properties is provided. 34 3. Overview 36 The profiles described in this document support storing calendar infor- 37 mation in the application/properties MIME Content-Type as well as gener- 38 ating appointment requests and responses. These three basic profiles, 39 appointment, appointment request, and appointment response, are 40 separately defined instead of derived soley from a single appointment 41 profile in order to avoid ambiguous property definitions. Appointments 42 can be one-time or recurring. 44 4. The Appointment Profile 46 This section describes core appointment items to be carried in the 47 application/properties MIME Content-Type defined in [MIME-PROP]. 49 The Appointment Profile is the basis upon which the One Time, Recurring, 50 and Exception variants are constructed. The variants of the basic ap- 51 pointment inherit properties from the basic appointment profile in the 52 following way: 54 +---------------+ 55 | Appointment | 56 | Profile | 57 +---------------+ 58 | | 59 +---------------+ +---------------+ 60 | One Time | | Recurring | 61 | Variant | | Variant | 62 +---------------+ +---------------+ 63 | 64 +---------------+ 65 | Exception | 66 | Variant | 67 +---------------+ 69 Figure 1: Overview of Appointment profiles and variants 71 4.1 Appointment profile registration 73 The properties of the core appointment profile is listed below. The 74 format of this listing is in a standards based form discussed in [MIME- 75 PROP]. Note that the *types* of the properties (text, datetime, 76 boolean) are also listed in [MIME-PROP]. 78 To: [mailing list TBD] 79 Subject: Registration of application/properties MIME profile 80 Appointment 82 Profile name: Appointment 84 Profile purpose: Indicates schema of Appointment item 86 Profile property names: AlarmEnabled 87 AlarmTime 88 Busy 89 Description 90 Summary 91 Location 92 Resources 93 Confidentiality 94 Priority 95 Category 96 ID 97 AppointmentVersion 99 Profile intended usage: COMMON 101 Property descriptions: 103 Name: AlarmEnabled 105 Data type: BOOLEAN 107 Purpose: Flag indicating whether an alarm is enabled for this 108 appointment. 110 Encoding: 112 Special notes: This property is useful for preserving alarm state 113 in cases where expired appointments are rescheduled 114 in the future. 116 Absence of this property indicates Alarm is 117 ENABLED. 119 Required: NO 121 Multi-valued: SOMETIMES 123 Intended usage: COMMON 124 __________ 126 Name: AlarmTime 128 Data type: DATETIME 130 Purpose: Date and time of item alarm. 132 Encoding: 134 Special notes: Absence of this property indicates that there is 135 no alarm. 137 Required: NO 139 Multi-valued: SOMETIMES 141 Intended usage: COMMON 142 __________ 144 Name: Busy 146 Data type: BOOLEAN 148 Purpose: Describes how appointment appears in busy-time searches. 150 Encoding: 152 Special notes: TRUE indicates that for the appointment time, the 153 user is busy, and other appointments should not be 154 scheduled. 156 If this property is absent, assume TRUE. 158 Required: NO 160 Multi-valued: SOMETIMES 162 Intended usage: COMMON 163 __________ 165 Name: Description 167 Data type: TEXT 169 Purpose: A user-specified description of the appointment. 171 Encoding: 173 Special notes: This property is intended to accommodate more ver- 174 bose descriptions than the Summary property. For 175 example, it could be used to keep the agenda for a 176 meeting. 178 This property may refer to another MIME body part. 179 In particular, a URL to an HTML body part would 180 give you the ability to have a rich-text 181 description. 183 Required: NO 185 Multi-valued: SOMETIMES 187 Intended usage: COMMON 188 __________ 190 Name: Summary 192 Data type: TEXT 194 Purpose: A brief description of the appointment 196 Encoding: This property SHOULD NOT include linebreaks 198 Required: NO 200 Multi-valued: SOMETIMES 202 Intended usage: COMMON 203 __________ 205 Name: Location 207 Data type: TEXT 209 Purpose: Describes the location of the appointment 211 Encoding: 213 Special notes: [none] 215 Required: NO 217 Multi-valued: SOMETIMES 219 Intended usage: COMMON 220 __________ 222 Name: Resources 224 Data type: TEXT 226 Purpose: Contains resources needed for the appointment 228 Encoding: 230 Special Notes: Possible resources include, 231 Projector 232 VCR 233 Computer 234 Coffee Machine 235 Car 237 Required: NO 239 Multi-valued: ALWAYS 241 Intended usage: COMMON 242 __________ 244 Name: Confidentiality 246 Data type: TEXT 248 Purpose: Rating of appointment's confidentiality. 250 Encoding: Three possible values are defined. 252 "Public": Item is viewable by all users, subject to 253 global security restrictions of the system. 254 The item affects free-busy time calculations 255 and display. 257 "Private": Item is not viewable by all users, subject 258 to security restrictions of the system. The 259 item affects free-busy time calculations and 260 display. 262 "Confidential": Item is not viewable by all users, sub- 263 ject to security restrictions of the 264 system. The item does not affect free- 265 busy time calculations and display. 267 All values are case insensitive. 269 Special notes: Absence of this property indicates that the item 270 is "Public". 272 Required: NO 274 Multi-valued: SOMETIMES 276 Intended usage: COMMON 277 __________ 279 Name: Priority 281 Data type: LONG 283 Purpose: Denotes appointment priority 285 Encoding: This value should not be negative 287 Special Notes: Smaller values denote higher priority. 289 Required: NO 291 Multi-valued: SOMETIMES 293 Intended usage: COMMON 294 __________ 296 Name: Category 298 Data type: TEXT 300 Purpose: Contains appointment categorisations 302 Encoding: 304 Special Notes: Possible categories include, 305 Education 306 Holiday 307 Meeting 308 Miscellaneous 309 Phone Call 310 Sick Day 311 Special Occasion 312 Travel 313 Vacation 314 Business 315 Personal 317 Required: NO 319 Multi-valued: ALWAYS 321 Intended usage: COMMON 322 __________ 324 Name: ID 326 Data type: TEXT 328 Purpose: Unique ID for the parent item 330 Encoding: ID format is the same as MessageID, as described in 331 [RFC 822] 333 Special notes: An ID is necessary to correlate responses with 334 appointment requests and recurrence exceptions 335 with parent recurrences. 337 Required: NO 339 Multi-valued: NEVER 341 Intended usage: COMMON 342 ________ 344 Name: AppointmentVersion 346 Data type: DATETIME 348 Purpose: Datetime of the last change to the appointment that 349 would invalidate attendee responses prior to the 350 change. An example of this change is the rescheduling 351 of an appointment. 353 Special notes: Absence of this property implies that all 354 attendees' responses are valid. 356 Encoding: 358 Required: NO 360 Multi-valued: NEVER 362 Intended usage: COMMON 364 4.2 OneTime variant 366 The OneTime variant describes an appointment that occurs once, like the 367 traditional meeting or appointment. 369 4.2.1. OneTime variant of the Appointment profile 371 This section covers formal registration of the OneTime variant of the 372 Appointment Profile to a standards body. Note that it inherits the 373 properties of the basic appointment profile. 375 To: [mailing list TBD] 376 Subject: Registration of application/properties MIME variant 377 OneTime 379 Variant name: OneTime 381 Variant profile: Appointment 383 Variant purpose: Indicates schema of OneTime Appointment items 385 Variant property names: Start 386 End 388 Variant intended usage: COMMON 390 Property descriptions: 391 __________ 393 Name: Start 395 Data type: DATETIME 397 Purpose: Start date and time of the item. 399 Encoding: 401 Required: YES 403 Multi-valued: SOMETIMES 405 Intended usage: COMMON 406 __________ 408 Name: End 410 Data type: DATETIME 412 Purpose: End date and time of the item. 414 Encoding: 416 Required: YES 418 Multi-valued: SOMETIMES 420 Intended usage: COMMON 422 4.2.2 Example 424 Example #1 demonstrates a simple OneTime appointment in the 425 application/properties MIME Content-Type. The appointment has a start 426 and end datetime. 428 Example 1: 430 Content-Type: application/properties; profile="Appointment" 431 Profile: Appointment 432 Variant: OneTime 433 Start, datetime: 22 Oct 96 17:00:00 PST 434 End, datetime: 22 Oct 96 19:30:00 PST 435 Location: Conference Room 3384 436 Categories: "Business", "Review" 437 Summary: Present market feedback results 438 Resources: "Projector", "VCR", "Twister(tm) mat" 439 AlarmTime, datetime: 22 Oct 96 16:45:00 PST 440 Busy, boolean: TRUE 441 Description: "At this meeting we will review next " 442 "month's schedule. Any conflicts will be " 443 "resolved with the Twister(tm) mat." 445 4.3 Recurring variant of the Appointment Profile 447 The recurring variant describes appointments which occur more than 448 once. For example, weekly meetings could be described using a single 449 appointment with a recurring pattern. This not only reduces storage, 450 but allows the description of appointments which have no predefined 451 end date. The use of individual properties to describe components of 452 the pattern allows for a wide variety of patterns to be specified 453 without specialized parsing or grammar. 455 4.3.1 The Recurrence Model 457 Recurrence patterns are described using seven properties. Detailed 458 explanation of all of these properties is in Section 4.3.4. 460 Three properties are used to denote specific days or months. These are: 462 DaysOfWeek 463 DaysOfMonth 464 MonthsOfYear 466 Four properties describe the interval between instances of the pattern. 468 DayInterval 469 WeekInterval 470 MonthInterval 471 YearInterval 473 Using these properties, it is possible to describe calendar-based recur- 474 ring patterns. (Examples of non-calendar-based patterns include Easter 475 and Winter Solstice which are based on lunar patterns.) 477 A unique feature of the above properties is that they may be used in 478 combination to represent arbitrarily complex recurrence patterns. 480 Recurring patterns have four properties describing the date and time of 481 the recurring item. The Start and End single-instance appointment prop- 482 erties are not used. 484 InstanceStartTime 485 InstanceEndTime 486 StartDate 487 EndDate 489 The two time-related fields hold the item's start and end time. The two 490 date-related fields cover the start and end dates of the recurring pat- 491 tern. It is not required to have an end date for a pattern; unbounded 492 patterns are allowed. 494 The following examples depict recurring patterns using this model. 496 Example 1: 497 Christmas Day (December 25th) is described as: 499 DaysOfMonth, long: 25 500 MonthsOfYear, long: 12 501 YearInterval, long: 1 502 PatternDescription: "December 25, every year" 504 Example 2: 505 A weeknight television broadcast is described as: 507 DaysOfWeek, text: "Mon", "Tue", "Wed", "Thu", "Fri" 508 WeekInterval, long: 1 509 InstanceStartTime, time: 21:00 510 InstanceEndTime, time: 22:00 511 ReferenceTimeZone: PST 512 PatternDescription: "Monday-Friday, every week, 9:00p.m.-10:00 p.m." 514 Example 3: 515 Payday is described as: 517 DaysOfMonth, long: 15, -1 518 MonthInterval, long: 1 519 InstanceStartTime, time: 12:00 520 InstanceEndTime, time: 12:00 521 PatternDescription: "15th and last day of the month at noon" 523 Example 4: 524 U.S. Presidential Election Day is described as: 526 DaysOfMonth, long: 2,3,4,5,6,7,8 527 DaysOfWeek: Tue 528 MonthsOfYear, long: 11 529 YearInterval, long: 4 530 PatternDescription: "First Tuesday after a Monday in November, " 531 "every four years" 533 (Since there must be a Monday in November before the election day, 534 November 1 is disqualified.) 536 4.3.2 Recurring variant of the Appointment Profile definition 538 This section covers formal registration of the Recurring variant of the 539 Appointment Profile to a standards body. 541 To: [mailing list TBD] 542 Subject: Registration of application/properties MIME variant 543 Recurring 545 Variant name: Recurring 547 Variant profile: Appointment 549 Variant purpose: Indicates schema of Recurring Appointment items 551 Variant property names: DaysOfWeek 552 DaysOfMonth 553 MonthsOfYear 554 DayInterval 555 WeekInterval 556 MonthInterval 557 YearInterval 558 InstanceStartTime 559 InstanceEndTime 560 StartDate 561 EndDate 562 ReferenceTimeZone 563 PatternDescription 564 ExceptionDate 566 Variant intended usage: COMMON 568 Property descriptions: 570 Name: DaysOfWeek 572 Data type: TEXT 574 Purpose: A list of the individual days of the week that the 575 appointment can occur. 577 Encoding: Sun, Mon, Tue, Wed, Thu, Fri, Sat. The values are 578 case insensitive and non-localizable. 580 Special notes: For example, a recurring weekly Appointment that 581 occurs on Monday and Wednesday sets DaysOfWeek 582 equal to "Mon, Wed". 584 Required: NO 586 Multi-valued: ALWAYS 588 Intended usage: COMMON 589 __________ 591 Name: DaysOfMonth 593 Data type: LONG 595 Purpose: A list of the individual days of the month that the 596 appointment can occur. 598 Encoding: 1 to 31 / -31 to -1. 0 is undefined. 600 Special notes: Negative values specify an offset from the end of 601 the month. Negative one is the last day of the 602 month. For example, a recurring monthly 603 Appointment that occurs on the first and tenth 604 days sets DaysOfMonth equal to "1, 10". 606 Required: NO 608 Multi-valued: ALWAYS 610 Intended usage: COMMON 611 __________ 613 Name: MonthsOfYear 615 Data type: LONG 617 Purpose: A list of the individual months of the year that the 618 appointment can occur. 620 Encoding: 1 - 12 622 Special notes: For example, a recurring appointment that occurs 623 in the fourth and tenth months sets MonthsOfYear 624 equal to "4, 10". 626 Required: NO 628 Multi-valued: SOMETIMES 630 Intended usage: COMMON 631 _________ 633 Name: DayInterval 635 Data type: LONG 637 Purpose: Interval between days for a recurrence pattern. 639 Encoding: 641 Special notes: For example, every other day has DayInterval = 2. 643 Required: NO 645 Multi-valued: NEVER 647 Intended usage: COMMON 648 __________ 650 Name: WeekInterval 652 Data type: LONG 654 Purpose: Interval between weeks for a recurrence pattern. 656 Encoding: 658 Special notes: For example, pay day every two weeks has a 659 WeekInterval of 2. 661 Required: NO 663 Multi-valued: SOMETIMES 665 Intended usage: COMMON 666 __________ 668 Name: MonthInterval 670 Data type: LONG 672 Purpose: Interval between months for a recurrence pattern. 674 Encoding: 676 Special notes: For example, a quarterly appointment, every three 677 months, has a MonthInterval of 3. Property taxes, 678 due every six months, have a MonthInterval of 6. 680 Required: NO 682 Multi-valued: SOMETIMES 684 Intended usage: COMMON 685 __________ 687 Name: YearInterval 689 Data type: LONG 691 Purpose: Interval between years for a recurrence pattern. 693 Encoding: 695 Special notes: For example, the Summer Olympics have a 696 YearInterval of 4. 698 Required: NO 700 Multi-valued: SOMETIMES 702 Intended usage: COMMON 703 __________ 705 Name: InstanceStartTime 707 Data type: Time 709 Purpose: Start time for the appointment within the recurring 710 pattern. 712 Encoding: 714 Required: NO 716 Multi-valued: SOMETIMES 718 Intended usage: COMMON 719 __________ 721 Name: InstanceEndTime 723 Data type: Time 725 Purpose: End time for the appointment within the recurring 726 pattern. 728 Encoding: 730 Required: NO 732 Multi-valued: SOMETIMES 734 Intended usage: COMMON 735 __________ 737 Name: StartDate 739 Data type: DATE 741 Purpose: Start date for the recurring pattern. 743 Encoding: 745 Required: YES 747 Multi-valued: NEVER 749 Intended usage: COMMON 750 __________ 752 Name: EndDate 754 Data type: DATE 756 Purpose: End date for the recurrence pattern. 758 Encoding: 760 Special notes: If EndDate is not specified, the appointment is an 761 unbounded recurring series. 763 Required: NO 765 Multi-valued: NEVER 767 Intended usage: COMMON 768 __________ 770 Name: ReferenceTimeZone 772 Data type: TEXT 774 Purpose: Timezone for the recurrence pattern. 776 Encoding: 778 Special notes: Contents of this property will follow the [RFC 779 822] time zone description, however we need 780 additional semantics to define daylight savings 781 transitions. Exact format of this property remains 782 OPEN. 784 Required: NO 786 Multi-valued: SOMETIMES 788 Intended usage: COMMON 789 __________ 791 Name: PatternDescription 793 Data type: TEXT 795 Purpose: Human-readable definition of recurrence pattern. 797 Encoding: 799 Special notes: Some examples of this string are 800 "Every 3 months, on the 12th day, from 12/1/96" 801 "Every week on Wednesday from 7/10/96 to 12/31/96" 803 This property is highly-recommended when sending a 804 recurring appointment request so clients have a 805 text description of the pattern to display. 807 Required: NO 809 Multi-valued: SOMETIMES 811 Intended usage: COMMON 812 __________ 814 Name: ExceptionDate 816 Data type: DATE 818 Purpose: Instance date of an exception to the recurring pattern. 820 Encoding: 822 Special notes: An exception is an appointment or appointments 823 that are excluded from a recurrence pattern. 825 Required: NO 827 Multi-valued: ALWAYS 829 Intended usage: COMMON 831 4.3.3 Example 833 Example #1 demonstrates a recurring appointment in the 834 application/properties MIME Content-Type. The recurring pattern 835 describes the United States Presidential Election Day: 837 Example 1: 839 Content-Type: application/properties; profile="Appointment" 840 Profile: Appointment 841 Variant: Recurring 842 InstanceStartTime, time: 8:00 843 InstanceEndTime, time: 18:00 844 ID: 845 StartDate, date: 1 Jan 96 846 ReferenceTimeZone: EST 847 DaysOfMonth, long: 2,3,4,5,6,7,8 848 DaysOfWeek: Tue 849 MonthsOfYear, long: 11 850 YearInterval, long: 4 851 PatternDescription: "First Tuesday after a Monday in November, " 852 "every four years" 853 Location: Conference Room 3384 854 Categories: "Business", "Review" 855 Summary: Present market feedback results 856 Busy, boolean: TRUE 858 4.4 Exception Variant 860 4.4.1 Exception variant of Appointment Profile registration 862 An exception is an appointment or appointments that are excluded from a 863 recurrence pattern. 865 To: [mailing list TBD] 866 Subject: Registration of application/properties MIME variant 867 OneTime.Exception 869 Variant name: OneTime.Exception 871 Variant profile: Appointment 873 Variant purpose: Indicates schema of OneTime.Exception Appointment a 874 items where the item contains the data for an ex- 875 ception to a recurrence pattern. 877 Variant property names: AppointmentID 878 OriginalExceptionDate 880 Variant intended usage: COMMON 882 Property descriptions: 884 Name: AppointmentID 886 Data type: TEXT 888 Purpose: ID of the parent recurring item 890 Encoding: AppointmentID format is the same as MessageID, as 891 described in [RFC 822] 893 Required: NO 895 Multi-valued: NEVER 897 Intended usage: COMMON 898 _________ 900 Name: OriginalExceptionDate 902 Data type: DATE 904 Purpose: Instance date of the exception to the recurrence 905 pattern. 907 Encoding: 909 Required: NO 911 Multi-valued: NEVER 913 Intended usage: COMMON 915 4.4.2 Example 917 Example #1 demonstrates an exception to recurring appointment in the 918 application/properties MIME Content-Type. 920 Example 1: 922 Content-Type: application/properties; profile="appointment" 923 Profile: Appointment 924 Variant: OneTime.Exception 925 Start, datetime: 7 Nov 1996 8:00 PST 926 End, datetime: 7 Nov 1996 18:00 PST 927 Summary: "Resceduling for the 7th, instead of the 5th." 928 AppointmentID: 929 OriginalExceptionDate, date: 5 Nov 1996 931 5. The Appointment Request profile 933 5.1 Appointment Request overview 935 Appointment request messages are sent from the appointment organizer to 936 attendees. Requests contain the minimal amount of information needed to 937 determine a time and date for the appointment. 939 Figure 2 describes the appointment request flow: 941 +-------------+ 942 | Appointment |_____________\ Attendee(s) 943 | Request | / 944 +-------------+ 946 Figure 2 : Appointment requests 948 If an appointment needs to be rescheduled, the client generates a new 949 appointment request with the AppointmentID property equal to the origi- 950 nal appointment's ID property. Recipients need to verify whether an 951 appointment request is for a new appointment, cancellation, or re- 952 scheduled appointment. 954 The appointment request profile is organized as follows: 956 +---------------+ 957 | Appointment | 958 | Request | 959 | Profile | 960 +---------------+ 961 | | 962 +---------------+ +---------------+ 963 | One Time | | Recurring | 964 | Request | | Request | 965 | Variant | | Variant | 966 +---------------+ +---------------+ 967 | 968 +---------------+ 969 | Exception | 970 | Request | 971 | Variant | 972 +---------------+ 974 Figure 3: Appointment Request profiles and variants overview 976 5.2 Appointment Request profile registration 978 To: [mailing list TBD] 979 Subject: Registration of application/properties MIME profile 980 AppointmentRequest 982 Profile name: AppointmentRequest 984 Profile purpose: Indicates schema of AppointmentRequest item 986 Profile property names: Description 987 Summary 988 Location 989 Resources 990 Confidentiality 991 Priority 992 Category 993 ID 994 AppointmentVersion 995 (Above properties as defined in 996 Section 4.1 above) 997 AppointmentID 998 (Above properties as defined in 999 Section 4.4.1 above) 1000 ResponseRequested 1001 RequestType 1003 Profile intended usage: COMMON 1005 Property descriptions: 1007 Name: ResponseRequested 1009 Data type: BOOLEAN 1011 Purpose: Flag denoting whether the appointment organizer requests 1012 an attendance response from appointment attendees. 1014 Encoding: 1016 Special notes: TRUE = response is requested, 1017 FALSE = response is not requested. 1019 Some appointments do not require 1020 attendance tracking or the organizer 1021 does not care. This property should 1022 be set accordingly. 1024 If the property is absent, it is 1025 assumed FALSE. 1027 Required: NO 1029 Multi-valued: SOMETIMES 1031 Intended usage: COMMON 1032 _______ 1034 Name: RequestType 1036 Data type: TEXT 1038 Purpose: Indicates the type of the request. 1040 Encoding: One of the following values: 1041 "Request" Request to attend appointment. 1042 "Cancel" Request to cancel appointment. 1043 Values are case insensitive. 1045 Special Notes: If the value is absent, "Request" is assumed. 1047 Required: NO 1049 Multi-valued: NEVER 1051 Intended usage: COMMON 1053 5.3 OneTimeRequest variant of AppointmentRequest Profile 1055 5.3.1. OneTimeRequest variant registration 1057 To: [mailing list TBD] 1058 Subject: Registration of application/properties MIME variant 1059 OneTimeRequest 1061 Variant name: OneTimeRequest 1063 Variant profile: AppointmentRequest 1065 Variant purpose: Indicates schema of OneTime Request items 1067 Variant property names: Start 1068 End 1069 (Above properties as defined in 1070 Section 4.2.1 above) 1072 Variant intended usage: COMMON 1074 Property descriptions: [none] 1076 5.3.2 Example 1078 Example #1 demonstrates a minimal appointment request in the applica- 1079 tion/properties MIME Content-Type. The appointment has a start and end 1080 datetime. 1082 Example 1: 1084 To: Franklin W. Dixon 1085 From: Carolyn Keene 1086 Subject: Discuss contract issues 1087 MIME-Version: 1.0 1088 Message-ID: 1089 Content-Type: application/properties; profile="appointment" 1090 Content-ID: 1092 ID: 1093 Profile: Appointment 1094 Variant: OneTimeRequest 1095 Start, datetime: 22 Oct 96 14:00:00 UT 1096 End, datetime: 22 Oct 96 15:00:00 UT 1098 5.4 Recurring variant of AppointmentRequest profile 1100 5.4.1 Recurring variant definition 1102 To: [mailing list TBD] 1103 Subject: Registration of application/properties MIME variant 1104 Recurring 1106 Variant name: Recurring 1108 Variant profile: AppointmentRequest 1110 Variant purpose: Indicates schema of Recurring Appointment items 1112 Variant property names: DaysOfWeek 1113 DaysOfMonth 1114 MonthsOfYear 1115 DayInterval 1116 WeekInterval 1117 MonthInterval 1118 YearInterval 1119 InstanceStartTime 1120 InstanceEndTime 1121 StartDate 1122 EndDate 1123 ReferenceTimeZone 1124 PatternDescription 1125 ExceptionDate 1126 (Above properties as defined in 1127 Section 4.3.2 above) 1129 Variant intended usage: COMMON 1131 Property descriptions: [none] 1133 5.4.2 Example 1135 Example #1 demonstrates a recurring appointment request in the 1136 application/properties MIME Content-Type. The recurring pattern 1137 describes the United States Election Day: 1139 Example 1: 1141 To: President 1142 From: Vice President 1146 Content-Type: application/properties; profile="appointmentrequest" 1147 Content-ID: 1149 Profile: AppointmentRequest 1150 Variant: Recurring 1151 ID: 1152 InstanceStartTime, time: 8:00 1153 InstanceEndTime, time: 18:00 1154 StartDate, date: 1 Jan 96 1155 ReferenceTimeZone: EST 1156 DaysOfMonth, long: 2,3,4,5,6,7,8 1157 DaysOfWeek: Tue 1158 MonthsOfYear, long: 11 1159 YearInterval, long: 4 1160 PatternDescription: "First Tuesday after a Monday in " 1161 "November, every four years" 1163 5.5 Exception Variant of AppointmentRequest profile 1165 5.5.1 Exception variant registration 1167 To: [mailing list TBD] 1168 Subject: Registration of application/properties MIME 1169 variant OneTime.Exception 1171 Variant name: OneTime.Exception 1173 Variant profile: AppointmentRequest 1175 Variant purpose: Indicates schema of Exception Appointment items 1177 Variant property names: OriginalExceptionDate 1178 (Above property defined in 4.4.1) 1180 Variant intended usage: COMMON 1182 Property descriptions: [none] 1184 5.5.2 Example 1186 To: President 1187 From: Vice President 1188 Subject: Don't forget to vote! 1189 MIME-Version: 1.0 1190 Message-ID: 1191 Content-Type: application/properties; 1192 profile="appointmentrequest" 1193 Content-ID: 1195 Profile: AppointmentRequest 1196 Variant: OneTime.Exception 1197 Start, datetime: 7 Nov 1996 18:00 PST 1198 End, datetime: 7 Nov 1996 18:00 PST 1199 AppointmentID: 1212 Figure 4 describes the appointment request/response flow: 1214 +-------------+ 1215 | Appointment |_____________\ Attendee(s) 1216 | Request | / | 1217 +-------------+ | 1218 | 1219 +-------------+ 1220 Appointment /_____________| Appointment | 1221 Organizer \ | Response | 1222 +-------------+ 1224 Figure 4 : Appointment response 1226 Here, the appointment organizer issues an appointment request. The at- 1227 tendee receives the request and issues an appointment response back to 1228 the organizer. 1230 Note that appointment responses are not required for each appointment 1231 request, and in some cases, particularly informational appointment re- 1232 quests sent to a large group of people, the meeting organizer will find 1233 responses undesirable. 1235 The appointment response profile is organized as follows: 1237 +---------------+ 1238 | Appointment | 1239 | Response | 1240 | Profile | 1241 +---------------+ 1242 | | 1243 +---------------+ +---------------+ 1244 | One Time | | Recurring | 1245 | Variant | | Variant | 1246 +---------------+ +---------------+ 1247 | 1248 +---------------+ 1249 | Exception | 1250 | Variant | 1251 +---------------+ 1253 Figure 5: Appointment Response profiles and variant overview 1255 6.2.1 Appointment Response profile registration 1257 To: [mailing list TBD] 1258 Subject: Registration of application/properties MIME 1259 profile AppointmentResponse 1261 Profile name: AppointmentResponse 1263 Profile purpose: Indicates schema of AppointmentResponse items 1265 Profile property names: Description 1266 Summary 1267 Location 1268 Resources 1269 Confidentiality 1270 Priority 1271 Category 1272 ID 1273 AppointmentVersion 1274 (Above properties as defined in 1275 Section 4.1 above) 1276 AppointmentID 1277 (Above property as defined in 1278 Section 4.4.1 above) 1279 Response 1281 Profile special notes: Responses should include as many original 1282 appointment request properties as possible. 1284 Profile intended usage: COMMON 1286 Property descriptions: 1288 Name: Response 1290 Data type: TEXT 1292 Purpose: Attendee's response for the Appointment. 1294 Encoding: Three values are defined: 1296 "Accept": Attendee accepted the 1297 appointment request 1298 and will attend the 1299 appointment. 1301 "Decline": Attendee declined the 1302 appointment 1303 request and will not attend 1304 the appointment. 1306 "Tentative": Attendee is not sure if he 1307 can attend and has 1308 tentatively accepted the 1309 request, but does not 1310 guarantee he will attend. 1312 All values are case insensitive. 1314 Special notes: Absence of this property indicates that the 1315 response is "Accept". 1317 Required: YES 1319 Multi-valued: NEVER 1321 Intended usage: COMMON 1323 6.3 OneTime variant of the AppointmentResponse profile 1325 6.3.1 OneTime variant definition 1327 To: [mailing list TBD] 1328 Subject: Registration of application/properties MIME 1329 variant OneTime 1331 Variant name: OneTime 1333 Variant profile: AppointmentResponse 1335 Variant purpose: Indicates schema of OneTime 1336 AppointmentResponse items 1338 Variant property names: Start 1339 End 1340 (Above properties as defined in 1341 Section 4.2.1 above) 1343 Variant special notes: [none] 1345 Variant intended usage: COMMON 1347 Property descriptions: [none] 1349 6.3.2 Example 1351 Example #1 demonstrates an appointment response. The minimum fields in 1352 the response are Response, AppointmentID, and AppointmentVersion. The 1353 other fields are included for cases where User Agents do not support 1354 automatic correlation of responses to the request. 1356 Example 1: 1358 To: Carolyn Keene 1359 From: Franklin W. Dixon 1360 Subject: Discuss contract issues 1361 MIME-Version: 1.0 1362 Message-ID: 1363 Content-Type: application/properties 1365 Profile: AppointmentResponse 1366 Variant: OneTime 1367 Response: Accept 1368 AppointmentID: 1369 AppointmentVersion, datetime: 21 Oct 96 17:02:34 PST 1370 Start, datetime: 22 Oct 96 17:00:00 PST 1371 End, datetime: 22 Oct 96 18:00:00 PST 1372 Summary: "Let's have a meeting" 1374 6.4 Recurring variant of the AppointmentResponse definition 1376 6.4.1 Recurring variant definition 1378 To: [mailing list TBD] 1379 Subject: Registration of application/properties MIME 1380 variant Recurring 1382 Variant name: Recurring 1384 Variant profile: AppointmentResponse 1386 Variant purpose: Indicates schema of Recurring 1387 AppointmentResponse items 1389 Variant property names: DaysOfWeek 1390 DaysOfMonth 1391 MonthsOfYear 1392 DayInterval 1393 WeekInterval 1394 MonthInterval 1395 YearInterval 1396 InstanceStartTime 1397 InstanceEndTime 1398 StartDate 1399 EndDate 1400 ReferenceTimeZone 1401 PatternDescription 1402 ExceptionDate 1403 (Above property as defined in 1404 Section 4.3.2 above) 1406 Variant special notes: [none] 1408 Variant intended usage: COMMON 1410 Property descriptions: [none] 1412 6.4.2 Example 1414 Example #1 demonstrates an appointment response to a recurring 1415 appointment or recurring appointment exception request: 1417 Example 1: 1419 To: Carolyn Keene 1420 From: Franklin W. Dixon 1421 Subject: Discuss contract issues 1422 MIME-Version: 1.0 1423 Message-ID: 1424 Content-Type: application/properties 1426 Profile: AppointmentResponse 1427 Variant: Recurring 1428 Response: DECLINE 1429 AppointmentID: 1430 AppointmentVersion, datetime: 21 Oct 96 17:02:34 PST 1431 PatternDescription: "Every Tuesday" 1432 Summary: "No I can't have a meeting on Tuesdays :(" 1434 6.5 Exception variant of the AppointmentResponse definition 1436 6.5.1 Exception variant definition 1438 To: [mailing list TBD] 1439 Subject: Registration of application/properties MIME variant 1440 OneTime.Exception 1442 Variant name: OneTime.Exception 1444 Variant profile: AppointmentResponse 1446 Variant purpose: Indicates schema of an exception 1447 AppointmentResponse items 1449 Variant property names: AppointmentID 1450 OriginalExceptionDate 1451 (Above properties as defined in 1452 Section 4.4.1 above) 1454 Variant special notes: [none] 1456 Variant intended usage: COMMON 1458 Property descriptions: [none] 1460 6.5.2 Example 1462 Example #1 demonstrates an appointment response to a 1463 recurring appointment or recurring appointment exception 1464 request: 1466 Example 1: 1468 To: Carolyn Keene 1469 From: Franklin W. Dixon 1470 Subject: Discuss contract issues 1471 MIME-Version: 1.0 1472 Message-ID: 1473 Content-Type: application/properties 1475 Profile: AppointmentResponse 1476 Variant: OneTime.Exception 1477 Response: Accept 1478 AppointmentVersion, datetime: 21 Oct 96 17:02:34 PST 1479 AppointmentID: 1480 OriginalExceptionDate, date: 28 Oct 96 1481 Summary: "But I can have a meeting on this Tuesday :)" 1483 7. Acknowledgements 1485 The author gratefully acknowledges the assistance of Darren Shakib, 1486 Brian Deen, Larry Osterman, Hal Howard, Se-Wai Lee, and Lewis Geer in 1487 the preparation and review of this document. 1489 8. Author's Addresses 1491 Ian Ferrell 1492 Microsoft 1493 One Microsoft Way 1494 Redmond, WA 98052 1495 USA 1497 Phone: (206) 936-1086 1498 Email: ianf@microsoft.com 1500 9. References 1502 [MIME-PROP] 1503 Shakib, D., "A MIME Content-Type for Tagged Attribute Value 1504 Storage", draft-shakib-mime-prop-00.txt, July 1996. 1506 [RFC-822] 1507 Crocker, D., "Standard for the Format of ARPA Internet Text 1508 Messages", STD 11, RFC 822, August 1982. 1510 [RFC-1521] 1511 Borenstein, N., Freed, N., "MIME (Multipurpose Internet Mail 1512 Extensions) Part One: Mechanisms for Specifying and Describing 1513 the Format of Internet Message Bodies", RFC 1521, September 1993.