home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_a_c / draft-ietf-calsch-ical-02.txt < prev    next >
Text File  |  1997-08-06  |  158KB  |  4,372 lines

  1.  
  2.  
  3. Network Working Group                               Frank Dawson, Lotus
  4. Internet Draft                               Derik Stenerson, Microsoft
  5. <ietf-calsch-ical-02.txt>                                 July 29, 1997
  6. Expires January 1998
  7.  
  8.  
  9.      Internet Calendaring and Scheduling Core Object Specification
  10.                               (iCalendar)
  11.  
  12.  
  13. Status of this Memo
  14.  
  15.  
  16.    This document is an Internet-Draft. Internet-Drafts are working
  17.    documents of the Internet Engineering Task Force (IETF), its areas,
  18.    and its working groups. Note that other groups may also distribute
  19.    working documents as Internet-Drafts.
  20.  
  21.    Internet-Drafts are draft documents valid for a maximum of six
  22.    months. Internet-Drafts may be updated, replaced, or made obsolete by
  23.    other documents at any time. It is not appropriate to use Internet-
  24.    Drafts as reference material or to cite them other than as a "working
  25.    draft" or "work in progress".
  26.  
  27.    To learn the current status of any Internet-Draft, please check the
  28.    1id-abstracts.txt listing contained in the Internet-Drafts Shadow
  29.    Directories on ds.internic.net (US East Coast), nic.nordu.net
  30.    (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific
  31.    Rim).
  32.  
  33.    Distribution of this document is unlimited.
  34.  
  35.  
  36. Abstract
  37.  
  38.  
  39.    There is a clear need to provide and deploy interoperable calendaring
  40.    and scheduling services for the Internet. Current group scheduling
  41.    and Personal Information Management (PIM) products are being extended
  42.    for use across the Internet, today, in proprietary ways. This
  43.    document has been defined to provide the a definition of a common
  44.    format for openly exchanging calendaring and scheduling information
  45.    across the Internet.
  46.  
  47.    This memo is formatted as a registration for a MIME media type per
  48.    [RFC 2048]. However, the format in this memo is equally applicable
  49.    for use outside of a MIME message content type.
  50.  
  51.    The proposed media type value is 'TEXT/CALENDAR'. This string would
  52.    label a media type containing calendaring and scheduling information
  53.    encoded as text characters formatted in a manner outlined below.
  54.  
  55.    This MIME media type provides a standard content type for capturing
  56.    calendar event and to-do information. It also can be used to convey
  57.    free/busy time information. The content type is suitable as a MIME
  58.    message entity that can be transferred over MIME based email systems
  59.    or using HTTP. In addition, the content type is useful as an object
  60.    for interactions between desktop applications using the operating
  61.    system clipboard, drag/drop or file systems capabilities.
  62.  
  63.  
  64.  
  65. Dawson/Stenerson                   1                ExpiresJanuary 1998
  66.  
  67.  
  68. Internet Draft       C&S Core Object Specification        July 29, 1997
  69.  
  70.    This document is based on the earlier work of the vCalendar
  71.    specification for the exchange of personal calendaring and scheduling
  72.    information. In order to avoid confusion with this referenced work,
  73.    this document is to be known as the iCalendar specification. This
  74.    document is based on the calendaring and scheduling model defined in
  75.    [ICMS]. The document is also the basis for the calendaring and
  76.    scheduling interoperability protocol defined in [ITIP-1], [ITIP-2]
  77.    and [ITIP-3].
  78.  
  79.    This document also includes the format for defining content type
  80.    profiles. A content type profile is a document that defines a set of
  81.    usage constraints for the iCalendar object. For example, a profile
  82.    might be defined to specify how the iCalendar object can be used to
  83.    provide for a set of interpersonal scheduling messages. Such a
  84.    profile might define scheduling messages that request an event be
  85.    scheduled, reply to an event request, send a cancellation notice for
  86.    an event, modify or replace the definition of an event, provide a
  87.    counter proposal for an original event request, delegate an event
  88.    request to another individual, request free or busy time, reply to a
  89.    free or busy time request, or provide similar scheduling messages for
  90.    a to-do or journal entry calendar component.
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128. Dawson/Stenerson                   2               Expires January 1998
  129.  
  130.  
  131. Internet Draft       C&S Core Object Specification        July 29, 1997
  132.  
  133.  
  134.    Table of Contents
  135.  
  136. 1. Introduction........................................................5
  137. 2. Basic Grammar and Conventions.......................................5
  138. 3. Definitions.........................................................6
  139.  3.1 Alarm............................................................6
  140.  3.2 Busy Time........................................................6
  141.  3.3 Calendar Component...............................................6
  142.  3.4 Calendar Date....................................................6
  143.  3.5 Calendar Object..................................................7
  144.  3.6 Calendar Properties..............................................7
  145.  3.7 Calendar Scale...................................................7
  146.  3.8 Component Properties.............................................7
  147.  3.9 Coordinate Universal Time (UTC)..................................7
  148.  3.10 Daylight Saving Time (DST)......................................7
  149.  3.11 Event...........................................................7
  150.  3.12 Free Time.......................................................7
  151.  3.13 Gregorian Calendar..............................................8
  152.  3.14 Journal.........................................................8
  153.  3.15 Local Time......................................................8
  154.  3.16 Period..........................................................8
  155.  3.17 Recurrence Rule.................................................8
  156.  3.18 Reminder........................................................8
  157.  3.19 Repeating Event or To-do........................................8
  158.  3.20 Standard Time...................................................8
  159.  3.21 Time Zone.......................................................9
  160.  3.22 To-do...........................................................9
  161. 4. TEXT/CALENDAR Registration Information..............................9
  162. 5. iCalendar Object Specification.....................................11
  163.  5.1 Syntax Considerations...........................................11
  164.   5.1.1 Content Lines................................................13
  165.   5.1.2 List and Field Separators....................................14
  166.   5.1.3 Multiple Values..............................................14
  167.   5.1.4 Character Set................................................15
  168.   5.1.5 Language.....................................................15
  169.   5.1.6 Content Encoding.............................................15
  170.   5.1.7 Binary Content...............................................15
  171.   5.1.8 Recurrence Set...............................................15
  172.   5.1.9 Data Types...................................................16
  173.  5.2 iCalendar Object................................................21
  174.  5.3 Property........................................................21
  175.  5.4 Calendar Components.............................................22
  176.   5.4.1 Event Component..............................................22
  177.   5.4.2 To-do Component..............................................23
  178.   5.4.3 Journal Component............................................23
  179.   5.4.4 Free/Busy Component..........................................24
  180.   5.4.5 Alarm Component..............................................25
  181.   5.4.6 Timezone Component...........................................26
  182.  5.5 Calendar Properties.............................................30
  183.   5.5.1 Calendar Scale...............................................30
  184.   5.5.2 Product Identifier...........................................30
  185.   5.5.3 Profile......................................................31
  186.   5.5.4 Profile Version..............................................31
  187.   5.5.5 Source.......................................................32
  188.   5.5.6 Source Name..................................................32
  189.   5.5.7 Version......................................................32
  190.  
  191. Dawson/Stenerson                   3               Expires January 1998
  192.  
  193.  
  194. Internet Draft       C&S Core Object Specification        July 29, 1997
  195.  
  196.  5.6 Component Properties............................................33
  197.   5.6.1 Attachment...................................................33
  198.   5.6.2 Attendee.....................................................33
  199.   5.6.3 Categories...................................................36
  200.   5.6.4 Classification...............................................36
  201.   5.6.5 Comment......................................................37
  202.   5.6.6 Date/Time Completed..........................................37
  203.   5.6.7 Date/Time Created............................................38
  204.   5.6.8 Date/Time Due................................................38
  205.   5.6.9 Date/Time End................................................38
  206.   5.6.10 Date/Time Stamp.............................................39
  207.   5.6.11 Date/Time Start.............................................39
  208.   5.6.12 Daylight....................................................40
  209.   5.6.13 Description.................................................40
  210.   5.6.14 Duration....................................................41
  211.   5.6.15 Exception Date/Times........................................41
  212.   5.6.16 Exception Rule..............................................42
  213.   5.6.17 Free/Busy Time..............................................42
  214.   5.6.18 Geographic Position.........................................43
  215.   5.6.19 Last Modified...............................................44
  216.   5.6.20 Location....................................................44
  217.   5.6.21 Priority....................................................45
  218.   5.6.22 Recurrence Date/Times.......................................45
  219.   5.6.23 Recurrence ID...............................................46
  220.   5.6.24 Recurrence Rule.............................................46
  221.   5.6.25 Related To..................................................52
  222.   5.6.26 Repeat Count................................................53
  223.   5.6.27 Request Status..............................................53
  224.   5.6.28 Resources...................................................55
  225.   5.6.29 Response Sequence Number....................................56
  226.   5.6.30 Sequence Number.............................................56
  227.   5.6.31 Status......................................................57
  228.   5.6.32 Summary.....................................................57
  229.   5.6.33 Time Transparency...........................................58
  230.   5.6.34 Time Zone Name..............................................58
  231.   5.6.35 Time Zone Offset............................................59
  232.   5.6.36 Uniform Resource Locator....................................59
  233.   5.6.37 Unique Identifier...........................................59
  234.   5.6.38 Non-standard Properties.....................................60
  235. 6. Recommended Practices..............................................60
  236. 7. Registration of Content Type Elements..............................61
  237.  7.1 Registration of New and ModifiedProfiles........................61
  238.  7.2 Registration of New Properties..................................61
  239.   7.2.1 Define the property..........................................61
  240.   7.2.2 Post the Property definition.................................62
  241.   7.2.3 Allow a comment period.......................................62
  242.   7.2.4 Submit the property for approval.............................62
  243.  7.3 Property Change Control.........................................63
  244. 8. File extension.....................................................63
  245. 9. Macintosh File Type Code...........................................63
  246. 10. References........................................................63
  247. 11. Acknowledgments...................................................65
  248. 12. Author's Address..................................................65
  249. 13. iCalendar Object Examples.........................................66
  250.  
  251.  
  252.  
  253.  
  254. Dawson/Stenerson                   4               Expires January 1998
  255.  
  256.  
  257. Internet Draft       C&S Core Object Specification        July 29, 1997
  258.  
  259.  
  260.  
  261. 1.      Introduction
  262.  
  263.  
  264.    The use of calendaring and scheduling has grown considerably in the
  265.    last decade. Enterprise and inter-enterprise business has become
  266.    dependent on rapid scheduling of events and actions using this
  267.    information technology. However, the longer term growth of
  268.    calendaring and scheduling, is currently limited by the lack of
  269.    Internet standards for the message content types that are central to
  270.    these groupware applications. This specification is intended to
  271.    progress the level of interoperability possible between dissimilar
  272.    calendaring and scheduling applications. This specification defines a
  273.    MIME content type for exchanging electronic calendaring and
  274.    scheduling information. The Internet Calendaring and Scheduling Core
  275.    Object Specification, or iCalendar, allows for the capture and
  276.    exchange of information normally stored within a calendaring and
  277.    scheduling application; such as a Personal Information Manager or a
  278.    Group Scheduling product.
  279.  
  280.    The calendaring and scheduling model implemented by this
  281.    specification is defined in the [ICMS].
  282.  
  283.    The format is suitable as an exchange format between applications or
  284.    systems. The format is defined in terms of a MIME content type. This
  285.    will enable the object to be exchanged using several transports,
  286.    including but not limited to SMTP, HTTP, a file system, desktop
  287.    interactive protocols such as the use of a memory-based clipboard or
  288.    drag/drop interactions, point-to-point asynchronous communication,
  289.    wired-network transport, or some form of unwired transport such as
  290.    infrared might also be used.
  291.  
  292.    The definition of a calendaring and scheduling interoperability
  293.    protocol is the subject of another specification [ITIP-1], [ITIP-2]
  294.    and [ITIP-3].
  295.  
  296.    The specification also provides for the definition of usage profiles
  297.    that will map this content type to a set of messages for supporting
  298.    calendaring and scheduling operations such as requesting, replying
  299.    to, modifying, and canceling meetings or appointments, to-dos and
  300.    journal entries. The usage profiles can be used to define other
  301.    calendaring and scheduling operations such a requesting for and
  302.    replying with free/busy time data.
  303.  
  304.    The specification also includes a formal grammar for the content type
  305.    to aid in the implementation of parsers and to serve as the
  306.    definitive reference when ambiguities or questions arise in
  307.    interpreting the descriptive prose definition of the specification.
  308.  
  309. 2.      Basic Grammar and Conventions
  310.  
  311.  
  312.    This document makes use of both a descriptive prose and a more formal
  313.    notation for defining the calendaring and scheduling format.
  314.  
  315.    The notation used in this document is the augmented BNF notation of
  316.    [RFC 822]. Readers intending on implementing this format defined in
  317.  
  318. Dawson/Stenerson                   5               Expires January 1998
  319.  
  320.  
  321. Internet Draft       C&S Core Object Specification        July 29, 1997
  322.  
  323.    this document should be familiar with this notation in order to
  324.    properly interpret the specifications of this document.
  325.  
  326.    All numeric and hexadecimal values used in this document are given in
  327.    decimal notation. All names of properties, property parameters,
  328.    enumerated property values and property parameter values are case-
  329.    insensitive. However, all other property values are case-sensitive,
  330.    unless otherwise stated.
  331.  
  332.         Note: All indented editorial notes, such as this one, are
  333.         intended to provide the reader with additional information that
  334.         is not essential to the building of a conformant implementation
  335.         of the specifications of this document. The information is
  336.         provided to highlight a particular feature or characteristic of
  337.         the specifications.
  338.  
  339.    The format for the iCalendar object is based on the syntax of the
  340.    [MIME DIR] content type. While the iCalendar object is not a profile
  341.    of the [MIME DIR] content type, it does reuse a number of the
  342.    elements from the [MIME DIR] specification.
  343.  
  344. 3.      Definitions
  345.  
  346.  
  347.    EDITORS' NOTE: This section may be removed if this text is added to
  348.    the [ICSM].
  349.  
  350.    Date and time, as well as, calendaring and scheduling terminology are
  351.    used in every day conversations. However, there are precise
  352.    definitions of many of these terms that are used by this memo.
  353.  
  354. 3.1     Alarm
  355.  
  356.  
  357.    Also called a reminder. An activity that is an asynchronous mechanism
  358.    for providing feedback for a pending or past event or to-do.
  359.  
  360. 3.2     Busy Time
  361.  
  362.  
  363.    A period of time on a calendar where there is already scheduled one
  364.    or more events or that is otherwise not available for scheduling.
  365.  
  366. 3.3     Calendar Component
  367.  
  368.  
  369.    One of a number of entities that may be found within a calendar
  370.    object. In particular, a calendar may be composed of calendar
  371.    properties and event, to-do, journal, free/busy, time zone or alarm
  372.    calendar components. Calendar components are identified by unique
  373.    delimiters within a calendar object. Calendar components provide an
  374.    organized collection of component properties.
  375.  
  376. 3.4     Calendar Date
  377.  
  378.  
  379.    A particular day of a calendar year identified by its position within
  380.    the year.
  381.  
  382.  
  383.  
  384.  
  385. Dawson/Stenerson                   6               Expires January 1998
  386.  
  387.  
  388. Internet Draft       C&S Core Object Specification        July 29, 1997
  389.  
  390. 3.5     Calendar Object
  391.  
  392.  
  393.    An entity consisting of an organized collection of calendar
  394.    properties and calendar components. The calendar object is identified
  395.    by unique delimiters.
  396.  
  397. 3.6     Calendar Properties
  398.  
  399.  
  400.    Attributes that apply to the calendar object as a whole. For example,
  401.    the iCalendar version used to format the calendar object, an
  402.    identifier of the product that created the calendar object, the
  403.    calendar scale used to represent the calendar information and time
  404.    zone information.
  405.  
  406. 3.7     Calendar Scale
  407.  
  408.  
  409.    The particular type of calendar in general use. For example,
  410.    Gregorian, Buddhist Era, Japanese Emperor Era, Chinese Lunar,
  411.    Islamic, and Jewish Calendars.
  412.  
  413. 3.8     Component Properties
  414.  
  415.  
  416.    Attributes that can only appear within one or more calendar
  417.    components. For example, the due date can only appear within a to-do
  418.    calendar component. The start date and time applies to both the event
  419.    and the to-do component.
  420.  
  421. 3.9     Coordinate Universal Time (UTC)
  422.  
  423.  
  424.    The time scale maintained by the Bureau International de lÆHeure
  425.    (International Time Bureau) that forms the basis of a coordinated
  426.    dissemination of standard frequencies and time signals. UTC is often
  427.    incorrectly referred to as GMT.
  428.  
  429. 3.10    Daylight Saving Time (DST)
  430.  
  431.  
  432.    An adjustment to local to accommodate annual changes in the number of
  433.    daylight hours. DST is also known as Advanced Time, Summer Time, or
  434.    Legal Time. Daylight saving time adjustments in the southern
  435.    hemisphere are opposite to those in the northern hemisphere.
  436.  
  437. 3.11    Event
  438.  
  439.  
  440.    A calendar component that defines a scheduled activity, minimally
  441.    specified by a start and end calendar date and time of day and a
  442.    description.
  443.  
  444. 3.12    Free Time
  445.  
  446.  
  447.    A period of time available on a calendar.
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454. Dawson/Stenerson                   7               Expires January 1998
  455.  
  456.  
  457. Internet Draft       C&S Core Object Specification        July 29, 1997
  458.  
  459. 3.13    Gregorian Calendar
  460.  
  461.  
  462.    A calendar scale in general use beginning in 1582. It was introduced
  463.    to correct an error in the Julian Calendar scale. The Gregorian
  464.    Calendar scale is based on a solar calendar consisting of common
  465.    years made up of 365 days and leap years made up of 366 days; both
  466.    divided into 12 sequential months.
  467.  
  468.         Note: Initially, this memo addresses specification of calendar
  469.         information in terms of the Gregorian calendar scale.
  470.  
  471. 3.14    Journal
  472.  
  473.  
  474.    A calendar component that defines a collection of information
  475.    intended for human presentation and is minimally specified by a
  476.    calendar date and one or more descriptions.
  477.  
  478. 3.15    Local Time
  479.  
  480.  
  481.    The clock time in public use in a locale. Local time is often
  482.    referenced by the customary name for the time zone in which it is
  483.    located. The relationship between local time and UTC is based on the
  484.    offset that is in use for a particular time zone. In general, the
  485.    formula is as follows:
  486.  
  487.         local time = UTC + (offset)
  488.  
  489. 3.16    Period
  490.  
  491.  
  492.    A duration of time, specified as either a defined length of time or
  493.    by its beginning and end points.
  494.  
  495. 3.17    Recurrence Rule
  496.  
  497.  
  498.    A notation used to represent repeating occurrences, or the exceptions
  499.    to such a repetition of an event or a to-do. The recurrence rule can
  500.    also be used in the specification of a time zone description. This
  501.    document defines a particular notation used in recurrence rules
  502.    within this specification.
  503.  
  504. 3.18    Reminder
  505.  
  506.  
  507.    See Alarm.
  508.  
  509. 3.19    Repeating Event or To-do
  510.  
  511.  
  512.    An event or to-do that repeats for one or more additional
  513.    occurrences. The recurrence may be defined with discrete dates and
  514.    times and/or with a recurrence rule.
  515.  
  516. 3.20    Standard Time
  517.  
  518.  
  519.    Introduced by Sir Sanford Fleming and others around 1870, standard
  520.    time is a scheme for dividing the world into zones where the same
  521.    time would be kept. The original proposal was to divide the world
  522.  
  523. Dawson/Stenerson                   8               Expires January 1998
  524.  
  525.  
  526. Internet Draft       C&S Core Object Specification        July 29, 1997
  527.  
  528.    into 24 zones, each zone having a width of 15 degrees of longitude.
  529.    The center zone was originally the meridian passing through
  530.    Greenwich, England, called Greenwich Mean Time (GMT). The time in the
  531.    zones was decremented by one hour per zone going westwards and was
  532.    incremented by one hour per zone going eastwards from GMT. Changes
  533.    have been made to the original proposal to accommodate political
  534.    boundaries. In addition, some countries and regions specify 30 or 45
  535.    minute offsets, rather than the full 60 minute offset. Standard time
  536.    is also known as Winter Time in some regions.
  537.  
  538.    GMT and UTC are generally equivalent. However, by international
  539.    agreement, the GMT term is discouraged in favor of the term UTC for
  540.    all general time keeping.
  541.  
  542. 3.21    Time Zone
  543.  
  544.  
  545.    The particular time zone that time in a particular location is
  546.    expressed in. A time zone is unambiguously defined by the set of time
  547.    measurement rules determined by the governing body for the given
  548.    location. These rules describe at a minimum the base offset from UTC,
  549.    often referred to as the Standard Time offset. Optionally, if
  550.    Daylight Savings Time is observed, the rules will specify the
  551.    Daylight Savings Time offset and either a set of rules describing the
  552.    transition to and from Daylight Savings Time or absolute dates
  553.    describing the movement in and out of Daylight Savings Time. It is
  554.    important to note that these rules are not static. Time zones may
  555.    also have a local customary name. However, not all time zones have a
  556.    special name for their time. The customary names for time zones are
  557.    often abbreviated. However, not all time zone abbreviations are
  558.    unique. For example, AST may mean Atlantic Standard Time, Alaska
  559.    Standard Time, and even Aleutian Standard Time. Each of these are
  560.    different offsets from UTC. Nevertheless, customary names for time
  561.    zones are in use in various parts of the world.
  562.  
  563. 3.22    To-do
  564.  
  565.  
  566.    A calendar component that defines an action item and is minimally
  567.    specified by an effective calendar date and time of day, a due
  568.    calendar date and time of day, a priority and a description.
  569.  
  570. 4.      TEXT/CALENDAR Registration Information
  571.  
  572.  
  573.    The Calendaring and Scheduling Core Object Specification is intended
  574.    for use as a MIME content type. However, the implementation of the
  575.    specification is in no way limited solely as a MIME content type.
  576.  
  577.    The following text is intended to register this specification as the
  578.    MIME content type "text/calendar".
  579.  
  580.      To: ietf-types@uninett.no
  581.  
  582.      Subject: Registration of MIME content type text/calendar.
  583.  
  584.      MIME media type name: text
  585.  
  586.      MIME subtype name: calendar
  587.  
  588. Dawson/Stenerson                   9               Expires January 1998
  589.  
  590.  
  591. Internet Draft       C&S Core Object Specification        July 29, 1997
  592.  
  593.      Required parameters: profile
  594.  
  595.      The "profile" parameter is used to convey the scheduling usage to
  596.      which the calendaring and scheduling information pertains. It also
  597.      is an identifier for the set of properties that the iCalendar
  598.      object will consist of. The parameter is intended to be used as a
  599.      guide to applications interpreting the information contained within
  600.      the body part. It should NOT be used to exclude or require
  601.      particular pieces of information unless the identified profile
  602.      definition specifically calls for this behavior. Unless
  603.      specifically forbidden by a particular profile definition, a
  604.      text/calendar content type may contain any set of properties
  605.      permitted by the Calendaring and Scheduling Core Object
  606.      Specification.
  607.  
  608.      The value for the "profile" parameter is defined as follows:
  609.  
  610.         profile = component "-" usage
  611.  
  612.         component       = "EVENT" / "event" / "TODO" / "todo"
  613.                         / "JOURNAL" / "journal" / "FREEBUSY"
  614.                         / "freebusy" / x-token  / iana-comp
  615.  
  616.         usage   = "REQUEST" / "request" / "REPLY" / "reply"
  617.                 / "CANCEL" / "cancel" / x-token / iana-usage
  618.  
  619.         x-token = <The two characters "X-" or "x-" followed, with
  620.                    no intervening white space, by any atom, where
  621.                    atom is from section 3.3 of [RFC 822]>
  622.  
  623.         iana-comp = <A publicly defined extension component,
  624.                      registered with IANA, as specified by this
  625.                      document>
  626.  
  627.         iana-usage = <A publicly defined extension usage,
  628.                       registered with IANA, as specified by this
  629.                       document>
  630.  
  631.      Optional parameters: charset
  632.  
  633.      The "charset" parameter is defined in [RFC 2046] for other body
  634.      parts. It is used to identify the default character set used within
  635.      the body part.
  636.  
  637.      Optional content header fields: Any header fields defined by [RFC
  638.      2045].
  639.  
  640.      Encoding considerations: This MIME content type can contain 8bit
  641.      characters, so the use of quoted-printable or base64 MIME content-
  642.      transfer-encodings may be necessary when iCalendar objects are
  643.      transferrred across protocols restricted to the 7bit repertoire.
  644.      Note that each property in the content entity may also have an
  645.      inline encoding for the body part as a whole (i.e., inline encoding
  646.      is performed first, then Content-Transfer-Encoding is applied to
  647.      the entire body part). This means that content values may end up
  648.      encoded twice.
  649.  
  650.  
  651. Dawson/Stenerson                   10              Expires January 1998
  652.  
  653.  
  654. Internet Draft       C&S Core Object Specification        July 29, 1997
  655.  
  656.      Security considerations: The calendaring and scheduling information
  657.      based on this MIME content type may include references to Uniform
  658.      Resource Locators that may be programmed resources. In addition,
  659.      this information may contain direct references to executable
  660.      programs intended to be used as procedure-based alarms for an event
  661.      or to-do. Implementers and users of this specification should be
  662.      aware of the network security implications of accepting and parsing
  663.      such information. In addition, the security considerations observed
  664.      by implementations of electronic mail systems should be followed
  665.      for this specification.
  666.  
  667.      Interoperability considerations: This MIME content type is intended
  668.      to provide interoperability between calendaring and scheduling
  669.      products. It is heavily based on the earlier [VCAL] industry
  670.      specification.
  671.  
  672.      Intended Usage: COMMON
  673.  
  674.      Published specification: This document.
  675.  
  676.      Author/Change controllers:
  677.  
  678.         Frank Dawson
  679.         6544 Battleford Drive
  680.         Raleigh, NC 27613-3502
  681.         919-676-9515 (Telephone)
  682.         919-676-9564 (Facsimile)
  683.         fdawson@earthlink.net (Internet Mail)
  684.  
  685.  
  686.         Derik Stenerson
  687.         One Microsoft Way
  688.         Redmond, WA  98052-6399
  689.         206-936-5522 (Telephone)
  690.         206-936-7329 (Facsimile)
  691.         deriks@microsoft.com (Internet Mail)
  692.  
  693. 5.      iCalendar Object Specification
  694.  
  695.  
  696.    The following sections define the details of a Calendaring and
  697.    Scheduling Core Object Specification. This information is intended to
  698.    be an integral part of the MIME content type registration. In
  699.    addition, this information may be used independent of such content
  700.    registration. In particular, this specification has direct
  701.    applicability for use as a calendaring and scheduling exchange format
  702.    in file-, memory- or network-based transport mechanisms.
  703.  
  704. 5.1     Syntax Considerations
  705.  
  706.  
  707.    The content information associated with an iCalendar object is
  708.    formatted using a syntax similar to that defined by [MIME DIR]. That
  709.    is, the content information consists of one or more CRLF-separated
  710.    lines in the following format:
  711.  
  712.      contentline = name [";" paramlist] ":" value CRLF
  713.      ;Folding permitted on content lines.
  714.  
  715. Dawson/Stenerson                   11              Expires January 1998
  716.  
  717.  
  718. Internet Draft       C&S Core Object Specification        July 29, 1997
  719.  
  720.      LWSP       = SPACE / HTAB
  721.  
  722.      SPACE      = <ASCII Decimal 32>
  723.  
  724.      HTAB       = <ASCII Decimal 9>
  725.  
  726.      name       = x-name / iana-name    ;An iCalendar attribute/property
  727.  
  728.      x-name     = <The two characters "X-" or "x-" followed, with no
  729.                    intervening white space, by any atom>
  730.  
  731.      iana-name  = <A publicly defined name, registered with IANA>
  732.  
  733.      paramlist  = parameter / paramlist ";" parameter
  734.  
  735.      parameter  = encodingparm
  736.                 / valuetypeparm         ;If not present => inline value
  737.                 / languageparm
  738.                 / [parmtype "="] parmvalues
  739.  
  740.      encodingparm = "encoding" "=" encodetype
  741.  
  742.      encodetype = "8bit"        ;From [RFC 2045]
  743.                 / "7bit"        ;From [RFC 2045]
  744.                 / "q"           ;From [RFC 2045]
  745.                 / "b"           ;From [RFC 2045]
  746.  
  747.      valuetypeparm = "value" "=" valuetype
  748.  
  749.      valuetype  = "url"
  750.                 / "text"
  751.                 / "date"
  752.                 / "time"
  753.                 / "date-time"
  754.                 / "period"
  755.                 / "duration"
  756.                 / "boolean"
  757.                 / "integer"
  758.                 / "float"
  759.                 / "cal-address"
  760.                 / "utc-offset"
  761.                 / x-token
  762.                 / iana-value
  763.  
  764.      iana-value = <A publicly defined extension value type, registered
  765.                    with IANA, as specified by this document>
  766.  
  767.      languageparm = "language" "=" language
  768.      ;As defined in [RFC 1766]
  769.  
  770.      parmtype   = x-token / iana-ptype
  771.  
  772.      iana-ptype = <A publicly defined extension parameter type,
  773.                    registered with IANA, as specified by this document>
  774.  
  775.      parmvalues = parmvalue / parmvalues "," parmvalue
  776.  
  777.  
  778. Dawson/Stenerson                   12              Expires January 1998
  779.  
  780.  
  781. Internet Draft       C&S Core Object Specification        July 29, 1997
  782.  
  783.      parmvalue  = x-name / iana-pvalue
  784.  
  785.      iana-pvalue = <A publicly defined extension parameter value,
  786.                     registered with IANA, as specified by this document>
  787.  
  788.      value      = url / text / date / time / date-time / period /
  789.                 / duration / boolean / integer / float / cal-address
  790.                 / utc-offset / x-token / iana-value
  791.  
  792.      iana-value = <A publicly defined property value data type,
  793.                    registered with IANA, as defined in this document>
  794.  
  795. 5.1.1   Content Lines
  796.  
  797.  
  798.    Individual lines within the iCalendar object are delimited by a line
  799.    break, which is a CRLF sequence (ASCII decimal 13, followed by ASCII
  800.    decimal 10). Line should not be longer than 76 characters, excluding
  801.    the line break.
  802.  
  803.    Long lines of text can be split into a multiple-line representations
  804.    using a line "folding" technique. That is, a long line may be split
  805.    at any point by inserting a CRLF immediately followed by a single
  806.    LWSP character (i.e., SPACE, ASCII decimal 32 or HTAB, ASCII decimal
  807.    9). Any sequence of CRLF followed immediately by a single LWSP
  808.    character is ignored (i.e., removed) when processing the content
  809.    type.
  810.  
  811.    For example the line:
  812.  
  813.      DESCRIPTION:This is a long description that exists on a long line.
  814.  
  815.    Can be represented as:
  816.  
  817.      DESCRIPTION:This is a long description
  818.        that exists on a long line.
  819.  
  820.    The process of moving from this folded multiple-line representation
  821.    to its single line representation is called "unfolding". Unfolding is
  822.    accomplished by removing the CRLF character and the LWSP character
  823.    that immediately follows.
  824.  
  825.    An intentional formatted text line break in a property value must
  826.    also be specified by a (RFC 822) line break, which is a CRLF
  827.    sequence. However, since the CRLF sequence is used to delimit a line,
  828.    property values with imbedded formatted line breaks (i.e., hard line
  829.    breaks) must be encoded using an alternate encoding of either the "Q"
  830.    or "B" encodings, as defined in [RFC 2047]. These encodings are used
  831.    directly and without any of the additional syntax elements of [RFC
  832.    2047] encoded-words.
  833.  
  834.    Since neither the "Q" nor the "B" encodings ever produce LWSP
  835.    characters (note that the "Q" encoding turns spaces into
  836.    underscores), or CRLF character sequences as output, LWSP characters
  837.    and CRLF character sequences can be freely inserted into encoded
  838.    material at any point to fold encoded field values. All LWSP
  839.    characters and CRLF character sequences should be ignored when
  840.  
  841.  
  842. Dawson/Stenerson                   13              Expires January 1998
  843.  
  844.  
  845. Internet Draft       C&S Core Object Specification        July 29, 1997
  846.  
  847.    decoding an encoded field value. The "Q" encoding of multiple lines
  848.    of formatted text are separated with a Q CRLF sequence of "=0D=0A".
  849.    The length restrictions [RFC 2047] imposes on encoded-words do not
  850.    apply in this context, but fields encoded with the "Q" or "B"
  851.    encodings must be folded into lines of no longer than 76 characters.
  852.  
  853.    For example a multiple line DESCRIPTION property value of:
  854.  
  855.         Project XYZ Final Review
  856.         Conference Room - 3B
  857.         Come Prepared.
  858.  
  859.    Could be represented in "Q" encoding as:
  860.  
  861.    DESCRIPTION;ENCODING=Q:Project_XYZ
  862.     _Final_Review=0D=0A
  863.     Conference_Room_-_3B=0D=0A
  864.     Come_Prepared.
  865.  
  866.    And in the "B" encoding as:
  867.  
  868.    DESCRIPTION;ENCODING=UHJvamVjdCBYWVogRmluYWw
  869.     gUmV2aWV3DQpDb25mZXJIbm NIIFJvb20gLSAzQg0KQ29tZ
  870.     SBQcmVwYXJIZC4NCg = =
  871.  
  872. 5.1.2   List and Field Separators
  873.  
  874.  
  875.    Where a property parameter value consists of a list of values, each
  876.    value must be separated by a COMMA character (ASCII decimal 44). A
  877.    COMMA character in a property parameter value must be escaped with a
  878.    BACKSLASH character (ASCII decimal 92).
  879.  
  880.    Structured property values must have their components separated by a
  881.    SEMICOLON character (ASCII decimal 59). In addition, lists of
  882.    property parameters must be separated by a SEMICOLON character (ASCII
  883.    decimal 59). A SEMICOLON character in a property value or property
  884.    parameter value must be escaped with a BACKSLASH character (ASCII
  885.    decimal 92).
  886.  
  887.    For example, in the following properties a SEMICOLON is used to
  888.    separate property parameters and property value fields. A COMMA is
  889.    used to separate values.
  890.  
  891.      ATTENDEE;RSVP=TRUE;ROLE=ATTENDEE:"J.Smith" <jsmith@host.com)
  892.      RDATE;VALUE=DATE:19970304,19970504,19970704,19970904
  893.  
  894. 5.1.3   Multiple Values
  895.  
  896.  
  897.    Each attribute or property defined in the iCalendar object may have
  898.    multiple values, if allowed in the definition of the specific
  899.    property. The general rule for encoding multi-valued items is to
  900.    simply create a new content line for each value; including the
  901.    property name. However, it should be noted that some properties
  902.    support encoding multiple values in a single property by separating
  903.    the values with a COMMA (ASCII decimal 44).
  904.  
  905.  
  906. Dawson/Stenerson                   14              Expires January 1998
  907.  
  908.  
  909. Internet Draft       C&S Core Object Specification        July 29, 1997
  910.  
  911. 5.1.4   Character Set
  912.  
  913.  
  914.    The default character set is [UTF-8]. For transport in a MIME entity,
  915.    the "charset" Content-Type parameter may be used to set the default
  916.    character set for the entire MIME body part.
  917.  
  918. 5.1.5   Language
  919.  
  920.  
  921.    The "language" property parameter should be used to identify data in
  922.    alternate languages. The default language is "us-EN". The value of
  923.    the language property parameter is that defined in [RFC 1766].
  924.  
  925.         Note: For transport in a MIME entity, the Content-Language
  926.         header field may be used to set the default language for the
  927.         entire body part.
  928.  
  929. 5.1.6   Content Encoding
  930.  
  931.  
  932.    The "encoding" property parameter should be used to specify an
  933.    alternate encoding for a value. If the value contains a <CR>
  934.    character (ASCII decimal 10) or <LF> character (ASCII decimal 13), it
  935.    must be encoded using either "Q" or "B" encoding, since <CR><LF> is
  936.    used to separate lines in the iCalendar object itself.
  937.  
  938. 5.1.7   Binary Content
  939.  
  940.  
  941.    There is no support for inline encoding of binary information in an
  942.    iCalendar object. Binary information is associated with the iCalendar
  943.    object through the use of a uniform resource locator (URL) reference
  944.    to the binary information.
  945.  
  946. 5.1.8   Recurrence Set
  947.  
  948.  
  949.    Recurring events and to-dos are supported by this specification. The
  950.    recurrence within the iCalendar object may be specified as either a
  951.    list of discrete date and time values or as a recurrence rule. The
  952.    full recurrence set is generated by considering the initial DTSTART
  953.    along with the RRULE, RDATE, EXDATE and EXRULE properties contained
  954.    within the iCalendar object. The DTSTART defines the first instance
  955.    in the recurrence set. Multiple instances of the RRULE and EXRULE
  956.    properties may also be specified to define more sophisticated
  957.    recurrence sets. The final recurrence set is generated by gathering
  958.    all of the start date-times generated by any of the specified RRULE
  959.    and RDATE properties, and excluding any start date and times which
  960.    fall within the union of start date and times generated by any
  961.    specified EXRULE and EXDATE properties. This implies that start date
  962.    and times within exclusion related properties (i.e., EXDATE and
  963.    EXRULE) take precedence over those specified by inclusion properties
  964.    (i.e., RDATE and RRULE). Where duplicate instances are generated by
  965.    the RRULE and RDATE specification, only one recurrence is considered.
  966.    Duplicate instances are ignored.
  967.  
  968.    The recurrence rule used in the iCalendar object is defined in the
  969.    RRULE component property.
  970.  
  971.  
  972.  
  973. Dawson/Stenerson                   15              Expires January 1998
  974.  
  975.  
  976. Internet Draft       C&S Core Object Specification        July 29, 1997
  977.  
  978. 5.1.9   Data Types
  979.  
  980.  
  981.    The "value" property parameter is an optional property parameter. It
  982.    is used to identify the data type and format of the property value.
  983.    The values of a given instance of a property must only be of a single
  984.    data type. For example, a RDATE property can not have a combination
  985.    of DATE-TIME and TIME values. The following data types are used by
  986.    the iCalendar object.
  987.  
  988. 5.1.9.1 Boolean
  989.  
  990.  
  991.    The "boolean" data type is used to identify properties that contain
  992.    either a "true" or a "false" boolean value. These values are case
  993.    insensitive. The data type is defined by the following notation:
  994.  
  995.      boolean    = "TRUE" / "FALSE"
  996.  
  997.    For example, any of the following are equivalent:
  998.  
  999.      TRUE
  1000.      true
  1001.      TrUe
  1002.  
  1003. 5.1.9.2 Calendar User Address
  1004.  
  1005.  
  1006.    The "cal-address" data type is used to identify properties that
  1007.    contain an address of a calendar user. The phrase component of the
  1008.    address may be used to match an unknown address with an otherwise
  1009.    known individual, group, or resource. The data type is as defined by
  1010.    the following notation:
  1011.  
  1012.      cal-address        = addr-spec / [phrase] "<" addr-spec ">"
  1013.  
  1014.      addr-spec  = local-part "@" domain         ;RFC 822 style address
  1015.      local-part = WORD *("." WORD)
  1016.      domain     = domain-ref *("." domain-ref)
  1017.      domain-ref = ATOM
  1018.  
  1019.      phrase     = 1*WORD
  1020.      WORD       = ATOM / quoted-string
  1021.      quoted-string = <"> *(qtext/quoted-pair) <"> ; Regular qtext or
  1022.                                                   ;   quoted chars.
  1023.      qtext      = <any CHAR excepting <">,        ; => may be folded
  1024.                   "\" & CR, and including linear-white-space>
  1025.      quoted-pair ="\" CHAR                        ; may quote any char
  1026.      CHAR       = <any a character from the selected character set>
  1027.      ATOM       = 1*<any CHAR except specials, SPACE and CTLs>
  1028.  
  1029. 5.1.9.3 Date
  1030.  
  1031.  
  1032.    The "date" data type is used to identify values that contain a
  1033.    calendar date. The format is expressed as the [ISO 8601] complete
  1034.    representation, basic format for a calendar date. The text format
  1035.    specifies a four-digit year, two-digit month, and two-digit day of
  1036.    the month. There are no separator characters between the year, month
  1037.  
  1038.  
  1039. Dawson/Stenerson                   16              Expires January 1998
  1040.  
  1041.  
  1042. Internet Draft       C&S Core Object Specification        July 29, 1997
  1043.  
  1044.    and day component text. The data type is defined by the following
  1045.    notation:
  1046.  
  1047.      DIGIT      =<any ASCII decimal digit>      ;0-9
  1048.  
  1049.      date-fullyear      = 4DIGIT
  1050.      date-month         = 2DIGIT        ;01-12
  1051.      date-mday          = 2DIGIT        ;01-28, 01-29, 01-30, 01-31
  1052.                                         ;based on month/year
  1053.  
  1054.      date               = date-fullyear date-month date-mday
  1055.  
  1056.    For example, the following represents July 14, 1997:
  1057.  
  1058.      19970714
  1059.  
  1060. 5.1.9.4 Date-Time
  1061.  
  1062.  
  1063.    The "date-time" data type is used to identify values that contain a
  1064.    precise calendar date and time of day. The format is expressed as the
  1065.    [ISO 8601] complete representation, basic format for a calendar date
  1066.    and time of day. The text format is a concatenation of the "date",
  1067.    followed by the LATIN CAPITAL LETTER T character (ASCII decimal 84)
  1068.    time designator, followed by the "time" format defined above. The
  1069.    data type is defined by the following notation:
  1070.  
  1071.      date-time  = date "T" time ;As specified above in date and time
  1072.  
  1073.    The following represents July 14, 1997, at 1:30 PM in UTC and the
  1074.    equivalent time in New York (five hours behind UTC), expressed as a
  1075.    local time and local time with UTC offset:
  1076.  
  1077.      19970714T133000Z
  1078.      19970714T083000
  1079.      19970714T083000-0500
  1080.  
  1081. 5.1.9.5 Duration
  1082.  
  1083.  
  1084.    The "duration" data type is used to identify properties that contain
  1085.    a duration of time. The format is expressed as the [ISO 8601] basic
  1086.    format for the duration of time. The format can represent durations
  1087.    in terms of years, months, days, hours, minutes, and seconds. The
  1088.    data type is defined by the following notation:
  1089.  
  1090.      DIGIT      =<any ASCII decimal digit>      ;0-9
  1091.  
  1092.      dur-second = 1*DIGIT "S"
  1093.      dur-minute = 1*DIGIT "M" [dur-second]
  1094.      dur-hour   = 1*DIGIT "H" [dur-minute]
  1095.      dur-time   = "T" (dur-hour / dur-minute / dur-second)
  1096.  
  1097.      dur-week   = 1*DIGIT "W"
  1098.      dur-day    = 1*DIGIT "D"
  1099.      dur-month  = 1*DIGIT "M" [dur-day]
  1100.      dur-year   = 1*DIGIT "Y" [dur-month]
  1101.      dur-date   = (dur-day / dur-month / dur-year) [dur-time]
  1102.  
  1103. Dawson/Stenerson                   17              Expires January 1998
  1104.  
  1105.  
  1106. Internet Draft       C&S Core Object Specification        July 29, 1997
  1107.  
  1108.      duration   = "P" (dur-date / dur-time / dur-week)
  1109.  
  1110.    For example, a duration of 10 years, 3 months, 15 days, 5 hours, 30
  1111.    minutes and 20 seconds would be:
  1112.  
  1113.      P10Y3M15DT5H30M20S
  1114.  
  1115. 5.1.9.6 Float
  1116.  
  1117.  
  1118.    The "float" data type is used to identify properties that contain a
  1119.    real value number value. If the property permits, multiple "float"
  1120.    values may be specified using a COMMA character (ASCII decimal 44)
  1121.    separator character. The data type is defined by the following
  1122.    notation:
  1123.  
  1124.      DIGIT      =<any ASCII decimal digit>      ;0-9
  1125.  
  1126.      float      = ["+" / "-"] *DIGIT ["." *DIGIT]
  1127.  
  1128.    For example:
  1129.  
  1130.      1000000.0000001
  1131.      1.333
  1132.      -3.14
  1133.  
  1134. 5.1.9.7 Integer
  1135.  
  1136.  
  1137.    The "integer" data type is used to identify properties that contain a
  1138.    signed integer value. The valid range for "integer" is -2147483648 to
  1139.    2147483647. If the sign is not specified, then the value is assumed
  1140.    to be positive. If the property permits, multiple "integer" values
  1141.    may be specified using a COMMA character (ASCII decimal 44) separator
  1142.    character. The data type is defined by the following notation:
  1143.  
  1144.      DIGIT      =<any ASCII decimal digit>      ;0-9
  1145.  
  1146.      integer    = ["+" / "-"] *DIGIT
  1147.  
  1148.    For example:
  1149.  
  1150.      1234567890
  1151.      -1234567890
  1152.      +1234567890
  1153.      432109876
  1154.  
  1155. 5.1.9.8 Period of Time
  1156.  
  1157.  
  1158.    The "period" data type is used to identify values that contain a
  1159.    precise period of time. There are two forms of a period of time.
  1160.  
  1161.    A period of time may be identified by it start and its end. This
  1162.    format is expressed as the [ISO 8601] complete representation, basic
  1163.    format for "date-time" start of the period, followed by a SOLIDUS
  1164.    character (ASCII decimal 47), followed by the "date-time" of the end
  1165.    of the period. For example, the period starting at 10 AM in Seattle
  1166.  
  1167.  
  1168. Dawson/Stenerson                   18              Expires January 1998
  1169.  
  1170.  
  1171. Internet Draft       C&S Core Object Specification        July 29, 1997
  1172.  
  1173.    (eight hours behind UTC) on January 1, 1997 and ending at 11 PM in
  1174.    Seattle on January 1, 1997 would be:
  1175.  
  1176.      19970101T100000-0800/19970101T230000-0800
  1177.  
  1178.    A period of time may also be defined by a start and a duration of
  1179.    time. The format is expressed as the [ISO 8601] complete
  1180.    representation, basic format for the "date-time" start of the period,
  1181.    followed by a SOLIDUS character (ASCII decimal 47), followed by the
  1182.    [ISO 8601] basic format for "duration" of the period. For example,
  1183.    the period start at 10 AM in Seattle (eight hours behind UTC) on
  1184.    January 1, 1997 and lasting 5 hours and 30 minutes would be:
  1185.  
  1186.      19970101T100000-0800/P5H30M
  1187.  
  1188.    The data type is defined by the following notation:
  1189.  
  1190.      period-explicit = date-time "/" date-time
  1191.      ;ISO 8601 complete representation basic format for a period of time
  1192.      ;consisting of a start and end. The start must be before the end.
  1193.  
  1194.      period-start = date-time "/" duration
  1195.      ;ISO 8601 complete representation basic format for a period of time
  1196.      ;consisting of a start and duration of time.
  1197.  
  1198.      period     = period-explicit / period-start
  1199.  
  1200. 5.1.9.9 Text
  1201.  
  1202.  
  1203.    The "text" data type is used to identify values that contain human
  1204.    readable text. The character set and language in which the text is
  1205.    represented is controlled by the charset and language property
  1206.    parameters. The data type is defined by the following notation:
  1207.  
  1208.      CHAR       = <Any character in the selected character set>
  1209.  
  1210. 5.1.9.10        Time
  1211.  
  1212.  
  1213.    The "time" data type is used to identify values that contain a time
  1214.    of day. The format is expressed as the [ISO 8601] complete
  1215.    representation, basic format for a time of day. The text format
  1216.    consists of a two-digit 24-hour of the day (i.e., values 0-23), two-
  1217.    digit minute in the hour (i.e., values 0-59), and two-digit seconds
  1218.    in the minute (i.e., values 0-59). If seconds of the minute are not
  1219.    supported by an implementation, then a value of "00" should be
  1220.    specified for the seconds component. Fractions of an hour, minute or
  1221.    second are not supported by this format. This format is used to
  1222.    represent local time, local time with UTC offset and UTC time. UTC
  1223.    time is identified by a LATIN CAPITAL LETTER Z suffix character
  1224.    (ASCII decimal 90), the UTC designator, appended to the time. The
  1225.    local time with UTC offset is expressed as a local time, suffixed
  1226.    with the signed offset from UTC. The UTC offset is express as the 2-
  1227.    digit hours and 2-digit minutes difference from UTC. It is expressed
  1228.    as positive, with an optional leading PLUS SIGN character (ASCII
  1229.    decimal 43), if the local time is ahead of UTC. It is expressed as a
  1230.    negative, with a leading HYPEN-MINUS character (ASCII decimal 45), if
  1231.  
  1232. Dawson/Stenerson                   19              Expires January 1998
  1233.  
  1234.  
  1235. Internet Draft       C&S Core Object Specification        July 29, 1997
  1236.  
  1237.    the local time is behind UTC. Local time has neither the UTC
  1238.    designator nor the UTC offset suffix text. The data type is defined
  1239.    by the following notation:
  1240.  
  1241.      DIGIT      =<any ASCII decimal digit>      ;0-9
  1242.  
  1243.      time-hour          = 2DIGIT        ;00-23
  1244.      time-minute        = 2DIGIT        ;00-59
  1245.      time-second        = 2DIGIT        ;00-59
  1246.      time-numzone       = ("+" / "-") time-hour time-minute
  1247.      time-zone          = "Z" / time-numzone
  1248.  
  1249.      time               = time-hour time-minute time-second [time-zone]
  1250.  
  1251.    For example, the following represents 8:30 AM in New York, five hours
  1252.    behind UTC, in local time and local time with UTC offset. In
  1253.    addition, 1:30 PM in UTC is illustrated:
  1254.  
  1255.      083000
  1256.      083000-0500
  1257.      133000Z
  1258.  
  1259.    There are cases when a floating time is intended within a property
  1260.    value. For example, an event may be defined that indicates that an
  1261.    individual will be busy from 11:00 AM to 1:00 PM every day. In these
  1262.    cases, a local time may be specified. The recipient of an iCalendar
  1263.    object with a property value consisting of a local time, without any
  1264.    relative time zone information, should interpret the value as being
  1265.    fixed to the recipient's locale and time zone. In most cases, a fixed
  1266.    time is desired. To properly communicate a fixed time in a property
  1267.    value, either UTC, local time with UTC offset, or local time with a
  1268.    time zone calendar component must be specified.
  1269.  
  1270. 5.1.9.11        URL
  1271.  
  1272.  
  1273.    The "url" data type is used to identify values that contain a uniform
  1274.    resource locator (URL) type of reference to the property value. This
  1275.    data type might be used to reference binary information, for values
  1276.    that are large, or otherwise undesirable to include directly in the
  1277.    iCalendar object.
  1278.  
  1279.    The URL value formats in RFC 1738, RFC 2111 and any other IETF
  1280.    registered value format may be specified.
  1281.  
  1282.    The data type is defined by the following notation:
  1283.  
  1284.      url        = <As defined by any IETF RFC>
  1285.  
  1286.    Any IANA registered URL type may be used. These include, but are not
  1287.    limited to, those for FTP and HTTP protocols, file access, content
  1288.    identifier and message identifier.
  1289.  
  1290.    For example, the following is an URL for a local file:
  1291.  
  1292.      file:///my-report.txt
  1293.  
  1294.  
  1295.  
  1296. Dawson/Stenerson                   20              Expires January 1998
  1297.  
  1298.  
  1299. Internet Draft       C&S Core Object Specification        July 29, 1997
  1300.  
  1301.      text       = <Any CHAR, including bare CR & bare LF but not
  1302.                    including CRLF>
  1303.  
  1304. 5.1.9.12        UTC Offset
  1305.  
  1306.  
  1307.    The "utc -offset" data type is used to identify properties that
  1308.    contain an offset from UTC to local time. The data type is defined by
  1309.    the following notation:
  1310.  
  1311.      utc-offset = time-numzone  ;As defined above in time data type
  1312.  
  1313.    For example, the following are UTC offsets for New York (five hours
  1314.    behind UTC) and Geneva (one hour ahead of UTC):
  1315.  
  1316.      -0500      ;New York
  1317.      +0100      ;Geneva
  1318.  
  1319. 5.2     iCalendar Object
  1320.  
  1321.  
  1322.    The Calendaring and Scheduling Core Object is a collection of
  1323.    calendaring and scheduling information. Typically, this information
  1324.    will consist of a single iCalendar object. However, multiple
  1325.    iCalendar objects may be sequentially, grouped together. The first
  1326.    line and last line of the iCalendar object must contain a pair of
  1327.    iCalendar object delimiter strings. The syntax for an iCalendar
  1328.    object is as follows:
  1329.  
  1330.      icalobject = "BEGIN" ":" "VCALENDAR" CRLF
  1331.                   icalbody
  1332.                   "END" ":" "VCALENDAR" CRLF [icalobject]
  1333.  
  1334.    The following is a simple example of an iCalendar object:
  1335.  
  1336.      BEGIN:VCALENDAR
  1337.      VERSION:2.0
  1338.      PRODID:-//hacksw/handcal//NONSGML v1.0//EN
  1339.      BEGIN:VEVENT
  1340.      DTSTART:19970714T120000-0500
  1341.      DTEND:19970714T235959-0500
  1342.      DESCRIPTION:Bastille Day Party
  1343.      END:VEVENT
  1344.      END:VCALENDAR
  1345.  
  1346. 5.3     Property
  1347.  
  1348.  
  1349.    A property is the definition of an individual attribute describing a
  1350.    calendar property or a calendar component. A property takes the
  1351.    following form:
  1352.  
  1353.      property   = propname [";" parmlist] ":" value CRLF
  1354.  
  1355.      propname   = <any properties defined in this document>
  1356.                 / iana-prop / x-token
  1357.  
  1358.      x-token    = <The two characters "X-" or "x-" followed, with no
  1359.                    intervening white space, by any atom>
  1360.  
  1361. Dawson/Stenerson                   21              Expires January 1998
  1362.  
  1363.  
  1364. Internet Draft       C&S Core Object Specification        July 29, 1997
  1365.  
  1366.      iana-prop  = <A publicly defined extension property, registered
  1367.                    with IANA, as specified by this document>
  1368.  
  1369.    The following is an example of a property:
  1370.  
  1371.      DTSTART:19960415T083000-05:00
  1372.  
  1373.    This document places no imposed ordering of properties within an
  1374.    iCalendar object.
  1375.  
  1376.    Property names, parameter names and parameter values (i.e.,
  1377.    everything to the left of the ":" on a line) are case insensitive.
  1378.    For example, the property name "DUE" is the same as "due" and "Due".
  1379.  
  1380. 5.4     Calendar Components
  1381.  
  1382.  
  1383.    The body of the iCalendar object consists of a sequence of calendar
  1384.    properties and one or more calendar components. The calendar
  1385.    properties are attributes that apply to the calendar as a whole. The
  1386.    calendar components are collections of properties that with a
  1387.    particular calendar semantic. For example, the calendar component may
  1388.    specify a an event, a to-do, journal entry, time zone information, or
  1389.    free/busy time information, or alarm.
  1390.  
  1391.    The body of the iCalenar Object is defined by the following notation:
  1392.  
  1393.      icalbody   = calprops 1*component
  1394.  
  1395.      calprops   = [calscale] prodid [profile] [profile-version]
  1396.                   [source] [name] version
  1397.  
  1398.      component  = 1*(eventc / todoc / journalc / freebusyc /
  1399.                 / timezonec)
  1400.  
  1401. 5.4.1   Event Component
  1402.  
  1403.  
  1404.    An Event Calendar Component is a grouping of component properties and
  1405.    an optional alarm calendar component that represent a scheduled
  1406.    amount of time on a calendar. For example, it may be an activity;
  1407.    such as a one-hour, department meeting from 8:00 AM to 9:00 AM,
  1408.    tomorrow.
  1409.  
  1410.    An Event Component is defined by the following notation:
  1411.  
  1412.      eventc     = "BEGIN" ":" "VEVENT" CRLF
  1413.                   *eventprop *alarmc
  1414.                   "END" ":" "VEVENT" CRLF
  1415.  
  1416.      eventprop  = *attach *attendee *categories [class] [created]
  1417.                   description [dtend] dtstart *exdate *exrule
  1418.                   [geo] *last-mod [location] [priority] [rstatus]
  1419.                   *related *resources *rdate *rrule dtstamp
  1420.                   [resp-seq] [seq] [status] [summary] [transp]
  1421.                   uid *url [recurid] *(comment)
  1422.  
  1423.  
  1424.  
  1425. Dawson/Stenerson                   22              Expires January 1998
  1426.  
  1427.  
  1428. Internet Draft       C&S Core Object Specification        July 29, 1997
  1429.  
  1430.    The Event Component can not be nested within another Calendar
  1431.    Component. Event components may be related to each other or to a To-
  1432.    do or Journal Calendar Component with the RELATED-TO property.
  1433.  
  1434.    The following is an example of the Event Calendar Component:
  1435.  
  1436.      BEGIN:VEVENT
  1437.      DTSTART:19970903T083000-0800
  1438.      DTEND:19970903T110000-0800
  1439.      DESCRIPTION:Annual Employee Review
  1440.      CLASS:PRIVATE
  1441.      CATEGORIES:BUSINESS,HUMAN RESOURCES
  1442.      END:VEVENT
  1443.  
  1444. 5.4.2   To-do Component
  1445.  
  1446.  
  1447.    A To-do Calendar Component is a grouping of component properties and
  1448.    an optional alarm calendar component that represent an action-item or
  1449.    assignment. For example, it may be an item of work assigned to an
  1450.    individual; such as "turn in travel expense today".
  1451.  
  1452.    A To-do Component is defined by the following notation:
  1453.  
  1454.      todoc      = "BEGIN" ":" "VTODO" CRLF
  1455.                   *todoprop *alarmc
  1456.                   "END" ":" "VTODO" CRLF
  1457.  
  1458.      todoprop   = *attach *attendee *categories [class] [completed]
  1459.                   [created] description dtstamp dtstart due *exdate
  1460.                   *exrule [geo] *last-mod [location] priority [rstatus]
  1461.                   *related *resources *rdate *rrule [resp-seq] [recurid]
  1462.                   [seq] [status] [summary] [transp] uid *url *(comment)
  1463.  
  1464.    The To-do Component can not be nested within another Calendar
  1465.    Component. If To-do components need to be related to each other or to
  1466.    an Event or Journal Calendar Component, they can specify a
  1467.    relationship with the RELATED-TO property.
  1468.  
  1469.    The following is an example of a To-do Calendar Component:
  1470.  
  1471.      BEGIN:VTODO
  1472.      DTSTART:19970415T083000-0500
  1473.      DUE:19970415T235959-0500
  1474.      DESCRIPTION:1996 Income Tax Preparation
  1475.      CLASS:CONFIDENTIAL
  1476.      CATEGORIES:FAMILY,FINANCE
  1477.      PRIORITY:1
  1478.      STATUS:NEEDS ACTION
  1479.      END:VEVENT
  1480.  
  1481. 5.4.3   Journal Component
  1482.  
  1483.  
  1484.    A Journal Calendar Component is a grouping of component properties
  1485.    that represent one or more descriptive text on a particular calendar
  1486.    date. For example, it may be a journal entry of individual telephone
  1487.  
  1488.  
  1489. Dawson/Stenerson                   23              Expires January 1998
  1490.  
  1491.  
  1492. Internet Draft       C&S Core Object Specification        July 29, 1997
  1493.  
  1494.    contacts for the day or an ordered list of accomplishments for the
  1495.    day.
  1496.  
  1497.    A Journal Component is defined by the following notation:
  1498.  
  1499.      journalc   = "BEGIN" ":" "VJOURNAL" CRLF
  1500.                   *jourprop
  1501.                   "END" ":" "VJOURNAL" CRLF
  1502.  
  1503.      jourprop   = *attach *attendee *categories [class] [created]
  1504.                   description dtstart dtstamp *last-mod *related
  1505.                   [rdate] [rrule] [rstatus] [resp-seq] [seq] uid *url
  1506.                   [recurid] *(comment)
  1507.  
  1508.    The Journal Component can not be nested within another Calendar
  1509.    Component. If Journal Components need to be related to each other or
  1510.    to an Event or To-Do Calendar Component, they can specify a
  1511.    relationship with the RELATED-TO property.
  1512.  
  1513.    The following is an example of the Journal Calendar Component:
  1514.  
  1515.      BEGIN:VJOURNAL
  1516.      DTSTART:19970317T083000
  1517.      DESCRIPTION:1. Staff meeting: Participants include Joe, Lisa
  1518.       and Bob. Aurora project plans were reviewed. There is currently
  1519.       no budget reserves for this project. Lisa will escalate to
  1520.       management. Next meeting on Tuesday.
  1521.       2. Telephone Conference: ABC Corp. sales representative called
  1522.       to discuss new printer. Promised to get us a demo by Friday.
  1523.       3. Henry Miller (Handsoff Insurance): Car was totaled by tree.
  1524.       Is looking into a loaner car. 654-2323 (tel).
  1525.      END:VJOURNAL
  1526.  
  1527. 5.4.4   Free/Busy Component
  1528.  
  1529.  
  1530.    A Free/Busy Calendar Component is a grouping of component properties
  1531.    that represent free or busy time information. Typically, this
  1532.    component exists in an iCalendar object that is being used to either
  1533.    request or return free or busy time information.
  1534.  
  1535.    A Free/Busy Component is defined by the following notation:
  1536.  
  1537.      freebusyc  = "BEGIN" ":" "VFREEBUSY" CRLF
  1538.                   *fbprop
  1539.                   "END" ":" "VFREEBUSY" CRLF
  1540.  
  1541.      fbprop     = *attendee [created] [duration] [dtend] [dtstart]
  1542.                   dtstamp #freebusy *last-mod *related [rstatus]
  1543.                   [resp-seq] [seq] uid *url *(comment)
  1544.  
  1545.    The Free/Busy Component can not be nested within another Calendar
  1546.    Component. Free/Busy components may be related to each other with the
  1547.    RELATED-TO property. Multiple Free/Busy Calendar Components may be
  1548.    specified within a iCalendar object. This permits the grouping of
  1549.    Free/Busy information into logical collections, such as monthly
  1550.    groups of busy time information.
  1551.  
  1552.  
  1553. Dawson/Stenerson                   24              Expires January 1998
  1554.  
  1555.  
  1556. Internet Draft       C&S Core Object Specification        July 29, 1997
  1557.  
  1558.    The Free/Busy Calendar Component is intended for use in profiles
  1559.    involving requests for free time, requests for busy time, requests
  1560.    for both free and busy, and the associated replies.
  1561.  
  1562.    Free/Busy information can be expressed using the FREEBBUSY property.
  1563.    This property provides a terse representation of time periods. One or
  1564.    more FREEBUSY properties may be specified in the FREE/BUSY Calendar
  1565.    Component to describe the Free/Busy information.
  1566.  
  1567.    Optionally, the DTSTART and DTEND properties may be specified to
  1568.    express the start and end date and time for Free/Busy information in
  1569.    the Free/Busy Calendar Component. When present in a Free/Busy
  1570.    Calendar Component, they should be specified prior to any FREEBUSY
  1571.    properties. In a free time request, these properties may be used in
  1572.    combination with the DURATION property to express a request for a
  1573.    duration of free time within a given window of time.
  1574.  
  1575.    The recurrence properties (RRULE, EXRULE, RDATE, EXDATE) are not
  1576.    permitted within a Free/Busy Calendar Component. Any recurring events
  1577.    are resolved into their individual busy time periods using the
  1578.    FREEBUSY property.
  1579.  
  1580.    The following is an example of a Free/Busy Calendar Component:
  1581.  
  1582.      BEGIN:VFREEBUSY
  1583.      DTSTART:19971015T050000Z
  1584.      DTEND:19971016T050000Z
  1585.      FREEBUSY;VALUE=PERIOD-START:19971015T050000Z/PT8H30M,
  1586.       19971015T160000Z/PT5H30M, 19971015T223000Z/PT6H30M
  1587.      END:VFREEBUSY
  1588.  
  1589. 5.4.5   Alarm Component
  1590.  
  1591.  
  1592.    An Alarm Calendar Component is a grouping of component properties
  1593.    that is a reminder or alarm for an event or a to-do. The Alarm
  1594.    Calendar Component may only be specified in an event or to-do
  1595.    calendar component. For example, it may define a reminder for a
  1596.    pending event or an overdue to-do.
  1597.  
  1598.    The DTSTART property specifies the calendar date and time of day that
  1599.    the alarm will be triggered. The value may alternately be set to a
  1600.    period of time, before or after the event or to-do, that the alarm
  1601.    will be triggered.
  1602.  
  1603.    An Alarm Component is defined by the following notation:
  1604.  
  1605.      alarmc     = "BEGIN" ":" "VALARM" CRLF
  1606.                   *alarmprop
  1607.                   "END" ":" "VALARM" CRLF
  1608.  
  1609.      alarmprop  = *attach [created] [description] dtstart duration
  1610.                 / *last-mod *related repeat [summary] *(comment)
  1611.  
  1612.    The Alarm Component can only appear within either an Event or To-Do
  1613.    Calendar Component. Alarm Components can not be nested.
  1614.  
  1615.  
  1616.  
  1617. Dawson/Stenerson                   25              Expires January 1998
  1618.  
  1619.  
  1620. Internet Draft       C&S Core Object Specification        July 29, 1997
  1621.  
  1622.    The following is an example of the Alarm Calendar Component:
  1623.  
  1624.      BEGIN:VALARM
  1625.      DTSTART:19970317T133000Z
  1626.      REPEAT:4
  1627.      DURATION:PT15M
  1628.      CATEGORIES:DISPLAY,AUDIO
  1629.      ATTACH:file:///mmedia/sounds/bell1.wav
  1630.      DESCRIPTION:Breakfast meeting with executive team at 8:30 AM
  1631.      END:VALARM
  1632.  
  1633. 5.4.6   Timezone Component
  1634.  
  1635.  
  1636.    A time zone is unambiguously defined by the set of time measurement
  1637.    rules determined by the governing body for a given geographic area.
  1638.    These rules describe at a minimum the base offset from UTC for the
  1639.    time zone, often referred to as the Standard Time offset. Many
  1640.    locations adjust their Standard Time forward or backward by one hour,
  1641.    in order to accommodate seasonal changes in number of daylight hours,
  1642.    often referred to as Daylight Saving Time. Some locations adjust
  1643.    their time by a fraction of an hour. Standard Time is also known as
  1644.    Winter Time. Daylight Saving Time is also known as Advanced Time,
  1645.    Summer Time, or Legal Time in certain countries. The following table
  1646.    shows the changes in time zone rules for the eastern United States.
  1647.  
  1648.      Effective  Transition Rule
  1649.      Date       (Date/Time)                 Offset   Abbreviation
  1650.  
  1651.      1920-1920 last Sun in Mar, 02:00  -0400    EDT
  1652.  
  1653.      1920-1920 last Sun in Oct, 02:00  -0500    EST
  1654.  
  1655.      1921-1966 last Sun in Apr, 02:00  -0400    EDT
  1656.  
  1657.      1921-1954 last Sun in Sep, 02:00  -0500    EST
  1658.  
  1659.      1955-1966 last Sun in Oct, 02:00  -0500    EST
  1660.  
  1661.      1967-*     last Sun in Oct, 02:00  -0500    EST
  1662.  
  1663.      1967-1973  last Sun in Apr, 02:00  -0400    EDT
  1664.  
  1665.      1974-1974  Jan 6, 02:00            -0400    EDT
  1666.  
  1667.      1975-1975  Feb 23, 02:00           -0400    EDT
  1668.  
  1669.      1976-1986  last Sun in Apr, 02:00  -0400    EDT
  1670.  
  1671.      1987-*     first Sun in Apr, 02:00 -0400    EDT
  1672.  
  1673.    Interoperability between two calendaring and scheduling applications,
  1674.    especially for recurring events and to-dos, is dependent on the
  1675.    ability to capture and convey date and time information in an
  1676.    unambiguous format. The specification of current time zone
  1677.    information is integral to this behavior.
  1678.  
  1679.  
  1680.  
  1681. Dawson/Stenerson                   26              Expires January 1998
  1682.  
  1683.  
  1684. Internet Draft       C&S Core Object Specification        July 29, 1997
  1685.  
  1686.    The Time Zone Calendar Component is a grouping of component
  1687.    properties that define a time zone description. The time zone
  1688.    description specifies the effective Standard Time or Daylight Savings
  1689.    Time rules for a particular time zone. The Timezone Component can not
  1690.    be nested within other Calendar Components. The Time Zone Component
  1691.    may be specified multiple times. If the Time Zone Component is
  1692.    missing, the recipient should assume all local times are relative to
  1693.    the recipient's time zone. The Time Zone Component should be
  1694.    specified in the iCalendar object before any other Calendar
  1695.    Components.
  1696.  
  1697.    A Time Zone Component is defined by the following notation:
  1698.  
  1699.      timezonec  = "BEGIN" ":" "VTIMEZONE" CRLF
  1700.                   *tzprop
  1701.                   "END" ":" "VTIMEZONE" CRLF
  1702.  
  1703.      tzprop     = [created] [daylight] dtstart [rdate / rrule]
  1704.                   [tzname] tzoffset *(comment)
  1705.  
  1706.    The Time Zone component is important for correct interpretation of
  1707.    individual as well as recurring calendar components that span a time
  1708.    zone transition. For example, from EST to EDT.  The exception to this
  1709.    are calendar components that are considered floating (i.e., occurs at
  1710.    a particular local time no matter what time zone you are in). If the
  1711.    iCalendar object contains a non-floating calendar component that has
  1712.    a recurring date pattern (i.e., includes the RRULE property) or a
  1713.    list of date and local time values (i.e., includes the RDATE
  1714.    property), one or more Time Zone components must be specified, such
  1715.    that for the given range of the recurrence (i.e., the earliest
  1716.    instance to latest instance), there is valid time zone information
  1717.    for all instances. In other words, if all of the instances of the
  1718.    pattern is entirely within one offset observance, (e.g., all are in
  1719.    Standard Time), only one Time Zone Calendar Component need be
  1720.    present. If a time zone transition is crossed, then other Time Zone
  1721.    Components are needed. Further, if there are known changes to the
  1722.    rules for the time zone, even more Time Zone Components are needed.
  1723.  
  1724.    Each Time Zone Component consists of several properties:
  1725.  
  1726.    The CREATED property is a DATE-TIME value that indicates when the
  1727.    time zone description was created.
  1728.  
  1729.    The DAYLIGHT property is a BOOLEAN value indicating Standard Time
  1730.    (FALSE) or Daylight Savings Time (TRUE). The default for DAYLIGHT is
  1731.    FALSE or Standard Time.
  1732.  
  1733.    The DTSTART property in this usage is a fully specified DATE-TIME
  1734.    value, including the UTC offset, indicating the effective start date
  1735.    and time for the time zone information. For example, 19671029T020000-
  1736.    0400 represents the time at which the transition to Standard Time
  1737.    took effect in 1967 for the eastern United States.
  1738.  
  1739.    The TZOFFSET property is a UTC-OFFSET value indicating the UTC offset
  1740.    for the time zone (Standard Time or Daylight Savings Time).
  1741.  
  1742.    The TZNAME property is the customary name for the time zone.
  1743.  
  1744. Dawson/Stenerson                   27              Expires January 1998
  1745.  
  1746.  
  1747. Internet Draft       C&S Core Object Specification        July 29, 1997
  1748.  
  1749.    The RRULE property is a TEXT property indicating the recurrence rule
  1750.    for the transition to this time zone. For example, in the United
  1751.    States, the transition from Standard Time to Daylight Saving Time
  1752.    occurs on the first Sunday in April at 02:00. If a recurrence rule
  1753.    describing the transition is known to have an effective end date, the
  1754.    UNTIL recurrence rule parameter is used to specify that end date and
  1755.    time. If the recurrence rule for a particular observance (Daylight
  1756.    Saving Time) is changing, then the UNTIL of the first rule will be
  1757.    equal to the DTSTART for the replacement rule. See example below.
  1758.  
  1759.    Alternatively, the RDATE property can be used. The RDATE property is
  1760.    a DATE-TIME property indicating the individual dates and times that
  1761.    the transition takes effect. The values supplied for RDATE for each
  1762.    Time Zone component must provide valid time zone information of all
  1763.    instances of the recurrence specified for the calendar component to
  1764.    which this time zone information is to be applied.
  1765.  
  1766.    The following are examples of the Time Zone Calendar Component:
  1767.  
  1768.    This is a simple example showing time zone information for the
  1769.    Eastern United States using RDATE. Note that this is only suitable
  1770.    for a recurring event that starts on or later than 1997, April 6, at
  1771.    02:00:00 EST (i.e., the earliest effective transition date and time)
  1772.    and ends no later than 1998, April 7, 02:00:00 EST (i.e., latest
  1773.    valid date and time for EST in this scenario).  For example, this can
  1774.    be used for a recurring event that ocurrs every Friday, 8am-9am,
  1775.    starting June 1, 1997, ending Dec 31, 1997.
  1776.  
  1777.      BEGIN:VTIMEZONE
  1778.      DAYLIGHT:FALSE
  1779.      RDATE:19971026T020000-0400
  1780.      TZOFFSET:-0500
  1781.      TZNAME:EST
  1782.      END:VTIMEZONE
  1783.  
  1784.      BEGIN:VTIMEZONE
  1785.      DAYLIGHT:TRUE
  1786.      RDATE:19970406T020000-0500
  1787.      TZOFFSET:-0400
  1788.      TZNAME:EDT
  1789.      END:VTIMEZONE
  1790.  
  1791.    This is a simple example showing the current time zone rules for the
  1792.    Eastern United States using a RRULE recurrence pattern. Note that
  1793.    there is no effective end date to either of the Standard Time or
  1794.    Daylight Time rules. This information would be valid for a
  1795.    recurrening event starting today and continuing on into the known
  1796.    future.
  1797.  
  1798.      BEGIN:VTIMEZONE
  1799.      DAYLIGHT:FALSE
  1800.      DTSTART:19671029T020000-0400
  1801.      RRULE:BYDAY=-1SU;BYMONTH=10;FREQ=YEARLY
  1802.      TZOFFSET:-0500
  1803.      TZNAME:EST
  1804.      END:VTIMEZONE
  1805.  
  1806.  
  1807. Dawson/Stenerson                   28              Expires January 1998
  1808.  
  1809.  
  1810. Internet Draft       C&S Core Object Specification        July 29, 1997
  1811.  
  1812.      BEGIN:VTIMEZONE
  1813.      DAYLIGHT:TRUE
  1814.      DTSTART:19870405T020000-0500
  1815.      RRULE:BYDAY=1SU;BYMONTH=4;FREQ=YEARLY
  1816.      TZOFFSET:-0400
  1817.      TZNAME:EDT
  1818.      END:VTIMEZONE
  1819.  
  1820.    This is an example showing a ficticious set of rules for the Eastern
  1821.    United States, where the Daylight Time rule has an effective end date
  1822.    (i.e., after that date, Daylight Time is no longer observed).
  1823.  
  1824.      BEGIN:VTIMEZONE
  1825.      DAYLIGHT:FALSE
  1826.      DTSTART:19671029T020000-0400
  1827.      RRULE:BYDAY=-1SU;BYMONTH=10;FREQ=YEARLY
  1828.      TZOFFSET:-0500
  1829.      TZNAME:EST
  1830.      END:VTIMEZONE
  1831.  
  1832.      BEGIN:VTIMEZONE
  1833.      DAYLIGHT:TRUE
  1834.      DTSTART:19870405T020000-0500
  1835.      RRULE:BYDAY=1SU;BYMONTH=4;FREQ=YEARLY;UNTIL=19981025T020000-0400
  1836.      TZOFFSET:-0400
  1837.      TZNAME:EDT
  1838.      END:VTIMEZONE
  1839.  
  1840.    This is an example showing a ficticious set of rules for the Eastern
  1841.    United States, where the first Daylight Time rule has an effective
  1842.    end date. There is a second Daylight Time rule that picks up where
  1843.    the other left off.
  1844.  
  1845.      BEGIN:VTIMEZONE
  1846.      DAYLIGHT:FALSE
  1847.      DTSTART:19671029T020000-0400
  1848.      RRULE:BYDAY=-1SU;BYMONTH=10;FREQ=YEARLY
  1849.      TZOFFSET:-0500
  1850.      TZNAME:EST
  1851.      END:VTIMEZONE
  1852.  
  1853.      BEGIN:VTIMEZONE
  1854.      DAYLIGHT:TRUE
  1855.      DTSTART:19870405T020000-0500
  1856.      RRULE:BYDAY=1SU;BYMONTH=4;FREQ=YEARLY;UNTIL=19990404T020000-0500
  1857.      TZOFFSET:-0400
  1858.      TZNAME:EDT
  1859.      END:VTIMEZONE
  1860.  
  1861.      BEGIN:VTIMEZONE
  1862.      DAYLIGHT:TRUE
  1863.      DTSTART:19990404T020000-0500
  1864.      RRULE:BYDAY=-1SU;BYMONTH=3;FREQ=YEARLY
  1865.      TZOFFSET:-0400
  1866.      TZNAME:EDT
  1867.      END:VTIMEZONE
  1868.  
  1869.  
  1870. Dawson/Stenerson                   29              Expires January 1998
  1871.  
  1872.  
  1873. Internet Draft       C&S Core Object Specification        July 29, 1997
  1874.  
  1875. 5.5     Calendar Properties
  1876.  
  1877.  
  1878.    The Calendar Properties are attributes that apply to the iCalendar
  1879.    object, as a whole. These properties do not appear within a Calendar
  1880.    Component. They should be specified after the BEGIN:VCALENDAR
  1881.    properties and prior to any Calendar Component.
  1882.  
  1883. 5.5.1   Calendar Scale
  1884.  
  1885.  
  1886.    This property is identified by the property name CALSCALE. This
  1887.    property defines the calendar scale used for the calendar information
  1888.    specified in the iCalendar object. This specification is based on the
  1889.    Gregorian calendar scale. The Gregorian calendar scale is assumed if
  1890.    this property is not specified in the iCalendar object. It is
  1891.    expected that other calendar scales will be defined in other
  1892.    specifications or by future versions of this specification.
  1893.  
  1894.    The property is defined by the following notation:
  1895.  
  1896.      calscale   = "CALSCALE" ":" calvalue CRLF
  1897.  
  1898.      calvalue   = "GREGORIAN" / iana-scale
  1899.  
  1900.      iana-scale = <Any other designator for a calendar scale
  1901.                    registered with IANA>
  1902.  
  1903.    The following is an example of this property:
  1904.  
  1905.      CALSCALE:GREGORIAN
  1906.  
  1907.    The data type for this property is TEXT.
  1908.  
  1909. 5.5.2   Product Identifier
  1910.  
  1911.  
  1912.    This property is identified by the property name PRODID. This
  1913.    property specifies the identifier for the product that created the
  1914.    iCalendar object. The vendor of the implementation should assure that
  1915.    this is a globally unique identifier; using some technique such as an
  1916.    ISO 9070 FPI value. This calendar property must be specified in the
  1917.    iCalendar object but can only appear once.
  1918.  
  1919.    The property is defined by the following notation:
  1920.  
  1921.      prodid     = "prodid" ":" pidvalue CRLF
  1922.  
  1923.      pidvalue   = text
  1924.      ;Any text that describes the product and version
  1925.      ;and that is generally assured of being unique.
  1926.  
  1927.    The following is an example of this property:
  1928.  
  1929.      PRODID:-//ABC Corporation//NONSGML My Product//EN
  1930.  
  1931.    The data type for this property is TEXT.
  1932.  
  1933.  
  1934.  
  1935. Dawson/Stenerson                   30              Expires January 1998
  1936.  
  1937.  
  1938. Internet Draft       C&S Core Object Specification        July 29, 1997
  1939.  
  1940. 5.5.3   Profile
  1941.  
  1942.  
  1943.    This property is identified by the property name PROFILE. This
  1944.    property defines the usage profile associated with the calendar
  1945.    object. When used in a MIME message entity, the value of this
  1946.    property must be the same as the Content-Type profile parameter
  1947.    value. This property can only appear once within the iCalendar
  1948.    object.
  1949.  
  1950.    The property is defined by the following notation:
  1951.  
  1952.      profile    = "PROFILE" ": profvalue CRLF
  1953.  
  1954.      profvalue  = " component "-" action
  1955.  
  1956.      component  = "EVENT" / "TODO" / "JOURNAL" / "FREEBUSY"
  1957.                 / iana-component / x-token
  1958.  
  1959.      action     = <Any IANA registered iCalendar action type.>
  1960.  
  1961.      x-token    = <The two characters "X-" or "x-" followed, with no
  1962.                    intervening white space, by any atom>
  1963.  
  1964.      iana-component = <Any other component registered with IANA>
  1965.  
  1966.    The following is an example of this property when the iCalendar
  1967.    object is used to request a meeting:
  1968.  
  1969.      PROFILE:EVENT-REQUEST
  1970.  
  1971.    In the event that this property is not specified, the usage profile
  1972.    is undefined. The data type for this property is TEXT.
  1973.  
  1974. 5.5.4   Profile Version
  1975.  
  1976.  
  1977.    This property is identified by the property name PROFILE-VERSION.
  1978.    This property specifies the identifier corresponding to the highest
  1979.    version number or the minimum and maximum range of the usage profile
  1980.    that was used in constructing the iCalendar object. Values for this
  1981.    property are to be defined by registering an iCalendar usage
  1982.    profiles.
  1983.  
  1984.    The property is defined by the following notation:
  1985.  
  1986.      prof-version = "PROFILE-VERSION" ":" profvalue CRLF
  1987.  
  1988.      profvalue  = iana-prfver
  1989.  
  1990.      iana-prfver = max-prfver / (min-prfver ";" max-prfver)
  1991.  
  1992.      min-prfver = <A IANA registered iCalendar profile identifier>
  1993.  
  1994.      max-prfver = <A IANA registered iCalendar profile identifier>
  1995.  
  1996.    The following is an example of this property:
  1997.  
  1998.  
  1999. Dawson/Stenerson                   31              Expires January 1998
  2000.  
  2001.  
  2002. Internet Draft       C&S Core Object Specification        July 29, 1997
  2003.  
  2004.      PROFILE-VERSION:IPCS-1.0
  2005.  
  2006.    The data type for this property is TEXT.
  2007.  
  2008. 5.5.5   Source
  2009.  
  2010.  
  2011.    This property is identified by the property name SOURCE. This
  2012.    property is defined by the [MIME DIR] specification. In this
  2013.    specification, the property identifies the URL for the source of the
  2014.    iCalendar object. The URL is useful for accessing the iCalendar
  2015.    object using a calendar access protocol.
  2016.  
  2017.    The property is defined by the following notation:
  2018.  
  2019.      source     = "SOURCE" ":" url CRLF
  2020.  
  2021.    The following are examples of this property:
  2022.  
  2023.      SOURCE:http://xyz.corp.com/corp-cals/1997-events.or4
  2024.  
  2025.      SOURCE:http://xyz.corp.com/calendars/~jdoe
  2026.  
  2027.    The data type for this property is URL.
  2028.  
  2029. 5.5.6   Source Name
  2030.  
  2031.  
  2032.    This property is identified by the property name NAME. This property
  2033.    is defined by the [MIME DIR] specification. The property identifies
  2034.    the displayable, presentation name for the source of the iCalendar
  2035.    object. The source name is a useful text to associate in the user-
  2036.    interface of an application with the value in the SOURCE property.
  2037.  
  2038.    The property is defined by the following notation:
  2039.  
  2040.      name       = "NAME" ":" text CRLF
  2041.  
  2042.    The following is an example of this property:
  2043.  
  2044.      NAME:1997 Events Calendar for XYZ Corporation
  2045.  
  2046.    The data type for this property is TEXT.
  2047.  
  2048. 5.5.7   Version
  2049.  
  2050.  
  2051.    This property is identified by the property name VERSION. This
  2052.    property specifies the identifier corresponding to the highest
  2053.    version number or the minimum and maximum range of the MIME
  2054.    Calendaring and Scheduling Content Type specification supported by
  2055.    the implementation that created the iCalendar object. A value of
  2056.    "2.0" corresponds to this specification. This calendar property must
  2057.    appear within the iCalendar object but can only appear once.
  2058.  
  2059.    The property is defined by the following notation:
  2060.  
  2061.      version    = "VERSION" ":" vervalue CRLF
  2062.  
  2063.  
  2064. Dawson/Stenerson                   32              Expires January 1998
  2065.  
  2066.  
  2067. Internet Draft       C&S Core Object Specification        July 29, 1997
  2068.  
  2069.      vervalue   = "2.0"         ;This specification
  2070.                 / maxver
  2071.                 / (minver ";" maxver)
  2072.  
  2073.      minver     = <A IANA registered iCalendar profile identifier>
  2074.      ;Minimum iCalendar version used to create the iCalendar object
  2075.  
  2076.      maxver     = <A IANA registered iCalendar profile identifier>
  2077.      ;Maximum iCalendar version used to create the iCalendar object
  2078.  
  2079.    The following is an example of this property:
  2080.  
  2081.      VERSION:2.0
  2082.  
  2083.    The data type for this property is TEXT.
  2084.  
  2085. 5.6     Component Properties
  2086.  
  2087.  
  2088.    The following properties apply to either an event or to-do calendar
  2089.    object component.
  2090.  
  2091. 5.6.1   Attachment
  2092.  
  2093.  
  2094.    This property is identified by the property name ATTACH. The property
  2095.    provides the capability to associate an external object with a
  2096.    calendar component. For example, a document to be reviewed at a
  2097.    scheduled event or the description of the process steps for a to-do.
  2098.    The property may only be specified within event, to-do, or journal
  2099.    calendar components. This property may be specified multiple times
  2100.    within an iCalendar object.
  2101.  
  2102.    The property is defined by the following notation:
  2103.  
  2104.      attach     = "ATTACH" ":" url CRLF
  2105.  
  2106.    The following are examples of this property:
  2107.  
  2108.      ATTACH:CID:jsmith.part3.960817T083000.xyzMail@host1.com
  2109.  
  2110.      ATTACH:FTP://xyzCorp.com/pub/reports/r-960812.ps
  2111.  
  2112.    The data type for this property is URL.
  2113.  
  2114. 5.6.2   Attendee
  2115.  
  2116.  
  2117.    This property is identified by the property name ATTENDEE. The
  2118.    property defines an attendee within a calendar component. The
  2119.    property may only be specified within the event, to-do and free/busy
  2120.    calendar components.
  2121.  
  2122.    The property has the property parameters TYPE, for the type of
  2123.    attendee, ROLE, for the intended role of the attendee; STATUS, for
  2124.    the status of the attendeeÆs participation; RSVP, for indicating
  2125.    whether the favor of a reply is requested; EXPECT, to indicate the
  2126.    expectation of the attendeeÆs participation by the originator;
  2127.    MEMBER, to indicate the group that the attendee belongs to;
  2128.  
  2129. Dawson/Stenerson                   33              Expires January 1998
  2130.  
  2131.  
  2132. Internet Draft       C&S Core Object Specification        July 29, 1997
  2133.  
  2134.    DELEGATED-TO, to indicate the person that the original request was
  2135.    delegated to; and DELEGATED-FROM, to indicated whom the request was
  2136.    delegated from.
  2137.  
  2138.    A recipient delegated a request MUST inherit the RSVP and EXPECT
  2139.    values from the attendee that delegated the request to them.
  2140.  
  2141.    Multiple attendees may be specified by including multiple ATTENDEE
  2142.    properties within the MIME calendaring entity.
  2143.  
  2144.    The property data type default is CAL-ADDRESS. The property data type
  2145.    may also be set to URL. This provides a useful mechanism to allow
  2146.    more than just the address of the attendee to be referenced. For
  2147.    example, the property value may refer to a URL.
  2148.  
  2149.    The property is defined by the following notation:
  2150.  
  2151.      attendee   = "ATTENDEE" [";" attparamlist] ":"
  2152.                   (cal-address / URL) CRLF
  2153.      ;Value must match default or explicit data type
  2154.  
  2155.      attparamlist       = attparam / attparamlist ";" attparam
  2156.                         / paramlist / paramlist ";" attparam
  2157.                         / paramlist ";" attparamlist ";"
  2158.                           attparam
  2159.  
  2160.      attparam   = typeparm / roleparm / statusparm / rsvpparm
  2161.                 / expectparm / memberparm / deletoparm / delefromparm
  2162.  
  2163.      typeparm   = "TYPE" "="
  2164.                 ("INDIVIDUAL"   ; An individual
  2165.                 / "GROUP"       ; A group of individuals
  2166.                 / "RESOURCE"    ; A physical resource
  2167.                 / "ROOM"        ; A room resource
  2168.                 / "UNKNOWN")    ; Otherwise not known
  2169.      ;Default value is UNKNOWN
  2170.  
  2171.      roleparm   = "ROLE" "="
  2172.                 ("ATTENDEE"     ; Indicates a regular attendee
  2173.                 / "OWNER"       ; Indicates owner of event or to-do
  2174.                 / "ORGANIZER"   ; Indicates organizer of event or to-do
  2175.                 / "DELEGATE")   ; Indicates delegate to event or to-do
  2176.      ;Default is ATTENDEE
  2177.  
  2178.      statusparm = "STATUS" "="
  2179.                 ("NEEDS-ACTION" ; Indicates event or to-do needs action
  2180.                 / "ACCEPTED"    ; Indicates event or to-do accepted
  2181.                 / "DECLINED"    ; Indicates event or to-do not accepted
  2182.                 / "TENTATIVE"   ; Indicates event or to-do tentatively
  2183.                 ; accepted. Status may change in the future.
  2184.                 / "COMPLETED"   ; Indicates to-do was completed.
  2185.                 ; COMPLETED property has date/time completed.
  2186.                 / "DELEGATED"   ; Indicateds event or to-do delegated
  2187.                 ; to another ATTENDEE
  2188.                 / "CANCELED")   ; Indicates event or to-do canceled for
  2189.                                 ; ATTENDEE
  2190.      ;Default is NEEDS-ACTION
  2191.  
  2192. Dawson/Stenerson                   34              Expires January 1998
  2193.  
  2194.  
  2195. Internet Draft       C&S Core Object Specification        July 29, 1997
  2196.  
  2197.      rsvpparm   = "RSVP" "="
  2198.                   ("TRUE"               ; Indicates response requested
  2199.                 / "FALSE")              ; Indicates no response needed
  2200.      ;Default is FALSE
  2201.  
  2202.      expectparm = "EXPECT" "="
  2203.                 ("FYI"          ; Indicates request is for your info
  2204.                 / "REQUIRE"     ; Indicates presence is required
  2205.                 / "REQUEST")    ; Indicates presence is requested
  2206.      ;Default is FYI
  2207.  
  2208.      memberparm = "MEMBER" "=" cal-address
  2209.      ; Indicates a group or mailing list
  2210.  
  2211.      deletoparm = "DELEGATED-TO" "=" cal-address
  2212.      ; Indicates who request delegated to
  2213.  
  2214.      delefromparm = "DELEGATED-FROM" "=" cal-address
  2215.      ;Indicates who request delegated from
  2216.  
  2217.    The following are examples of this propertyÆs use for a to-do:
  2218.  
  2219.      ATTENDEE;ROLE=OWNER;STATUS=COMPLETED:jsmith@host1.com
  2220.      ATTENDEE;MEMBER=DEV-GROUP:joecool@host2.com
  2221.      ATTENDEE;DELEGATED-FROM=immud@host3.com:ildoit@host1.com
  2222.  
  2223.    The following is an example of this property used for specifying
  2224.    multiple attendees to an event:
  2225.  
  2226.      ATTENDEE;ROLE=OWNER;STATUS=CONFIRMED:John Smith <jsmith@host1.com>
  2227.      ATTENDEE;ROLE=ATTENDEE;STATUS=TENTATIVE:Henry Cabot
  2228.       <hcabot@host2.com>
  2229.      ATTENDEE;ROLE=DELEGATE;STATUS=CONFIRMED:Jane Doe <jdoe@host1.com>
  2230.  
  2231.    The following is an example of this property with the value specified
  2232.    as an URL reference to a vCard that contains the information about
  2233.    the attendee:
  2234.  
  2235.      ATTENDEE;ROLE=ATTENDEE;STATUS=CONFIRMED;VALUE=URL:
  2236.       http://www.xyz.com/~myvcard.vcf
  2237.  
  2238.    The following is an example of this property with "delegatee"
  2239.    and"delegator" information for an event:
  2240.  
  2241.      ATTENDEE;ROLE=OWNER;STATUS=ACCEPTED:John Smith <jsmith@host1.com>
  2242.      ATTENDEE;ROLE=DELEGATE;STATUS=TENTATIVE;DELEGATED-FROM=
  2243.       iamboss@host2.com:Henry Cabot<hcabot@host2.com>
  2244.      ATTENDEE;ROLE=ATTENDEE;STATUS=DELEGATED;DELEGATED-TO=
  2245.       hcabot@host2.com=iamboss(The Big Cheese)@host2.com
  2246.      ATTENDEE;ROLE=DELEGATE;STATUS=ACCEPTED:Jane Doe <jdoe@host1.com>
  2247.  
  2248.    The default data type for this property is CAL-ADDRESS. The data type
  2249.    may be reset to URL; in which case the value is a location or message
  2250.    that contains the information that is to be used to specify the
  2251.    attendee address.
  2252.  
  2253.  
  2254.  
  2255. Dawson/Stenerson                   35              Expires January 1998
  2256.  
  2257.  
  2258. Internet Draft       C&S Core Object Specification        July 29, 1997
  2259.  
  2260. 5.6.3   Categories
  2261.  
  2262.  
  2263.    This property is identified by the property name CATEGORIES. This
  2264.    property defines the categories for a calendar component. The
  2265.    property may be specified within the event, to-do or journal calendar
  2266.    component with an arbitrary text value. The property may also be
  2267.    specified within the alarm property with a value of the alarm
  2268.    category. More than one category may be specified as a list of
  2269.    categories separated by the COMMA character (ASCII decimal 44).
  2270.  
  2271.    The properties is defined by the following notation:
  2272.  
  2273.      categories = "CATEGORIES" [";" paramlist] ":"
  2274.                   catvalue CRLF
  2275.  
  2276.      catvalue   = cat1value *["," cat1value]
  2277.                 / cat2value *["," cat2value]
  2278.  
  2279.      cat1value  = "APPOINTMENT" / "BUSINESS" / "EDUCATION" / "HOLIDAY"
  2280.                 / "MEETING" / "MISCELLANEOUS" / "NON-WORKING HOURS"
  2281.                 / "NOT IN OFFICE" / "PERSONAL" / "PHONE CALL"
  2282.                 / "SICK DAY" / "SPECIAL OCCASION" / "TRAVEL"
  2283.                 / "VACATION" / word
  2284.      ;Used in event and to-do components only
  2285.  
  2286.      cat2value  = "AUDIO" / "DISPLAY" / "EMAIL" / "PROCEDURE"
  2287.                 / x-token / iana-word
  2288.      ;Used in alarm component only
  2289.  
  2290.    The following are examples of this property in an event, to-do or
  2291.    journal calendar component:
  2292.  
  2293.      CATEGORIES:APPOINTMENT,EDUCATION
  2294.  
  2295.      CATEGORIES:MEETING
  2296.  
  2297.    The following are examples of this property in an alarm calendar
  2298.    component:
  2299.  
  2300.      CATEGORIES:AUDIO,DISPLAY
  2301.  
  2302.      CATEGORIES:PROCEDURE
  2303.  
  2304.    The data type for this property is TEXT.
  2305.  
  2306. 5.6.4   Classification
  2307.  
  2308.  
  2309.    This property is identified by the property name CLASS. This property
  2310.    defines the access classification for a calendar component. The
  2311.    property may only be specified in an event, to-do or journal calendar
  2312.    component. The property may only be specified once.
  2313.  
  2314.    An access classification is only one component of the general
  2315.    security system within a calendar application. It provides a method
  2316.    of capturing the scope of the access the calendar owner intends for
  2317.    information within an individual calendar entry. The access
  2318.  
  2319. Dawson/Stenerson                   36              Expires January 1998
  2320.  
  2321.  
  2322. Internet Draft       C&S Core Object Specification        July 29, 1997
  2323.  
  2324.    classification of an individual iCalendar component is useful when
  2325.    measured along with the other security components of a calendar
  2326.    system (e.g., user authorization, access rights, access role, etc.).
  2327.    Hence, the semantics of the individual access classifications can not
  2328.    be completely defined by this specification alone. Additionally, due
  2329.    to the "blind" nature of most exchange processes using this
  2330.    specification, these access classifications can not serve as an
  2331.    enforcement statement for a system receiving an iCalendar object .
  2332.    Rather, they provide a method for capturing the intention of the
  2333.    calendar owner for the access to the calendar component.
  2334.  
  2335.    The property is defined by the following notation:
  2336.  
  2337.      class      = "CLASS" [";" paramlist] ":"
  2338.                   classvalue CRLF
  2339.  
  2340.      classvalue = "PUBLIC" / "PRIVATE" / "CONFIDENTIAL" / x-token
  2341.      ;Default is PUBLIC
  2342.  
  2343.    The following is an example of this property:
  2344.  
  2345.      CLASS:PUBLIC
  2346.  
  2347.    The data type for this property is TEXT.
  2348.  
  2349. 5.6.5   Comment
  2350.  
  2351.  
  2352.    This property is identified by the property name COMMENT. This
  2353.    property specifies non-processing information intended to provide a
  2354.    comment to the calendar user. The property may be specified in any of
  2355.    the calendar components. The property may be specified multiple
  2356.    times.
  2357.  
  2358.    The property is defined by the following notation:
  2359.  
  2360.      comment    = "COMMENT" ":" text CRLF
  2361.  
  2362.    The following is an example of this property:
  2363.  
  2364.      COMMENT:The meeting really needs to include both ourselves
  2365.       and the customer.  We canÆt hold this  meeting without them.
  2366.       As a matter of fact, the venue for the meeting ought to be at
  2367.       their site. - - John
  2368.  
  2369.    The data type for this property is TEXT.
  2370.  
  2371. 5.6.6   Date/Time Completed
  2372.  
  2373.  
  2374.    This property is identified by the property name COMPLETED. This
  2375.    property defines the date and time that a to-do was actually
  2376.    completed. The property may be specified once in a to-do component.
  2377.    The date and time is a UTC value.
  2378.  
  2379.    The property is defined by the following notation:
  2380.  
  2381.      completed  = "COMPLETED" ":" date-time CRLF
  2382.  
  2383. Dawson/Stenerson                   37              Expires January 1998
  2384.  
  2385.  
  2386. Internet Draft       C&S Core Object Specification        July 29, 1997
  2387.  
  2388.    The following is an example of this property:
  2389.  
  2390.      COMPLETED:19960401T235959Z
  2391.  
  2392.    This property is optional for MIME entities conforming to this
  2393.    content type. The data type for this property is DATE-TIME.
  2394.  
  2395. 5.6.7   Date/Time Created
  2396.  
  2397.  
  2398.    This property is identified by the property name CREATED. This
  2399.    property specifies the date and time that the calendar information
  2400.    was created. The property may be specified in any of the calendar
  2401.    components. The property may only be specified once. The date and
  2402.    time is an UTC value.
  2403.  
  2404.    The property is defined by the following notation:
  2405.  
  2406.      created    = "CREATED" ":" date-time CRLF
  2407.  
  2408.    The following is an example of this property:
  2409.  
  2410.      CREATED:19960329T133000Z
  2411.  
  2412.    The data type for this property is DATE-TIME.
  2413.  
  2414. 5.6.8   Date/Time Due
  2415.  
  2416.  
  2417.    This property is identified by the property name DUE. This property
  2418.    defines the date and time that a to-do is expected to be completed.
  2419.    The value must be later in time than the value for the DTSTART
  2420.    property. The time can either be in local time, local time with UTC
  2421.    offset or UTC time. The property must be specified in a to-do
  2422.    calendar component, but may only be specified once. The DUE value
  2423.    must be a date/time after the DTSTART value.
  2424.  
  2425.    The property is defined by the following notation:
  2426.  
  2427.      due        = "DUE" ":" (date-time / duration) CRLF
  2428.      ;Value data type must match the value
  2429.  
  2430.    The following is an example of this property:
  2431.  
  2432.      DUE:19960401T235959Z
  2433.  
  2434.    The default data type for this property is DATE-TIME. The data type
  2435.    may be reset to DURATION.
  2436.  
  2437. 5.6.9   Date/Time End
  2438.  
  2439.  
  2440.    This property is identified by the property name DTEND. This property
  2441.    may be specified within the event, free/busy, and time zone calendar
  2442.    components.
  2443.  
  2444.    Within the event calendar component, this property defines the end
  2445.    date and time for the event. The property is required in event
  2446.    calendar components. The time can either be in local time, local time
  2447.  
  2448. Dawson/Stenerson                   38              Expires January 1998
  2449.  
  2450.  
  2451. Internet Draft       C&S Core Object Specification        July 29, 1997
  2452.  
  2453.    with UTC offset or UTC time. The local time is only to be used to
  2454.    specify date and time values that do not need to be fixed. A
  2455.    recipient must assume their own time zone for data and time values
  2456.    that do not include time zone information. Events may have an end
  2457.    date/time but no start date/time. In that case, the event does not
  2458.    take up any time. The value must be later in time than the value of
  2459.    the DTSTART property.
  2460.  
  2461.    Within the free/busy calendar component, this property defines the
  2462.    end date and time for the free or busy time information. The time
  2463.    must be specified in local time with UTC offset or UTC time. The
  2464.    value must be later in time than the value of the DTSTART property.
  2465.  
  2466.    The property is defined by the following notation:
  2467.  
  2468.      dtend      = "DTEND" ":" date-time CRLF
  2469.  
  2470.    The following is an example of this property:
  2471.  
  2472.      DTEND:19960401T235959Z
  2473.  
  2474.    The data type for this property is DATE-TIME.
  2475.  
  2476. 5.6.10  Date/Time Stamp
  2477.  
  2478.  
  2479.    This property is identified by the property name DTSTAMP. This
  2480.    property specifies an UTC date/time stamp. The property indicates the
  2481.    date/time that the iCalendar object instance was created. This
  2482.    property SHOULD be included in every iCalendar object to permit the
  2483.    recipient to know when the iCalendar object was created.
  2484.  
  2485.    This property is different than the CREATED and LAST-MODIFIED
  2486.    properties. These two properties are used to specify when the
  2487.    calendar service information was created and last modified. This is
  2488.    different than when the iCalendar object representation of the
  2489.    calendar service information was created or last modified.
  2490.  
  2491.    The property is defined by the following notation:
  2492.  
  2493.      dtstamp    = "DTSTAMP" ":" date-time CRLF
  2494.  
  2495.    The value type for this property is DATE-TIME. The value must be a
  2496.    UTC date/time value.
  2497.  
  2498. 5.6.11  Date/Time Start
  2499.  
  2500.  
  2501.    This property is identified by the property name DTSTART. This
  2502.    property may be specified within the event, free/busy, and time zone
  2503.    calendar components.
  2504.  
  2505.    Within the event calendar component, this property defines the start
  2506.    date and time for the event. The property is required in event
  2507.    calendar components. The time can either be in local time, local time
  2508.    with UTC offset or UTC time. The local time is only to be used to
  2509.    specify date and time values that do not need to be fixed. A
  2510.    recipient must assume their own time zone for data and time values
  2511.  
  2512. Dawson/Stenerson                   39              Expires January 1998
  2513.  
  2514.  
  2515. Internet Draft       C&S Core Object Specification        July 29, 1997
  2516.  
  2517.    that do not include time zone information. Events may have a start
  2518.    date/time but no end date/time. In that case, the event does not take
  2519.    up any time.
  2520.  
  2521.    Within the free/busy calendar component, this property defines the
  2522.    start date and time for the free or busy time information. The time
  2523.    must be specified in local time with UTC offset or UTC time.
  2524.  
  2525.    Within the time zone calendar component, this property defines the
  2526.    effective start date and time for a time zone specification. This
  2527.    property is required within time zone calendar components. The time
  2528.    must be specified as a UTC time.
  2529.  
  2530.    The property is defined by the following notation:
  2531.  
  2532.      dtstart    = "DTSTART" ":" (date-time / date) CRLF
  2533.      ;Date data type only permitted on Journal calendar component.
  2534.  
  2535.    The following is an example of this property:
  2536.  
  2537.      DTSTART:19960401T235959-0600
  2538.  
  2539.    The default data type for this property is DATE-TIME. For Journal
  2540.    calendar components, the data type may be overriden to be DATE.
  2541.  
  2542. 5.6.12  Daylight
  2543.  
  2544.  
  2545.    This property is identified by the property name DAYLIGHT. This
  2546.    property may only be specified in a Time Zone Calendar Component.
  2547.    This property specifies whether Daylight Saving Time (i.e., value is
  2548.    TRUE) or Standard Time (i.e., value is FALSE) is in effect for the
  2549.    time zone. The default value is FALSE or Standard Time.
  2550.  
  2551.    The property is defined by the following notation:
  2552.  
  2553.      daylight   = "DAYLIGHT" ":" boolean CRLF
  2554.      ;Default value is FALSE
  2555.  
  2556.    The following is an example of this property:
  2557.  
  2558.      DAYLIGHT:TRUE              ;Specifies DST in effect in time zone
  2559.  
  2560.    The data type for this property is BOOLEAN.
  2561.  
  2562. 5.6.13  Description
  2563.  
  2564.  
  2565.    This property is identified by the property name DESCRIPTION. This
  2566.    property provides a more complete description of the calendar
  2567.    component, than that provided by the SUMMARY property. The property
  2568.    must be specified in the event, to-do and journal calendar
  2569.    components. The property may be specified multiple times only within
  2570.    a journal calendar component.
  2571.  
  2572.    The property is defined by the following notation:
  2573.  
  2574.  
  2575.  
  2576. Dawson/Stenerson                   40              Expires January 1998
  2577.  
  2578.  
  2579. Internet Draft       C&S Core Object Specification        July 29, 1997
  2580.  
  2581.      Description        = "DESCRIPTION" [";" paramlist] ":"
  2582.                           text CRLF
  2583.  
  2584.    The following is an example of the property with formatted line
  2585.    breaks in the property value:
  2586.  
  2587.      DESCRIPTION;ENCODING=Q:Meeting_to_provide_technical_
  2588.       review_for_"Phoenix"_design.=0D=0A
  2589.       Happy_Face_Conference_Room._Phoenix_design_team
  2590.       _must_attend_this_meeting._RSVP_to_team_leader.
  2591.  
  2592.    The following is an example of the property with folding of long
  2593.    lines:
  2594.  
  2595.      DESCRIPTION:Last draft of the new novel is to be completed
  2596.       for the editorÆs proof today.
  2597.  
  2598.    The data type for this property is TEXT.
  2599.  
  2600. 5.6.14  Duration
  2601.  
  2602.  
  2603.    This property is identified by the property name DURATION. The
  2604.    property specifies a duration of time. The property may be specified
  2605.    in an event calendar component in order to specify a duration of the
  2606.    event, instead of an explicit end date/time. The property may be
  2607.    specified in a free/busy calendar component in order to specify the
  2608.    amount of free time being requested. The property may be specified in
  2609.    an alarm calendar component in order to specify the period between
  2610.    repeating alarms.
  2611.  
  2612.    The property is defined by the following notation:
  2613.  
  2614.      duration   = "DURATION" ":" duration CRLF
  2615.  
  2616.    The following is an example of this property that specifies an
  2617.    interval of time of 1 hour and zero minutes and zero seconds:
  2618.  
  2619.      DURATION:PT1H0M0S
  2620.  
  2621.    The following is an example of this property that specifies an
  2622.    interval of time of 15 minutes.
  2623.  
  2624.      DURATION:PT15M
  2625.  
  2626.    The data type for this property is DURATION.
  2627.  
  2628. 5.6.15  Exception Date/Times
  2629.  
  2630.  
  2631.    This property is identified by the property name EXDATE. This
  2632.    property defines the list of date/time exceptions for a recurring
  2633.    event or to-do component. The times can either be in local time,
  2634.    local time with UTC offset or UTC time.
  2635.  
  2636.    The property is defined by the following notation:
  2637.  
  2638.  
  2639.  
  2640. Dawson/Stenerson                   41              Expires January 1998
  2641.  
  2642.  
  2643. Internet Draft       C&S Core Object Specification        July 29, 1997
  2644.  
  2645.      exdate     = "EXDATE" ":" date-time *["," date-time]
  2646.                   CRLF
  2647.  
  2648.    The following is an example of this property:
  2649.  
  2650.      EXDATE:19960402T010000Z,19960403T010000Z,19960404T010000Z
  2651.  
  2652.    The data type for this property is DATE-TIME.
  2653.  
  2654. 5.6.16  Exception Rule
  2655.  
  2656.  
  2657.    This property is identified by the property name EXRULE. This
  2658.    property defines a rule or repeating pattern for an exception to a
  2659.    recurring event or to-do. This property may only be specified in the
  2660.    event and to-do calendar components.
  2661.  
  2662.    This property is defined by the same property values and parameters
  2663.    as specified for the RRULE property. The property is defined by the
  2664.    following notation:
  2665.  
  2666.      exrule     = "EXRULE" [";" paramlist] ":" rvalue CRLF
  2667.  
  2668.    The following are examples of this property. Except every other week,
  2669.    on Tuesday and Thursday for 4 occurrences:
  2670.  
  2671.      EXRULE:COUNT=4;INTERVAL=2;BYDAY=TU,TH;FREQ=WEEKLY
  2672.  
  2673.    Except daily for 10 occurrences:
  2674.  
  2675.      EXRULE:COUNT=10;FREQ=DAILY
  2676.  
  2677.    Except yearly in June and July for 8 occurrences:
  2678.  
  2679.      EXRULE:COUNT=8;BYMONTH=6,7;FREQ=YEARLY
  2680.  
  2681.    The data type for this property is TEXT.
  2682.  
  2683. 5.6.17  Free/Busy Time
  2684.  
  2685.  
  2686.    This property is identified by the property name FREEBUSY. The
  2687.    property defines one or more free or busy time intervals. These time
  2688.    periods may be specified as either a start and end date-time or a
  2689.    start date-time and duration.
  2690.  
  2691.    The date and time is either local time with UTC offset or a UTC
  2692.    value.
  2693.  
  2694.    The FREEBUSY property may include the TYPE property parameter to
  2695.    specify the information defines a free or busy time interval. The
  2696.    property may also include the STATUS property parameter to specify
  2697.    the type of busy time. The STATUS parameter may be utilized by the
  2698.    application reading the busy time information in order to provide a
  2699.    richer view of the information.
  2700.  
  2701.    The property is defined by the following notation:
  2702.  
  2703.  
  2704. Dawson/Stenerson                   42              Expires January 1998
  2705.  
  2706.  
  2707. Internet Draft       C&S Core Object Specification        July 29, 1997
  2708.  
  2709.      freebusy   = "FREEBUSY" [";" fbparmlist] ":" fbvalue
  2710.                   CRLF
  2711.  
  2712.      fbparmlist = fbparam / paramlist ";" fbparam
  2713.                 / fbparam ";" fbparmlist
  2714.  
  2715.      fbparam    = fbtype / fbstatus
  2716.  
  2717.      fbtype     = "TYPE" "=" ("FREE" or "BUSY")
  2718.      ;Default is BUSY
  2719.  
  2720.      fbstatus   = "STATUS" "="
  2721.                   "BUSY"        ;Represents busy time interval
  2722.                 / "OUT"         ;Represents out-of-office, non-working
  2723.                                 ;hours, or other unavailable interval
  2724.                 / "PRIVATE"     ;Represents private unavailable time 
  2725.                 / "CONFIDENTIAL" ;Represents confidential unavailable
  2726.                                 ;time
  2727.      ;Default is BUSY
  2728.  
  2729.      fbvalue    = period *["," period]
  2730.      ;Value must match default or explicit data type
  2731.  
  2732.    The following are some examples of this property:
  2733.  
  2734.      FREEBUSY;STATUS=OUT:19970308T160000Z/PT8H30M
  2735.  
  2736.      FREEBUSY;TYPE=FREE:19970308T160000Z/PT3H,19970308T200000Z/PT1H
  2737.  
  2738.    FREEBUSY properties within the Free/Busy Calendar Component should be
  2739.    sorted in ascending order, based on start time and then end time,
  2740.    with the earliest periods first.
  2741.  
  2742.    The FREEBUSY property may specify more than one value, separated by
  2743.    the COMMA character (ASCII decimal 44). In such cases, the FREEBUSY
  2744.    property values should all be of the same STATUS (e.g., all values of
  2745.    a particular STATUS listed together in a single property).
  2746.  
  2747.    The data type for this property is PERIOD.
  2748.  
  2749. 5.6.18  Geographic Position
  2750.  
  2751.  
  2752.    This property is identified by the property name GEO. This property
  2753.    specifies information related to the global position for an event or
  2754.    to-do calendar component. The property value specifies latitude and
  2755.    longitude, in that order (i.e., "LAT LON" ordering). The longitude
  2756.    represents the location east and west of the prime meridian as a
  2757.    positive or negative real number, respectively. The latitude
  2758.    represents the location north and south of the equator as a positive
  2759.    or negative real number, respectively. The longitude and latitude
  2760.    values must be specified as decimal degrees and should be specified
  2761.    to six decimal places. This will allow for granularity within a meter
  2762.    of the geographical position. The simple formula for converting
  2763.    degrees-minutes-seconds into decimal degrees is:
  2764.  
  2765.      decimal = degrees + minutes/60 + seconds/3600.
  2766.  
  2767.  
  2768. Dawson/Stenerson                   43              Expires January 1998
  2769.  
  2770.  
  2771. Internet Draft       C&S Core Object Specification        July 29, 1997
  2772.  
  2773.    The property is defined by the following notation:
  2774.  
  2775.      geo        = "GEO" ":" geovalue CRLF
  2776.  
  2777.      geovalue   = float ";" float
  2778.      ;Latitude and Longitude components
  2779.  
  2780.    The following is an example of this property:
  2781.  
  2782.      GEO:37.386013;-122.082932
  2783.  
  2784.    The default data type for this property is FLOAT.
  2785.  
  2786. 5.6.19  Last Modified
  2787.  
  2788.  
  2789.    This property is identified by the property name LAST-MODIFIED. The
  2790.    property specifies the date and time that the calendar information
  2791.    was last revised. The property value may include multiple "date-time"
  2792.    values in order to capture the sequence of modifications made to the
  2793.    calendar information. This property may be specified in the event,
  2794.    to-do, journal or free/busy calendar components. The data and time
  2795.    must be a UTC value.
  2796.  
  2797.    The property is defined by the following notation:
  2798.  
  2799.      last-mod   = "LAST-MODIFIED" ":" date-time ["," date-time]
  2800.                   CRLF
  2801.  
  2802.    The following is are examples of this property:
  2803.  
  2804.      LAST-MODIFIED:19960817T133000Z
  2805.  
  2806.      LAST-MODIFIED:19970104T083000-0500,19970403T090000-0500,
  2807.       19970901T133000-0400
  2808.  
  2809.    The data type for this property is DATE-TIME.
  2810.  
  2811. 5.6.20  Location
  2812.  
  2813.  
  2814.    This property is identified by the property name LOCATION. The
  2815.    property defines the intended location for the event or to-do
  2816.    calendar component. The property may only be specified within an
  2817.    event or to-do calendar component.
  2818.  
  2819.    The property is defined by the following notation:
  2820.  
  2821.      location   = "LOCATION [";" paramlist] ":" locavalue
  2822.                   CRLF
  2823.  
  2824.      locavalue  = text / url    ;The value must be the same type as the
  2825.                                 ;default or explicit data type.
  2826.  
  2827.    The following are some examples of this property:
  2828.  
  2829.      LOCATION:Conference Room - F123, Bldg. 002
  2830.  
  2831.  
  2832. Dawson/Stenerson                   44              Expires January 1998
  2833.  
  2834.  
  2835. Internet Draft       C&S Core Object Specification        July 29, 1997
  2836.  
  2837.      LOCATION;VALUE=URL:http://www.xyzcorp.com/~jsmith.vcf
  2838.  
  2839.    The default data type for this property is TEXT. The data type may be
  2840.    reset to URL. In the case of the data type being URL, the property
  2841.    value may reference a vCard object. This provides a useful mechanism
  2842.    to specify a location in terms of its electronic business card.
  2843.  
  2844. 5.6.21  Priority
  2845.  
  2846.  
  2847.    This property is identified by the property name PRIORITY. The
  2848.    property defines the priority for event or to-do. The property may
  2849.    only be specified within an event or to-do calendar component. The
  2850.    value is an integer. A value of zero (ASCII decimal 48) specifies an
  2851.    undefined priority. A value of one (ASCII decimal 49) is the highest
  2852.    priority. A value of two (ASCII decimal 50) is the second highest
  2853.    priority. Subsequent numbers specify a decreasing ordinal priority.
  2854.  
  2855.    The property is specified by the following notation:
  2856.  
  2857.      priority   = "PRIORITY" ":" integer CRLF
  2858.      ;Default is zero
  2859.  
  2860.    The following is an example of this property:
  2861.  
  2862.      PRIORITY:2
  2863.  
  2864.    The data type for this property is INTEGER.
  2865.  
  2866. 5.6.22  Recurrence Date/Times
  2867.  
  2868.  
  2869.    This property is identified by the property name RDATE. This property
  2870.    defines the list of date/times for a recurring event, to-do or time
  2871.    zone calendar component. This property may appear along with the
  2872.    RRULE property to define an aggregate set of repeating occurrences.
  2873.    When they both appear in an iCalendar object, the recurring events
  2874.    are defined by the union of occurrences defined by both the RDATE and
  2875.    RRULE. The times can either be in local time, local time with UTC
  2876.    offset or UTC based time. If local time is used, the TIMEZONE
  2877.    component must be included in the iCalendar object, otherwise the
  2878.    local time value will be interpreted relative to the time zone of the
  2879.    recipient. The period values for RDATE are specified using a specific
  2880.    start and a specific end basic format (period-explicit) or the period
  2881.    with a specific start and a specific duration basic format (period-
  2882.    start).
  2883.  
  2884.    The property is defined by the following notation:
  2885.  
  2886.      rdate      = "RDATE" ":" rdvalue *["," rdvalue] CRLF
  2887.  
  2888.      rdvalue    = date-time / period
  2889.      ;Value must match the default or explicit data type
  2890.  
  2891.    The following are examples of this property:
  2892.  
  2893.      RDATE:19970714T083000-0400
  2894.  
  2895.  
  2896. Dawson/Stenerson                   45              Expires January 1998
  2897.  
  2898.  
  2899. Internet Draft       C&S Core Object Specification        July 29, 1997
  2900.  
  2901.      RDATE;VALUE=PERIOD:19960403T020000Z/19960403T040000Z,
  2902.       19960404T010000Z/PT3H
  2903.  
  2904.      RDATE;VALUE=DATE:19970101,19970120,19970217,19970421
  2905.       19970526,19970704,19970901,19971014,19971128,19971129,19971225
  2906.  
  2907.    The default data type for this property is DATE-TIME. The value may
  2908.    be reset to DATE or PERIOD.
  2909.  
  2910. 5.6.23  Recurrence ID
  2911.  
  2912.  
  2913.    This property is identified by the property name RECURRENCE-ID. This
  2914.    property identifies a specific instance of a recurring event, to-do
  2915.    or journal calendar component. The property value is the effective
  2916.    DTSTART value of the recurrence instance. The time of day component
  2917.    for the value must be either an UTC or a local time with UTC offset
  2918.    time format, unless the original calendar object was expressed as a
  2919.    æ   æfloatingÆ             Æ calendar object; that is in local time with no timezone
  2920.    calendar component specified..
  2921.  
  2922.    The date/time value is set to the time when the original recurrence
  2923.    instance would occur - - meaning that if the intent is to change a
  2924.    Friday meeting to Thursday, the date/time is still set to the
  2925.    original Friday meeting.
  2926.  
  2927.    Recurrence ID is used in conjunction with the UID property to
  2928.    identify a particular instance of a recurring event, to-do or
  2929.    journal.
  2930.  
  2931.    The property is defined by the following notation:
  2932.  
  2933.      recurid            = "RECURRENCE-ID" [";" rangeparm] ":" date-time
  2934.  
  2935.      rangeparm  = "RANGE" "=" ("THISANDPRIOR" / "THISANDFUTURE")
  2936.  
  2937.    The default value for the range parameter is the single recurrence
  2938.    instance only.
  2939.  
  2940.    The following are examples of this property:
  2941.  
  2942.      RECURRENCE-ID:19960401T235959Z
  2943.  
  2944.      RECURRENCE-ID;RANGE=THISANDFUTURE:19960120T120000Z
  2945.  
  2946. 5.6.24  Recurrence Rule
  2947.  
  2948.  
  2949.    This property is identified by the property name RRULE. This property
  2950.    defines a rule or repeating pattern for a recurring events, to-dos,
  2951.    or time zone definitions. The property may be specified in the event,
  2952.    to-do, or time zone calendar components.
  2953.  
  2954.    The property value is a structured value consisting of a list of one
  2955.    or more recurrence grammar components. Each component is defined by a
  2956.    NAME=VALUE pair. The components are separated from each other by the
  2957.    SEMICOLON character (ASCII decimal 59).
  2958.  
  2959.  
  2960. Dawson/Stenerson                   46              Expires January 1998
  2961.  
  2962.  
  2963. Internet Draft       C&S Core Object Specification        July 29, 1997
  2964.  
  2965.    The FREQ component identifies the type of recurrence rule. This
  2966.    component must be specified in the recurrence rule. Valid values
  2967.    include HOURLY, to specify repeating events based on an interval of
  2968.    an hour or more; DAILY, to specify repeating events based on an
  2969.    interval of a day or more; WEEKLY, to specify repeating events based
  2970.    on an interval of a week or more; MONTHLY, to specify repeating
  2971.    events based on an interval of a month or more; and YEARLY, to
  2972.    specify repeating events based on an interval of a year or more.
  2973.  
  2974.    The INTERVAL component contains a positive integer representing how
  2975.    often the RRULE repeats. The default value is "1" or every hour for a
  2976.    HOURLY rule, every day for a DAILY rule, every week for a WEEKLY
  2977.    rule, every month for a MONTHLY rule and every year for a YEARLY
  2978.    rule. For a HOURLY rule, the value may also be expressed as a
  2979.    duration value, specifying hours and minutes for the repeat interval.
  2980.    For example, PT1H30M, would represent a 1 hour and 30 minute repeat
  2981.    interval.
  2982.  
  2983.    The UNTIL component defines a date-time value which bounds the RRULE.
  2984.    If not present, and the COUNT component is also not present, the
  2985.    RRULE is considered to repeat forever.
  2986.  
  2987.    The COUNT component defines the number of occurrences at which to
  2988.    bound the RRULE. This component is ignored if the UNTIL property
  2989.    parameter is also present.
  2990.  
  2991.    The BYDAY component specifies a COMMA character (ASCII decimal 44)
  2992.    separated list of days of the week; MO, indicates Monday; TU,
  2993.    indicates Tuesday; WE, indicates Wednesday; TH, indicates Thursday;
  2994.    FR, indicates Friday; SA, indicates Saturday; SU, indicates Sunday.
  2995.  
  2996.    Each of these values may also be preceded by a positive (+n) or
  2997.    negative (-n) integer. If present, this indicates the nth occurrence
  2998.    of the specific day within the MONTHLY or YEARLY RRULE. For example,
  2999.    within a MONTHLY rule, +1MO (or simply 1MO) represents the first
  3000.    Monday within the month, whereas -1MO represents the last Monday of
  3001.    the month.
  3002.  
  3003.    The BYMONTHDAY component specifies a COMMA character (ASCII decimal
  3004.    44) separated list of days of the month. Valid values are 1 to 31 or
  3005.    -31 to -1.
  3006.  
  3007.    The BYYEARDAY component specifies a COMMA character (ASCII decimal
  3008.    44) separated list of days of the year. Valid values are 1 to 366 or
  3009.    -366 to -1. For example, -1 represents the last day of the year
  3010.    (December 31st).
  3011.  
  3012.    The BYSETPOS component specifies a COMMA character (ASCII decimal 44)
  3013.    separated list of values which corresponds to the nth occurrence
  3014.    within the set of events specified by the rule. Valid values are 1 to
  3015.    366 or -366 to -1. It must only be used in conjunction with another
  3016.    Byxxx component. For example "the last work day of the month" could
  3017.    be represented as:
  3018.  
  3019.      RRULE:BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1;FREQ=MONTHLY
  3020.  
  3021.  
  3022.  
  3023. Dawson/Stenerson                   47              Expires January 1998
  3024.  
  3025.  
  3026. Internet Draft       C&S Core Object Specification        July 29, 1997
  3027.  
  3028.    The BYWEEKNO component specifies a comma separated list of weeks of
  3029.    the year. Valid values are 1 to 52. This corresponds to weeks
  3030.    according to week numbering as defined in [ISO 8601]. That is, a week
  3031.    as "A seven day period within a calendar year, starting on a Monday
  3032.    and identified by its ordinal number within the year; the first
  3033.    calendar week of the year is the one that includes the first Thursday
  3034.    of that year." This property parameter is only valid for YEARLY
  3035.    rules.
  3036.  
  3037.    The BYMONTH component specifies a comma separated list of months of
  3038.    the year. Valid values are 1 to 12.
  3039.  
  3040.    The WKST property parameter specifies the day on which the workweek
  3041.    starts. Valid values are MO, TU, WE, TH, FR, SA and SU. This is
  3042.    significant when a WEEKLY RRULE has an interval greater than 1. The
  3043.    default value is MO.
  3044.  
  3045.    If two different Byxxx components are specified within the RRULE, the
  3046.    recurrence occurrence must meet both criteria.
  3047.  
  3048.    If Byxxx component values are found which are beyond the available
  3049.    scope (ie, BYMONTHDAY=-30 in February), they are simply ignored. If a
  3050.    positive range limit is beyond the available scope, it will be
  3051.    interpreted as -1. Likewise, if a negative range limits beyond the
  3052.    available scope, it will be interpreted as +1.
  3053.  
  3054.    The RRULE property requires referencing the DTSTART, DTEND or
  3055.    DURATION properties in the iCalendar object to calculate the Event or
  3056.    To-do instances.
  3057.  
  3058.    The DTSTART and DTEND pair or DTSTART and DURATION pair, specified
  3059.    within the iCalendar object defines the first instance of the
  3060.    recurrence. When used with a recurrence rule, the DTSTART and DTEND
  3061.    properties must be specified in local time and the appropriate set of
  3062.    TIMEZONE components must be included. For detail on the usage of the
  3063.    TIMEZONE component, see the Time Zone Calendar Component definition.
  3064.  
  3065.    Any duration associated with the iCalendar object applies to all
  3066.    members of the generated recurrence. Any modified duration for
  3067.    specific recurrences would have to be explicitly specified using the
  3068.    RDATE property.
  3069.  
  3070.    This property is defined by the following notation:
  3071.  
  3072.      rrule      = "RRULE" [paramlist] ":" rvalue CRLF
  3073.  
  3074.      paramlist  = param / paramlist ";" param
  3075.  
  3076.      rvalue     = "FREQ" = freq
  3077.                 *("UNTIL" "=" enddate
  3078.                 / "COUNT" "=" interval
  3079.                 / "INTERVAL" "=" rinterval
  3080.                 / "BYDAY" "=" bdweekdaylist
  3081.                 / "BYMONTHDAY" "=" bmdaylist
  3082.                 / "BYYEARDAY" "=" bydaylist
  3083.                 / "BYSETPOS" "=" bsplist
  3084.                 / "BYWEEKNO" "=" bwdaylist
  3085.  
  3086. Dawson/Stenerson                   48              Expires January 1998
  3087.  
  3088.  
  3089. Internet Draft       C&S Core Object Specification        July 29, 1997
  3090.  
  3091.                 / "BYMONTH" "=" bmlist
  3092.                 / "WKST" "=" weekday
  3093.                 / "X-" word "=" word)
  3094.  
  3095.      freq       = "HOURLY" / "DAILY" / "WEEKLY" / "YEARLY"
  3096.  
  3097.      rinterval  = interval      ; For any rvalue
  3098.                 / duration      ; Only for rvalue = HOURLY
  3099.  
  3100.      DIGIT      =<any ASCII decimal digit>      ;0-9
  3101.  
  3102.      digits     = 1*DIGIT
  3103.  
  3104.      interval   = digits
  3105.  
  3106.      enddate    = date          ;A UTC value
  3107.  
  3108.      plus       = "+"
  3109.  
  3110.      minus      = "-"
  3111.  
  3112.      ordmoday   = 1*2digits     ;1 to 31
  3113.  
  3114.      ordwk      = 1*2digits     ;1 to 52
  3115.  
  3116.      ordyrday   = 1*3digits     ;1 to 366
  3117.  
  3118.      daynumber  = (plus / minus) ordmoday
  3119.  
  3120.      weekday    = "SU" / "MO" / "TU" / "WE" / "TH" / "FR" / "SA"
  3121.      ;Corresponding to SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY,
  3122.      ;FRIDAY, SATURDAY and SUNDAY days of the week.
  3123.  
  3124.      bdweekdaynum = [daynumber] weekday
  3125.  
  3126.      bdweekdaylist      = bdweekdaynum / bdweekdaynum ","
  3127.                           *(bdweekdaynum)
  3128.  
  3129.      bmposday   = [plus] ordmoday
  3130.  
  3131.      bmnegday   = minus ordmoday
  3132.  
  3133.      bmdaylist  = bmposday *("," bmposday / bmnegday)
  3134.                 / bmnegday *("," bmnegday / bmposday)
  3135.  
  3136.      byposday   = [plus] ordyrday
  3137.  
  3138.      bynegday   = minus ordyrday
  3139.  
  3140.      bydaylist  = byposday *("," byposday / bynegday)
  3141.                 / bynegday *("," bynegday / byposday)
  3142.  
  3143.      bsplist    = byposday *("," byposday / bynegday)
  3144.                 / bynegday *("," bynegday / byposday)
  3145.  
  3146.      bwposday   = [plus] ordwk
  3147.  
  3148.  
  3149. Dawson/Stenerson                   49              Expires January 1998
  3150.  
  3151.  
  3152. Internet Draft       C&S Core Object Specification        July 29, 1997
  3153.  
  3154.      bwnegday   = minus ordwk
  3155.  
  3156.      bwdaylist  = bwposday *("," bwposday / bwnegday)
  3157.                 / bwnegday *("," bwnegday / bwposday)
  3158.  
  3159.      bmposmon   = 1*2digits     ;1 to 12
  3160.  
  3161.      bmlist     = bmposmon *("," bmposmon)
  3162.  
  3163.    Examples of this property include the following. Daily for 10
  3164.    occurrences:
  3165.  
  3166.      RRULE:COUNT=10;FREQ=DAILY
  3167.  
  3168.    Daily until 12/24/94:
  3169.  
  3170.      RRULE:UNTIL=19941224T000000Z;FREQ=DAILY
  3171.  
  3172.    Every other day - forever:
  3173.  
  3174.      RRULE:INTERVAL=2;FREQ=DAILY
  3175.  
  3176.    Every 10 days, 5 occurrences:
  3177.  
  3178.      RRULE:COUNT=5;INTERVAL=10;FREQ=DAILY
  3179.  
  3180.    Weekly for 10 occurrences
  3181.  
  3182.      RRULE:COUNT=10;FREQ=WEEKLY
  3183.  
  3184.    Weekly until 12/24/94
  3185.  
  3186.      RRULE:UNTIL=19941224T000000Z;FREQ=WEEKLY
  3187.  
  3188.    Every other week - forever:
  3189.  
  3190.      RRULE:INTERVAL=2;WKST=SU;FREQ=WEEKLY
  3191.  
  3192.    Weekly on Tuesday and Thursday for 5 weeks:
  3193.  
  3194.      RRULE:INTERVAL=5;WKST=SU;BYDAY=TU,TH;FREQ=WEEKLY
  3195.  
  3196.    Every other week on Monday, Wednesday and Friday until 12/24/94:
  3197.  
  3198.      RRULE:INTERVAL=2;WKST=SU;BYDAY=MO,WE,FR;=UNTIL=19941224T000000Z;
  3199.       FREQ=WEEKLY
  3200.  
  3201.    Every other week on Tuesday and Thursday, for 8 occurrences:
  3202.  
  3203.      RRULE:INTERVAL=2;WKST=SU;COUNT=8;BYDAY=TU,TH;FREQ=WEEKLY
  3204.  
  3205.    Monthly on the 1st Friday for ten occurrences:
  3206.  
  3207.      RRULE:COUNT=10;BYDAY=1FR;FREQ=MONTHLY
  3208.  
  3209.    Monthly on the 1st Friday until 12/24/94:
  3210.  
  3211.  
  3212. Dawson/Stenerson                   50              Expires January 1998
  3213.  
  3214.  
  3215. Internet Draft       C&S Core Object Specification        July 29, 1997
  3216.  
  3217.      RRULE:UNTIL=19941224T000000Z;BYDAY=1FR;FREQ=MONTHLY
  3218.  
  3219.    Every other month on the 1st and last Sunday of the month for
  3220.    10occurrences:
  3221.  
  3222.      RRULE:COUNT=10;BYDAY=1SU,-1SU;FREQ=MONTHLY
  3223.  
  3224.    Monthly on the second to last Monday of the month for 6 months:
  3225.  
  3226.      RRULE:COUNT=6;BYDAY=-2MO;FREQ=MONTHLY
  3227.  
  3228.    Monthly on the third to the last day of the month, forever:
  3229.  
  3230.      RRULE:BYMONTHDAY=-3;FREQ=MONTHLY
  3231.  
  3232.    Monthly on the 2nd and 15th of the month for 10 occurrences:
  3233.  
  3234.      RRULE:COUNT=10;BYMONTHDAY=2,15;FREQ=MONTHLY
  3235.  
  3236.    Monthly on the first and last day of the month for 10 occurrences:
  3237.  
  3238.      RRULE:COUNT=10;BYMONTHDAY=1,-1;FREQ=MONTHLY
  3239.  
  3240.    Every 18 months on the 10th thru 15th of the month for 10
  3241.    occurrences:
  3242.  
  3243.      RRULE:COUNT=10;INTERVAL=18;BYMONTHDAY=10,11,12,13,14,15;
  3244.       FREQ=MONTHLY
  3245.  
  3246.    Monthly on the second to the last day for 5 months. So, if the start
  3247.    date is August 1996, the event would repeat on 8/30/96, 9/29/96,
  3248.    10/30/96, 11/29/96, and 12/30/96:
  3249.  
  3250.      RRULE:COUNT=5;BYMONTHDAY=-2;FREQ=MONTHLY
  3251.  
  3252.    Yearly in June and July for 10 occurrences:
  3253.  
  3254.      RRULE:COUNT=10;BYMONTH=6,7;FREQ=YEARLY
  3255.  
  3256.    Every other year on January, February, and March for 10 occurrences:
  3257.  
  3258.      RRULE:COUNT=10;INTERVAL=2;BYMONTH=1,2,3;FREQ=YEARLY
  3259.  
  3260.    Every 3rd year on the 1st, 100th and 200th day for 10 occurrences:
  3261.  
  3262.      RRULE:COUNT=10;INTERVAL=3;BYYEARDAY=1,100,200;FREQ=YEARLY
  3263.  
  3264.    Every 20th Monday of the year, forever:
  3265.  
  3266.      RRULE:BYDAY=20MO;FREQ=YEARLY
  3267.  
  3268.    Monday of Week No. 20, forever:
  3269.  
  3270.      RRULE:BYWEEKNO=20;BYDAY=MO;FREQ=YEARLY
  3271.  
  3272.    Every Thursday in March, forever:
  3273.  
  3274.  
  3275. Dawson/Stenerson                   51              Expires January 1998
  3276.  
  3277.  
  3278. Internet Draft       C&S Core Object Specification        July 29, 1997
  3279.  
  3280.      RRULE:BYDAY=TH;BYMONTH=3;FREQ=YEARLY
  3281.  
  3282.    Every Thursday, but only in the summer, forever:
  3283.  
  3284.      RRULE:BYDAY=TH;BYMONTH=6,7,8;FREQ=YEARLY
  3285.  
  3286.    Every Friday the 13th, forever:
  3287.  
  3288.      RRULE:BYDAY=FR;BYMONTHDAY=13;FREQ=MONTHLY
  3289.  
  3290.    The first Saturday that follows the first Sunday of the month,
  3291.    forever:
  3292.  
  3293.      RRULE:BYDAY=SA;BYMONTHDAY=7,8,9,10,11,12,13;FREQ=MONTHLY
  3294.  
  3295.    Every four years, the first Tuesday after a Monday in November,
  3296.    forever (U.S. Election day):
  3297.  
  3298.      RRULE:INTERVAL=4;BYDAY=TU;BYMONTHDAY=7,8,9,10,11,12,13;
  3299.       FREQ=YEARLY
  3300.  
  3301.    The 3rd instance into the month of any of Tuesday, Wednesday or
  3302.    Thursday, for the next 3 months:
  3303.  
  3304.      RRULE:COUNT=3;BYDAY=TU,WE,TH;BYSETPOS=3;FREQ=MONTHLY
  3305.  
  3306.    The 2nd to last weekday of the month"
  3307.  
  3308.      RRULE:BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-2;FREQ=MONTHLY
  3309.  
  3310.    The data type for this property is TEXT.
  3311.  
  3312. 5.6.25  Related To
  3313.  
  3314.  
  3315.    This property is identified by the property name RELATED-TO. The
  3316.    property is used to represent relationships or references between one
  3317.    calendar component and another. The property may only be specified in
  3318.    the event, to-do and journal calendar components. The property value
  3319.    consists of the persistent, globally unique identifier of another
  3320.    MIME calendar component. This value would be represented in a MIME
  3321.    calendar component by the UID property.
  3322.  
  3323.    A linked relationship can be specified by a series of components that
  3324.    each, in turn, refer to their parent component. A group relationship
  3325.    can be specified by a number of components that all refer to one
  3326.    common parent component.
  3327.  
  3328.    Changes to a calendar component referenced by this property may
  3329.    impact the related calendar component. For example, if a group event
  3330.    changes its start or end date or time, then the related, dependent
  3331.    events will need to have their start and end dates changed in a
  3332.    corresponding way. This property is intended only to provide
  3333.    information on the relationship of calendar components. It is up to
  3334.    the target calendar system to maintain any property implications of
  3335.    this relationship.
  3336.  
  3337.  
  3338.  
  3339. Dawson/Stenerson                   52              Expires January 1998
  3340.  
  3341.  
  3342. Internet Draft       C&S Core Object Specification        July 29, 1997
  3343.  
  3344.    The property is defined by the following notation:
  3345.  
  3346.      related    = "RELATED-TO" [";" paramlist] ":" relvalue
  3347.                   CRLF
  3348.  
  3349.      relvalue   = text
  3350.  
  3351.    The following is an example of this property:
  3352.  
  3353.      RELATED-TO:<jsmith.part7.19960817T083000.xyzMail@host3.com>
  3354.  
  3355.      RELATED-TO:19960401-080045-4000F192713-0052
  3356.  
  3357.    The data type for this property is TEXT.
  3358.  
  3359. 5.6.26  Repeat Count
  3360.  
  3361.  
  3362.    This property is identified by the property name REPEAT. This
  3363.    property defines the number of repetitions for an alarm.
  3364.  
  3365.    The property is defined by the following notation:
  3366.  
  3367.      repeatcnt  = "REPEAT" ":" integer CRLF
  3368.      ;Default is "1".
  3369.  
  3370.    The following is an example of this property:
  3371.  
  3372.      REPEAT:4
  3373.  
  3374.    The data type for the property is INTEGER.
  3375.  
  3376. 5.6.27  Request Status
  3377.  
  3378.  
  3379.    This property is identified by the property name REQUEST-STATUS. This
  3380.    property defines the status code returned for a scheduling request.
  3381.    This property is used to return status code information related to
  3382.    the processing of an associated iCalendar object. The data type for
  3383.    this property is TEXT.
  3384.  
  3385.    The value consists of a short return status, a longer return status
  3386.    description, and optionally the offending data. The components of the
  3387.    value are separated by the SEMICOLON character (ASCII decimal 59).
  3388.  
  3389.    The property is defined by the following notation:
  3390.  
  3391.      Rstatus    = "REQUEST-STATUS" ":" statcode ";"
  3392.                          statdesc [";" extdata]
  3393.  
  3394.      Statcode   = 3*DIGIT
  3395.      ;Numeric return status code
  3396.  
  3397.      Statdesc   = *WORD
  3398.      ;Textual status description
  3399.  
  3400.  
  3401.  
  3402.  
  3403. Dawson/Stenerson                   53              Expires January 1998
  3404.  
  3405.  
  3406. Internet Draft       C&S Core Object Specification        July 29, 1997
  3407.  
  3408.      Extdata    = *WORD
  3409.      ;Textual exception data. For example, the offending property
  3410.      ;name and value or complete property line.
  3411.  
  3412.    The following are some examples of this property:
  3413.  
  3414.      REQUEST-STATUS:200;Success
  3415.  
  3416.      REQUEST-STATUS:301;Invalid property value;DTSTART\:96-Apr-01
  3417.      ;Note escapement of the colon character in property value.
  3418.  
  3419.      REQUEST-STATUS:208; Success, repeating event ignored. Scheduled
  3420.       as a single event.;RRULE:INTERVAL=2;FREQ=WEEKLY
  3421.  
  3422.      REQUEST-STATUS:401;Event conflict. Date/time is busy.
  3423.  
  3424.      REQUEST-STATUS:307;Invalid calendar user;ATTENDEE:
  3425.       jsmith@host.com
  3426.  
  3427.    The following are valid classes for the return status code.
  3428.    Individual iCalendar profiles will define specific return status
  3429.    codes for these classes.
  3430.  
  3431.  
  3432.  
  3433.  
  3434.  
  3435.  
  3436.  
  3437.  
  3438.  
  3439.  
  3440.  
  3441.  
  3442.  
  3443.  
  3444.  
  3445.  
  3446.  
  3447.  
  3448.  
  3449.  
  3450.  
  3451.  
  3452.  
  3453.  
  3454.  
  3455.  
  3456.  
  3457.  
  3458.  
  3459.  
  3460.  
  3461.  
  3462.  
  3463.  
  3464.  
  3465.  
  3466. Dawson/Stenerson                   54              Expires January 1998
  3467.  
  3468.  
  3469. Internet Draft       C&S Core Object Specification        July 29, 1997
  3470.  
  3471.  
  3472.        Short Return Status Code  Longer Return Status
  3473.                                  Description
  3474.  
  3475.  
  3476.             1xx                     Preliminary success. This
  3477.                                     class of status code
  3478.                                     indicates that the request
  3479.                                     has been initially
  3480.                                     processed, but that
  3481.                                     completion is pending.
  3482.  
  3483.  
  3484.             2xx                     Successful. This class of
  3485.                                     status code indicates that
  3486.                                     the request was completed
  3487.                                     successfully. However, the
  3488.                                     exact status code my
  3489.                                     indicate that a fallback has
  3490.                                     been taken.
  3491.  
  3492.  
  3493.             3xx                     Client Error. This class of
  3494.                                     status code indicates that
  3495.                                     the request was not
  3496.                                     successful. The error is the
  3497.                                     result of either a syntax or
  3498.                                     a semantic error in the
  3499.                                     client formatted request.
  3500.                                     Request should not be
  3501.                                     retried until the condition
  3502.                                     in the request is corrected.
  3503.  
  3504.  
  3505.             4xx                     Scheduling Error. This class
  3506.                                     of status code indicates
  3507.                                     that the request was not
  3508.                                     successful. The error is the
  3509.                                     result of a scheduling
  3510.                                     conflict with the
  3511.                                     information in the
  3512.                                     associated calendar.
  3513.  
  3514.  
  3515.             5xx                     Service Error. This class of
  3516.                                     status code indicates that
  3517.                                     the request was not
  3518.                                     successful. Some sort of
  3519.                                     error occurred within the
  3520.                                     calendaring and scheduling
  3521.                                     service, not directly
  3522.                                     related to the request
  3523.                                     itself.
  3524.  
  3525.  
  3526.  
  3527.  
  3528. 5.6.28  Resources
  3529.  
  3530.  
  3531.    This property is identified by the property name RESOURCES. This
  3532.    property defines the equipment or resources needed for the event or
  3533.    to-do. The property value is an arbitrary text. The property may only
  3534.  
  3535. Dawson/Stenerson                   55              Expires January 1998
  3536.  
  3537.  
  3538. Internet Draft       C&S Core Object Specification        July 29, 1997
  3539.  
  3540.    be specified in the event or to-do calendar component. More than one
  3541.    resource may be specified as a list of resources separated by the
  3542.    COMMA character (ASCII decimal 44).
  3543.  
  3544.    The property is defined by the following notation:
  3545.  
  3546.      resource   = "RESOURCES" [";" paramlist] ":"
  3547.                   resvalist CRLF
  3548.  
  3549.      resvalist  = resvalue / resvalue "," resvalist
  3550.  
  3551.      resvalue   = "CATERING" / "CHAIRS" / "COMPUTER PROJECTOR"
  3552.                 / "EASEL" / "OVERHEAD PROJECTOR" / "SPEAKER PHONE"
  3553.                 / "TABLE" / "TV" / "VCR" / "VIDEO PHONE" / "VEHICLE"
  3554.                 / word
  3555.  
  3556.    The following is an example of this property:
  3557.  
  3558.      RESOURCES:EASEL,PROJECTOR,VCR
  3559.  
  3560.    The data type for this property is TEXT.
  3561.  
  3562. 5.6.29  Response Sequence Number
  3563.  
  3564.  
  3565.    This property is identified by the property name RESPONSE-SEQUENCE.
  3566.    This property defines the revision sequence of the calendar
  3567.    component. The property may only be specified in an event, to-do,
  3568.    journal or free/busy calendar component. This property is needed to
  3569.    properly handle the receipt and processing of a sequence of MIME
  3570.    calendar components that have been delivered out of order. Such is
  3571.    the case for store-and-forward based transports. The first response
  3572.    to an a request is created with response sequence number of "0"
  3573.    (ASCII decimal 48). If the value is non-zero, it must be specified.
  3574.    It is incremented each time another reply is sent.
  3575.  
  3576.    The property is defined by the following notation:
  3577.  
  3578.      respseq    = "RESPONSE-SEQUENCE" ":" integer CRLF
  3579.      ;Default is "0".
  3580.  
  3581.    The following is an example of this property:
  3582.  
  3583.      RESPONSE-SEQUENCE:1
  3584.  
  3585.    The data type for this property is INTEGER.
  3586.  
  3587. 5.6.30  Sequence Number
  3588.  
  3589.  
  3590.    This property is identified by the property name SEQUENCE. This
  3591.    property defines the revision sequence of the calendar component used
  3592.    in a request. The property may only be specified in an event, to-do,
  3593.    journal or free/busy calendar component. This property is needed to
  3594.    properly handle the receipt and processing of a sequence of MIME
  3595.    calendar components that have been delivered out of order. Such is
  3596.    the case for store-and-forward based transports. The first request is
  3597.    created with a sequence number of "0" (ASCII decimal 48). It is
  3598.  
  3599. Dawson/Stenerson                   56              Expires January 1998
  3600.  
  3601.  
  3602. Internet Draft       C&S Core Object Specification        July 29, 1997
  3603.  
  3604.    incremented each time the ORGANIZER or OWNER issues a revision to the
  3605.    request. A monotonic increment to the sequence number is caused by a
  3606.    change to one of the following properties by the Organizer or Owner:
  3607.  
  3608.      ╖ DTSTART
  3609.      ╖ DTEND
  3610.      ╖ LOCATION
  3611.      ╖ DUE
  3612.  
  3613.    The property is defined by the following notation:
  3614.  
  3615.      sequence   = "SEQUENCE" ":" integer CRLF
  3616.      ;Default is "0".
  3617.  
  3618.    The following is an example of this property:
  3619.  
  3620.      SEQUENCE:1
  3621.  
  3622.    The data type for this property is INTEGER.
  3623.  
  3624. 5.6.31  Status
  3625.  
  3626.  
  3627.    This property is identified by the property name STATUS. This
  3628.    property defines the orignator's view of the overall status for the
  3629.    calendar component. This property may only be specified in the event
  3630.    and to-do calendar components. When specified in an event calendar
  3631.    component, the property is used to specify the originator's view of
  3632.    the general consensus for the meeting. When specified in a group
  3633.    scheduled to-do, the property is used to specify the originator's
  3634.    view of the completion status for the to-do.
  3635.  
  3636.    The property is defined by the following notation:
  3637.  
  3638.      status     = "STATUS" [";" paramlist] ":" statvalue CRLF
  3639.  
  3640.      statvalue  = "NEEDS ACTION"        ;Indicates to-do needs action.
  3641.                 / "COMPLETED"           ;Indicates to-do completed
  3642.                 / "TENTATIVE"           ;Indicates event is being
  3643.                                         ;tentatively scheduled
  3644.                 / "CONFIRMED"           ;Indicates event is definite
  3645.                 / "CANCELLED"           ;Indicates event was canceled
  3646.  
  3647.    The following is an example of this property:
  3648.  
  3649.      STATUS:TENTATIVE
  3650.  
  3651.    The data type for this property is TEXT.
  3652.  
  3653. 5.6.32  Summary
  3654.  
  3655.  
  3656.    This property is identified by the property name SUMMARY. This
  3657.    property defines a short summary or subject for the calendar
  3658.    component. The property may only be specified in the event, to-do and
  3659.    alarm calendar component.
  3660.  
  3661.    The property is defined by the following notation:
  3662.  
  3663. Dawson/Stenerson                   57              Expires January 1998
  3664.  
  3665.  
  3666. Internet Draft       C&S Core Object Specification        July 29, 1997
  3667.  
  3668.      summary    = "SUMMARY" [";" paramlist] ":" text CRLF
  3669.  
  3670.    The following is an example of this property:
  3671.  
  3672.      SUMMARY:Department Party
  3673.  
  3674.    The data type for this property is TEXT.
  3675.  
  3676. 5.6.33  Time Transparency
  3677.  
  3678.  
  3679.    This property is identified by the property name TRANSP. This
  3680.    property defines whether an event is transparent or not to free/busy
  3681.    time searches. This property may only be specified in an event
  3682.    calendar component.
  3683.  
  3684.    The property is specified by the following notation:
  3685.  
  3686.      transp     = "TRANSP" [";" paramlist] ":" transvalue
  3687.                   CRLF
  3688.  
  3689.      transvalue = "BUSY"        ;Opaque/blocks on free/busy searches
  3690.                                 ;Default value is BUSY
  3691.                 / "OUT"         ;Opaque/blocks on free/busy searches
  3692.                 / "PRIVATE"     ;Opaque/blocks on free/busy searches
  3693.                 / "CONFIDENTIAL" ;Opaque/blocks on free/busy searches
  3694.                 / "TRANSPARENT" ;Transparent on free/time searches
  3695.  
  3696.    The following is an example of this property for an event that is
  3697.    transparent or does not block on free/busy time searches:
  3698.  
  3699.      TRANSP:TRANSPARENT
  3700.  
  3701.    The following is an example of this property for an event that is
  3702.    opaque or blocks on free/busy time searches:
  3703.  
  3704.      TRANSP:BUSY
  3705.  
  3706.    The data type for this property is TEXT.
  3707.  
  3708. 5.6.34  Time Zone Name
  3709.  
  3710.  
  3711.    This property is identified by the property name TZNAME. This
  3712.    property specifies the customary designation for a time zone
  3713.    descripiton. This property may only be specified in the Time Zone
  3714.    Calendar Component.
  3715.  
  3716.    This property is defined by the following notation:
  3717.  
  3718.      tzname     = "TZNAME" [";" paramlist] ":" text CRLF
  3719.  
  3720.    The following are examples of this property:
  3721.  
  3722.      TZNAME: EST
  3723.  
  3724.      TZNAME: PDT
  3725.  
  3726.  
  3727. Dawson/Stenerson                   58              Expires January 1998
  3728.  
  3729.  
  3730. Internet Draft       C&S Core Object Specification        July 29, 1997
  3731.  
  3732.    The data type for this property is TEXT.
  3733.  
  3734. 5.6.35  Time Zone Offset
  3735.  
  3736.  
  3737.    This property is identified by the property name TZOFFSET. This
  3738.    property specifies the offset from UTC for a time zone. This property
  3739.    may only be specified in a Time Zone Calendar Component. A Time Zone
  3740.    Calendar Component must include this property. The property value is
  3741.    a signed numeric indicating the number of hours and possibly minutes
  3742.    from UTC. Positive numbers represents time zones east, or ahead of
  3743.    UTC. Negative numbers represents time zones west of, or behind UTC.
  3744.  
  3745.    The property is defined by the following notation:
  3746.  
  3747.      tzoffset   = "TZOFFSET" ":" utc-offset CRLF
  3748.  
  3749.    The following are examples of this property:
  3750.  
  3751.      TZOFFSET:-0500
  3752.  
  3753.      TZOFFSET:+0530
  3754.  
  3755.    The data type for this property is UTC-OFFSET.
  3756.  
  3757. 5.6.36  Uniform Resource Locator
  3758.  
  3759.  
  3760.    This property is identified by the property name URL. This property
  3761.    defines a Uniform Resource Locator (URL) associated with the
  3762.    iCalendar object. This property may be specified in the event, to-do,
  3763.    journal, free/busy, and alarm calendar components.
  3764.  
  3765.    The property is defined by the following notation:
  3766.  
  3767.      url        = "URL" ":" url CRLF
  3768.  
  3769.    The following is an example of this property:
  3770.  
  3771.      URL:http://abc.com/pub/calendars/jsmith/mytime.or3
  3772.  
  3773.    The data type for this property is URL.
  3774.  
  3775. 5.6.37  Unique Identifier
  3776.  
  3777.  
  3778.    This property is identified by the property name UID. This property
  3779.    defines the persistent, globally unique identifier for the calendar
  3780.    component. The property must be specified in the event, to-do and
  3781.    journal calendar components.
  3782.  
  3783.    This identifier is created by the calendar system that generates an
  3784.    iCalendar Object. The identifier is represented as a text value. This
  3785.    is the method for correlating scheduling messages with the referenced
  3786.    event, to-do, or journal.
  3787.  
  3788.    The property is defined by the following notation:
  3789.  
  3790.      uid        = "UID" [";" paramlist] ":" text CRLF
  3791.  
  3792. Dawson/Stenerson                   59              Expires January 1998
  3793.  
  3794.  
  3795. Internet Draft       C&S Core Object Specification        July 29, 1997
  3796.  
  3797.    The following is an example of this property:
  3798.  
  3799.      UID:19960401-080045-4000F192713-0052
  3800.  
  3801.    This property is an important method for group scheduling
  3802.    applications to match requests with later replies, modifications or
  3803.    deletion requests. Calendaring and scheduling applications must
  3804.    generate this property in event, to-do and journal calendar
  3805.    components to assure interoperability with other group scheduling
  3806.    applications.
  3807.  
  3808.    The data type for this property is TEXT.
  3809.  
  3810. 5.6.38  Non-standard Properties
  3811.  
  3812.  
  3813.    The MIME Calendaring and Scheduling Content Type provides a "standard
  3814.    mechanism for doing non-standard things". This extension support is
  3815.    provided for implementers to "push the envelope" on the existing
  3816.    version of the specification. Extension properties are specified by
  3817.    property and/or property parameter names that have the prefix text of
  3818.    "X-" (the two character sequence: LATIN CAPITAL LETTER X character
  3819.    followed by the HYPEN-MINUS character). It is recommended that
  3820.    vendors concatenate onto this sentinel another short prefix text to
  3821.    identify the vendor. This will facilitate readability of the
  3822.    extensions and minimize possible collision of names between different
  3823.    vendors. User agents that support this content type are expected to
  3824.    be able to parse the extension properties and property parameters but
  3825.    may ignore them.
  3826.  
  3827.    The property is defined by the following notation:
  3828.  
  3829.      extension  = "X-" [vendorid] word [";" paramlist] ":"
  3830.                   value
  3831.  
  3832.      vendorid   = 1*char "-"    ;Vendor identification prefix text
  3833.  
  3834.    The following might be the ABC vendorÆs extension for an audio-clip
  3835.    form of subject property:
  3836.  
  3837.      X-ABC-MMSUBJ;TYPE=WAVE; VALUE=URL: http://load.noise.org/mysubj.wav
  3838.  
  3839.    At present, there is no registration authority for names of extension
  3840.    properties and property parameters. The data type for this property
  3841.    is TEXT. Optionally, the data type may be any of the other valid data
  3842.    types.
  3843.  
  3844. 6.      Recommended Practices
  3845.  
  3846.  
  3847.    These recommended practices should be followed in order to assure
  3848.    consistent handling of the following cases for an iCalendar object.
  3849.  
  3850.    1.      A calendar entry with a DTSTART but no DTEND - The event does not
  3851.      take up any time. It is intended to represent an event that is
  3852.      associated with a given calendar date and time of day, such as an
  3853.      anniversary. Since the event does not take up any time, it must
  3854.  
  3855.  
  3856. Dawson/Stenerson                   60              Expires January 1998
  3857.  
  3858.  
  3859. Internet Draft       C&S Core Object Specification        July 29, 1997
  3860.  
  3861.      not be used to record busy time no matter what the value for the
  3862.      TRANSP property.
  3863.  
  3864.    2.      A combination of RRULE and RDATE that produces more than one
  3865.      instance for a given date/time - Only one recurrence can occur on
  3866.      a given date/time interval. Just one instance for the date/time is
  3867.      recorded.
  3868.  
  3869.    3.      A particular calendar profile that specifies ATTENDEE properties
  3870.      with the MEMBER property parameter, for which the recipient has
  3871.      multiple memberships - Recipient should reply to only the first
  3872.      MEMBER value that it can match.
  3873.  
  3874. 7.      Registration of Content Type Elements
  3875.  
  3876.  
  3877.    This section provide the process for registration of MIME Calendaring
  3878.    and Scheduling Content Type profiles and new or modified properties.
  3879.  
  3880. 7.1     Registration of New and ModifiedProfiles
  3881.  
  3882.  
  3883.    New MIME Calendaring and Scheduling Content Type profile types are
  3884.    registered by the publication of an IETF Request for Comment (RFC).
  3885.    Changes to a profile type are registered by the publication of a
  3886.    revision of the RFC defining the profile type.
  3887.  
  3888. 7.2     Registration of New Properties
  3889.  
  3890.  
  3891.    This section defines procedures by which new properties or enumerated
  3892.    property values for the MIME Calendaring and Scheduling Content Type
  3893.    can be registered with the IANA. Note that non-IANA properties may be
  3894.    used by bilateral agreement, provided the associated properties names
  3895.    follow the "X-" convention.
  3896.  
  3897.    The procedures defined here are designed to allow public comment and
  3898.    review of new properties, while posing only a small impediment to the
  3899.    definition of new properties.
  3900.  
  3901.    Registration of a new property is accomplished by the following
  3902.    steps.
  3903.  
  3904. 7.2.1   Define the property
  3905.  
  3906.  
  3907.    A property is defined by completing the following template.
  3908.  
  3909.      To: ietf-calendar@imc.org
  3910.  
  3911.      Subject: Registration of text/calendar MIME property XXX
  3912.  
  3913.      Property name:
  3914.  
  3915.      Property purpose:
  3916.  
  3917.      Property data type(s):
  3918.  
  3919.      Property encoding:
  3920.  
  3921.  
  3922. Dawson/Stenerson                   61              Expires January 1998
  3923.  
  3924.  
  3925. Internet Draft       C&S Core Object Specification        July 29, 1997
  3926.  
  3927.      Property special notes (optional):
  3928.  
  3929.      Intended usage: (one of COMMON, LIMITED USE or OBSOLETE)
  3930.  
  3931.    The meaning of each field in the template is as follows.
  3932.  
  3933.    Property name: The name of the property, as it will appear in the
  3934.    body of an text/calendar MIME Content-Type "property: value" line to
  3935.    the left of the colon ":".
  3936.  
  3937.    Property purpose: The purpose of the property (e.g., to indicate a
  3938.    delegate for the event or to-do, etc.). Give a short but clear
  3939.    description.
  3940.  
  3941.    Property data type(s): Any of the valid data types for the property
  3942.    value needs to be specified. The default data type also needs to be
  3943.    specified. If a new data type is specified, it needs to be declared
  3944.    in this section.
  3945.  
  3946.    Property encoding: The encodings permitted for the property value.
  3947.    This description must be precise and must not violate the general
  3948.    encoding rules defined in this document.
  3949.  
  3950.    Property special notes: Any special notes about the property, how it
  3951.    is to be used, etc.
  3952.  
  3953. 7.2.2   Post the Property definition
  3954.  
  3955.  
  3956.    The property description must be posted to the new property
  3957.    discussion list, ietf-calendar@imc.org.
  3958.  
  3959. 7.2.3   Allow a comment period
  3960.  
  3961.  
  3962.    Discussion on the new property must be allowed to take place on the
  3963.    list for a minimum of two weeks. Consensus must be reached on the
  3964.    property before proceeding to the next step.
  3965.  
  3966. 7.2.4   Submit the property for approval
  3967.  
  3968.  
  3969.    Once the two-week comment period has elapsed, and the proposer is
  3970.    convinced consensus has been reached on the property, the
  3971.    registration application should be submitted to the Profile Reviewer
  3972.    for approval. The Profile Reviewer is appointed to the Application
  3973.    Area Directors and may either accept or reject the property
  3974.    registration. An accepted registration should be passed on by the
  3975.    Profile Reviewer to the IANA for inclusion in the official IANA
  3976.    profile registry. The registration may be rejected for any of the
  3977.    following reasons. 1) Insufficient comment period; 2) Consensus not
  3978.    reached; 3) Technical deficiencies raised on the list or elsewhere
  3979.    have not been addressed. The Profile Reviewer's decision to
  3980.  
  3981.    reject a property may be appealed by the proposer to the IESG, or the
  3982.    objections raised can be addressed by the proposer and the property
  3983.    resubmitted.
  3984.  
  3985.  
  3986.  
  3987. Dawson/Stenerson                   62              Expires January 1998
  3988.  
  3989.  
  3990. Internet Draft       C&S Core Object Specification        July 29, 1997
  3991.  
  3992. 7.3     Property Change Control
  3993.  
  3994.  
  3995.    Existing properties may be changed using the same process by which
  3996.    they were registered.
  3997.  
  3998.         1.           Define the change
  3999.  
  4000.         2.           Post the change
  4001.  
  4002.         3.           Allow a comment period
  4003.  
  4004.         4.           Submit the property for approval
  4005.  
  4006.    Note that the original author or any other interested party may
  4007.    propose a change to an existing property, but that such changes
  4008.    should only be proposed when there are serious omissions or errors in
  4009.    the published specification. The Profile Reviewer may object to a
  4010.    change if it is not backwards compatible, but is not required to do
  4011.    so.
  4012.  
  4013.    Property definitions can never be deleted from the IANA registry, but
  4014.    properties which are no longer believed to be useful can be declared
  4015.    OBSOLETE by a change to their "intended use" field.
  4016.  
  4017. 8.      File extension
  4018.  
  4019.  
  4020.    The file extension of "vcs" is to be used to designate a file
  4021.    containing calendaring and scheduling information consistent with
  4022.    this MIME content type.
  4023.  
  4024. 9.      Macintosh File Type Code
  4025.  
  4026.  
  4027.    The file type code of "vcal" is to be used in Apple MacIntosh
  4028.    operating system environments to designate a file containing
  4029.    calendaring and scheduling information consistent with this MIME
  4030.    media type.
  4031.  
  4032. 10.     References
  4033.  
  4034.  
  4035.    The following document are referred to within this document.
  4036.  
  4037.    [ICMS] "Internet Calendaring Model Specification", Internet-Draft,
  4038.    July 1997, ftp://ftp.ietf.org/internet-drafts/draft-ietf-calsch-mod-
  4039.    00.txt.
  4040.  
  4041.    [ISO 8601] ISO 8601, "Data elements and interchange formats-                                                              -                                                               -
  4042.    Information interchange-                          -                           -Representation of dates and times",
  4043.    International Organization for Standardization, June, 1988. This
  4044.    standard is also addressed by the Internet Draft document
  4045.    ftp://ds.internic.net/internet-drafts/draft-newman-datetime-00.txt.
  4046.  
  4047.    [ISO 9070] ISO/IEC 9070, "Information Technology-                                                   -                                                    -SGML Support
  4048.    Facilities-             -              -Registration Procedures for Public Text Owner
  4049.    Identifiers", Second Edition, International Organization for
  4050.    Standardization, April, 1991.
  4051.  
  4052.  
  4053. Dawson/Stenerson                   63              Expires January 1998
  4054.  
  4055.  
  4056. Internet Draft       C&S Core Object Specification        July 29, 1997
  4057.  
  4058.    ITIP-1] "iCalendar Transport-Independent Interoperability Protocol
  4059.    (iTIP) - Part 1: Scheduling Events and Busytime", Internet-Draft,
  4060.    July 1997, http://www.imc.org/draft-ietf-calsch-itip-part1-00.txt.
  4061.  
  4062.    [ITIP-2] "iCalendar Transport-Independent Interoperability Protocol
  4063.    (iTIP) - Part 2: Scheduling To-dos", Internet-Draft, July 1997,
  4064.    http://www.imc.org/draft-ietf-calsch-itip-part2-00.txt.
  4065.  
  4066.    [ITIP-3] "iCalendar Transport-Independent Interoperability Protocol
  4067.    (iTIP) - Part 3: Scheduling Journal Entries", Internet-Draft, July
  4068.    1997, http://www.imc.org/draft-ietf-calsch-itip-part3-00.txt.
  4069.  
  4070.    [MIME DIR] Howes, T., Smith, M., "A MIME Content-Type for Directory
  4071.    Information", Internet-draft-ietf-asid-mime-direct-06.txt, July,
  4072.    1997.
  4073.  
  4074.    [RFC 822] Crocker, D., "Standard for the Format of ARPA Internet Text
  4075.    Messages", STD 11, RFC 822, August 1982.
  4076.  
  4077.    [RFC 1738] Berners-Lee, T., Masinter, L., McCahill, M., "Uniform
  4078.    Resource Locators (URL)", RFC 1738, December 1994.
  4079.  
  4080.    [RFC 1766] Alvestrand, H., "Tags for the Identification of
  4081.    Languages", March 1995.
  4082.  
  4083.    [RFC 1872] Levinson, E., "The MIME Multipart/Related Content-type,"
  4084.    RFC 1872, December 1995.
  4085.  
  4086.    [RFC 2045] Freed, N., Borenstein, N., " Multipurpose Internet Mail
  4087.    Extensions (MIME) - Part One: Format of Internet Message Bodies", RFC
  4088.    2045, November 1996.
  4089.  
  4090.    [RFC 2046] Freed, N., Borenstein, N., " Multipurpose Internet Mail
  4091.    Extensions (MIME) - Part Two: Media Types", RFC 2046, November 1996.
  4092.  
  4093.    [RFC 2047] Moore, K., "Multipurpose Internet Mail Extensions (MIME) -
  4094.    Part Three: Message Header Extensions for Non-ASCII Text", RFC 2047,
  4095.    November 1996.
  4096.  
  4097.    [RFC 2048] Freed, N., J. Klensin, J. Postel, "Multipurpose Internet
  4098.    Mail Extensions (MIME) - Part Four: Registration Procedures", RFC
  4099.    2048, January 1997.
  4100.  
  4101.    [UTF-8] "UTF-8, a transformation format of Unicode and ISO
  4102.    10646",Internet-Draft, July,1996, ftp://ftp.ietf.org/internet-
  4103.    drafts/draft-yergeau-utf8-01.txt.
  4104.  
  4105.    [VCARD] Internet Mail Consortium, "vCard - The Electronic Business
  4106.    Card Version 2.1", http://www.versit.com/pdi/vcard-21.txt, September
  4107.    18, 1996.
  4108.  
  4109.    [VCAL] Internet Mail Consortium, "vCalendar - The Electronic
  4110.    Calendaring and Scheduling Exchange Format",
  4111.    http://www.imc.org/pdi/vcal-10.txt, September 18, 1996.
  4112.  
  4113.  
  4114.  
  4115.  
  4116. Dawson/Stenerson                   64              Expires January 1998
  4117.  
  4118.  
  4119. Internet Draft       C&S Core Object Specification        July 29, 1997
  4120.  
  4121.    [XAPIA] "XAPIA CSA, Calendaring and Scheduling Application
  4122.    Programming Interface (CSA) Version 1.0", X.400 API Association,
  4123.    November 15, 1994.
  4124.  
  4125. 11.     Acknowledgments
  4126.  
  4127.  
  4128.    A hearty thanks to the IETF Calendaring and Scheduling Working Group
  4129.    and also the following individuals who have participated in the
  4130.    drafting, review and discussion of this memo:
  4131.  
  4132.    Roland Alden, Harald T. Alvestrand, Eric Berman, Denis Bigorgne, John
  4133.    Binici, Bill Bliss, Steve Carter, Andre Courtemanche, Dave Crocker,
  4134.    Alec Dun, John Evans, Ross Finlayson, Randell Flink, Ned Freed,
  4135.    Patrik Falstrom, Chuck Grandgent, Mark Handley, Steve Hanna, Paul B.
  4136.    Hill, Paul Hoffman, Ross Hopson, Mark Horton, Bruce Kahn, C. Harald
  4137.    Koch, Don Lavange, Theodore Lorek, Steve Mansour, Skip Montanaro,
  4138.    Keith Moore, Cecil Murray, Chris Newman, John Noerenberg, Ralph
  4139.    Patterson, Pete Resnick, Keith Rhodes, Robert Ripberger, John Rose,
  4140.    Andras Salamar, Ted Schuh, Vinod Seraphin, Derrick Shadel, Ken Shan,
  4141.    Andrew Shuman, Steve Silverberg, William P. Spencer, Mark Towfiq,
  4142.    Robert Visnov, James L. Weiner, Mike Weston, William Wyatt.
  4143.  
  4144. 12.     Author's Address
  4145.  
  4146.  
  4147.    The following address information is provided in a MIME-VCARD,
  4148.    Electronic Business Card, format.
  4149.  
  4150.    The authors of this draft are:
  4151.  
  4152.      BEGIN:VCARD
  4153.      FN:Frank Dawson
  4154.      ORG:Lotus Development Corporation
  4155.      ADR;WORK;POSTAL;PARCEL:;;6544 Battleford Drive;
  4156.       Raleigh;NC;27613-3502;USA
  4157.      TEL;WORK;MSG:+1-919-676-9515
  4158.      TEL;WORK;FAX:+1-919-676-9564
  4159.      EMAIL;INTERNET:fdawson@earthlink.net
  4160.      URL:http://home.earthlink.net/~fdawson
  4161.      END:VCARD
  4162.  
  4163.  
  4164.  
  4165.      BEGIN:VCARD
  4166.      FN:Derik Stenerson
  4167.      ORG:Microsoft Corporation
  4168.      ADR;WORK;POSTAL;PARCEL:;;One Microsoft Way;
  4169.       Redmond;WA;98052-6399;USA
  4170.      TEL;WORK;MSG:+1-206-936-5522
  4171.      TEL;WORK;FAX:+1-206-936-7329
  4172.      EMAIL;INTERNET:deriks@Exchange.Microsoft.com
  4173.      END:VCARD
  4174.  
  4175.    The iCalendar object is a result of the work of the Internet
  4176.    Engineering Task Force Calendaring and Scheduling Working Group. The
  4177.    chairman of that working group is:
  4178.  
  4179.  
  4180. Dawson/Stenerson                   65              Expires January 1998
  4181.  
  4182.  
  4183. Internet Draft       C&S Core Object Specification        July 29, 1997
  4184.  
  4185.      BEGIN:VCARD
  4186.      FN:Anik Ganguly
  4187.      ORG:OnTime, Inc.
  4188.      ADR;WORK;POSTAL;PARCEL:10 Floor;;21700 Northwestern Highway;
  4189.       Southfield;MI;48075;USA
  4190.      TEL;WORK;MSG:+1-810-559-5955
  4191.      TEL;WORK;FAX:+1-810-559-5034
  4192.      EMAIL;INTERNET:anik@ontime.com
  4193.      END:VCARD
  4194.  
  4195. 13.     iCalendar Object Examples
  4196.  
  4197.  
  4198.    The following examples are provided as an informational source of
  4199.    illustrative iCalendar objects consistent with this content type.
  4200.  
  4201.    The following iCalendar object is specified as the content of a MIME
  4202.    message. The example demonstrates a possible meeting request between
  4203.    the originator and recipient of the message.
  4204.  
  4205.      TO:jsmith@host1.com
  4206.      FROM:jdoe@host1.com
  4207.      MIME-VERSION:2.0
  4208.      MESSAGE-ID:<19960704 08:30:00 EDT xyz@host1.com>
  4209.      CONTENT-TYPE:text/calendar;PROFILE=request-event
  4210.  
  4211.      BEGIN:VCALENDAR
  4212.      PROFILE:event-request
  4213.      PRODID:-//xyz Corp//NONSGML PDA Calendar Verson 1.0//EN
  4214.      VERSION:2.0
  4215.      BEGIN:VEVENT
  4216.      DTSTART:19960918T143000Z
  4217.      DTEND:19960920T220000Z
  4218.      CATEGORIES:CONFERENCE,PROJECT
  4219.      SUMMARY:Networld+Interop Conference
  4220.      DESCRIPTION;ENCODING=Q:Networld+Interop_Conference_
  4221.       and_Exhibit=0D=0A
  4222.      Atlanta_World_Congress_Center=0D=0A
  4223.      Atlanta,_Georgia
  4224.      END:VEVENT
  4225.      END:VCALENDAR
  4226.  
  4227.    The following example message issues a meeting request that does not
  4228.    require any reply. The message is sent as a singular "text/calendar"
  4229.    content type, body part.
  4230.  
  4231.      From: jsmith@host1.com
  4232.      To: ietf-calendar@imc.org
  4233.      Subject: First IETF-Calendar Working Group Meeting
  4234.      MIME-Version: 2.0
  4235.      Message-ID: <id1@host1.com>
  4236.      Content-Type: text/calendar;Profile=event,request
  4237.  
  4238.      BEGIN:VCALENDAR
  4239.      PROFILE:event-request
  4240.      PRODID:-//RDU Software//NONSGML HandCal//EN
  4241.      VERSION:2.0
  4242.  
  4243.  
  4244. Dawson/Stenerson                   66              Expires January 1998
  4245.  
  4246.  
  4247. Internet Draft       C&S Core Object Specification        July 29, 1997
  4248.  
  4249.      BEGIN:VEVENT
  4250.      ATTENDEE;EXPECT=REQUEST:ietf-calendar@imc.org
  4251.      DESCRIPTION:First IETF-Calendaring and Scheduling Working Group
  4252.       Meeting
  4253.      CATEGORIES:MEETING
  4254.      CLASS:PUBLIC
  4255.      CREATED:19961022T083000
  4256.      SUMMARY:IETF Calendaring Working Group Meeting
  4257.      DTSTART:19961210T210000Z
  4258.      DTEND:19961210T220000Z
  4259.      LOCATION:San Jose, CA - Fairmont Hotel
  4260.      UID:guid-1.host1.com
  4261.      END:VEVENT
  4262.      END:VCALENDAR
  4263.  
  4264.  
  4265.    The following is an example of a MIME message with a single body part
  4266.    consisting of a text/calendar content type. The message specifies a
  4267.    meeting request between the originator and recipient of the message.
  4268.  
  4269.      TO:jsmith@host1.com
  4270.      FROM:jdoe@host1.com
  4271.      MIME-VERSION:1.0
  4272.      MESSAGE-ID:<19970322 08:30:00 EDT xyz@host1.com>
  4273.      CONTENT-TYPE:text/calendar;PROFILE=event-request
  4274.  
  4275.      BEGIN:VCALENDAR
  4276.      PROFILE:event-request
  4277.      VERSION:2.0
  4278.      PRODID:-//ABC Corporation//NONSGML My Product//EN
  4279.      BEGIN:VEVENT
  4280.      SEQUENCE:0
  4281.      UID:19970324-080045-4000F192713-0052
  4282.      ATTENDEE;EXPECT=REQUEST:jsmith@host1.com
  4283.      DTSTART:19970324T123000Z
  4284.      DTEND:19970324T210000Z
  4285.      CATEGORIES:CONFERENCE,PROJECT
  4286.      CLASS:PUBLIC
  4287.      SUMMARY:Calendaring Interop Conference
  4288.      DESCRIPTION;ENCODING=Q:Calendaring_Interop_
  4289.       Conference_and_Exhibit=0D=0A
  4290.       Atlanta,_Georgia
  4291.      LOCATION:Atlanta World Congress Center
  4292.      ATTACH;VALUE=URL:file://xyzCorp.com/conf/bkgrnd.ps
  4293.      END:VEVENT
  4294.      END:VCALENDAR
  4295.  
  4296.    Example of a reply to the above request, accepting the meeting.
  4297.  
  4298.      TO:jdoe@host1.com
  4299.      FROM:jsmith@host1.com
  4300.      MIME-VERSION:1.0
  4301.      MESSAGE-ID:<19970322 08:30:00 EDT xyz@host1.com>
  4302.      CONTENT-TYPE:text/calendar;PROFILE=event-reply
  4303.  
  4304.      BEGIN:VCALENDAR
  4305.      PROFILE:event-reply
  4306.  
  4307.  
  4308. Dawson/Stenerson                   67              Expires January 1998
  4309.  
  4310.  
  4311. Internet Draft       C&S Core Object Specification        July 29, 1997
  4312.  
  4313.      VERSION:2.0
  4314.      PRODID:-//ABC Corporation//NONSGML My Product//EN
  4315.      BEGIN:VEVENT
  4316.      SEQUENCE:0
  4317.      RESPONSE-SEQUENCE:0
  4318.      UID:19970324-080045-4000F192713-0052
  4319.      ATTENDEE;STATUS=CONFIRMED;EXPECT=REQUEST:jsmith@host1.com
  4320.      END:VEVENT
  4321.      END:VCALENDAR
  4322.  
  4323.    An example of a meeting cancelation:
  4324.  
  4325.      TO:jsmith@host1.com
  4326.      FROM:jdoe@host1.com
  4327.      MIME-VERSION:1.0
  4328.      MESSAGE-ID:<19970322 08:30:00 EDT xyz@host1.com>
  4329.      CONTENT-TYPE:text/calendar;PROFILE=event-cancel
  4330.  
  4331.      BEGIN:VCALENDAR
  4332.      PROFILE:event-cancel
  4333.      VERSION:2.0
  4334.      PRODID:-//ABC Corporation//NONSGML My Product//EN
  4335.      BEGIN:VEVENT
  4336.      UID:19970324-080045-4000F192713-0052
  4337.      END:VEVENT
  4338.      END:VCALENDAR
  4339.  
  4340.  
  4341.  
  4342.  
  4343.  
  4344.  
  4345.  
  4346.  
  4347.  
  4348.  
  4349.  
  4350.  
  4351.  
  4352.  
  4353.  
  4354.  
  4355.  
  4356.  
  4357.  
  4358.  
  4359.  
  4360.  
  4361.  
  4362.  
  4363.  
  4364.  
  4365.  
  4366.  
  4367.  
  4368.  
  4369.  
  4370.  
  4371. Dawson/Stenerson                   68              Expires January 1998
  4372.