[Docs] [txt|pdf] [Tracker] [Email] [Diff1] [Diff2] [Nits]

Versions: 00 01 02 03 04 05 06

CALSCH                                                    G. FitzPatrick
Internet-Draft                                         SkiCal Consortium
Expires: April 25, 2003                                       P. Lanner÷
                                                              Metamatrix
                                                                N. Hjelm
                                                       Soft Applications
                                                        October 25, 2002


                   SkiCal - an extension of iCalendar
                         draft-many-ical-ski-06

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at http://
   www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on April 25, 2003.

Copyright Notice

   Copyright (C) The Internet Society (2002).  All Rights Reserved.

Abstract

   This Memo defines the SkiCal format.

   SkiCal is a machine-readable format for the interchange of enhanced
   yellow-page directory listings.  SkiCal expands the traditional
   property-set of name, address, telephone number and business
   category,  adding structured information about people, places,
   things, activities  and the conditions and terms for interaction with
   resources.  SkiCal provides a structure for information about dates



FitzPatrick, et al.      Expires April 25, 2003                 [Page 1]


Internet-Draft                   SkiCal                     October 2002


   and times, directions, rules and recommendations for participation,
   pricing and reservation schemes, access information for those with
   special needs, ownership and responsibilities and promotional
   material.  The referents of these listings, which are both events and
   persistent resources are referred to in this draft as SkiSources.

   SkiCal is based on and extends the iCalendar format as defined by
   RFC-2445, Internet Calendaring and Scheduling Core Object
   Specification [3] (iCalendar).  SkiCal objects are comprised of
   either VEVENT components with the addition of new properties and
   property parameters, or the SkiCal specific VOPTIME calendar
   component described in this memo.

Table of Contents

   1.     Introduction . . . . . . . . . . . . . . . . . . . . . . .   4
   2.     Reading Instructions and Conventions . . . . . . . . . . .   5
   2.1    SkiCal Terminology . . . . . . . . . . . . . . . . . . . .   5
   2.1.1  SkiCal . . . . . . . . . . . . . . . . . . . . . . . . . .   5
   2.1.2  SkiSource  . . . . . . . . . . . . . . . . . . . . . . . .   5
   2.1.3  SkiCal object  . . . . . . . . . . . . . . . . . . . . . .   6
   2.1.4  Publisher  . . . . . . . . . . . . . . . . . . . . . . . .   6
   2.1.5  List . . . . . . . . . . . . . . . . . . . . . . . . . . .   6
   2.1.6  TimeSpender  . . . . . . . . . . . . . . . . . . . . . . .   6
   2.1.7  The 'Wha' Interrogatives . . . . . . . . . . . . . . . . .   6
   3.     SkiCal specific Property Parameters  . . . . . . . . . . .   8
   3.1    Item . . . . . . . . . . . . . . . . . . . . . . . . . . .   9
   3.2    Namespace Reference  . . . . . . . . . . . . . . . . . . .   9
   3.3    OPTIMESET reference  . . . . . . . . . . . . . . . . . . .  10
   3.4    SKiROLE  . . . . . . . . . . . . . . . . . . . . . . . . .  11
   4.     SkiCal Specific Property Value Data Types  . . . . . . . .  14
   4.1    The OpeningTimes Set . . . . . . . . . . . . . . . . . . .  14
   4.1.1  Terms used in the OPTIMESET data value  declaration  . . .  14
   4.1.2  Optimelist DTD . . . . . . . . . . . . . . . . . . . . . .  17
   4.2    Term of the OPTIMESET  . . . . . . . . . . . . . . . . . .  18
   4.3    Seasons of the OPTIMESET . . . . . . . . . . . . . . . . .  21
   4.4    Days of the OPTIMESET  . . . . . . . . . . . . . . . . . .  23
   4.5    Hours of the OPTIMESET . . . . . . . . . . . . . . . . . .  25
   4.6    Minutes of the OPTIMESET . . . . . . . . . . . . . . . . .  25
   4.7    Seconds of the OPTIMESET . . . . . . . . . . . . . . . . .  26
   5.     SkiCal specific Calendar Component . . . . . . . . . . . .  28
   5.1    The OpTime calendar component  . . . . . . . . . . . . . .  28
   6.     SkiCal specific Component Properties . . . . . . . . . . .  32
   6.1    WHAT properties  . . . . . . . . . . . . . . . . . . . . .  33
   6.1.1  Title  . . . . . . . . . . . . . . . . . . . . . . . . . .  33
   6.1.2  Persons  . . . . . . . . . . . . . . . . . . . . . . . . .  34
   6.1.3  Thinks . . . . . . . . . . . . . . . . . . . . . . . . . .  35
   6.1.4  Things . . . . . . . . . . . . . . . . . . . . . . . . . .  36



FitzPatrick, et al.      Expires April 25, 2003                 [Page 2]


Internet-Draft                   SkiCal                     October 2002


   6.1.5  Actions  . . . . . . . . . . . . . . . . . . . . . . . . .  38
   6.1.6  Part relationship to another SkiSource . . . . . . . . . .  39
   6.1.7  Language used at the SkiSource . . . . . . . . . . . . . .  40
   6.1.8  Orientation  . . . . . . . . . . . . . . . . . . . . . . .  42
   6.1.9  What URL . . . . . . . . . . . . . . . . . . . . . . . . .  43
   6.1.10 SkiSource Unique Identifier  . . . . . . . . . . . . . . .  44
   6.2    WHEN properties  . . . . . . . . . . . . . . . . . . . . .  45
   6.2.1  Date-time open . . . . . . . . . . . . . . . . . . . . . .  46
   6.3    WHERE properties . . . . . . . . . . . . . . . . . . . . .  47
   6.3.1  Venue  . . . . . . . . . . . . . . . . . . . . . . . . . .  47
   6.3.2  Directions . . . . . . . . . . . . . . . . . . . . . . . .  48
   6.3.3  Place name . . . . . . . . . . . . . . . . . . . . . . . .  50
   6.4    WHOW (HOW) properties  . . . . . . . . . . . . . . . . . .  51
   6.4.1  Requirements . . . . . . . . . . . . . . . . . . . . . . .  52
   6.4.2  Recommendations  . . . . . . . . . . . . . . . . . . . . .  53
   6.4.3  Prohibited . . . . . . . . . . . . . . . . . . . . . . . .  54
   6.4.4  Price  . . . . . . . . . . . . . . . . . . . . . . . . . .  55
   6.4.5  Bookings . . . . . . . . . . . . . . . . . . . . . . . . .  58
   6.4.6  Special access facilities  . . . . . . . . . . . . . . . .  59
   6.4.7  Accepted method of payment . . . . . . . . . . . . . . . .  60
   6.5    WHY properties . . . . . . . . . . . . . . . . . . . . . .  61
   6.5.1  Promotion  . . . . . . . . . . . . . . . . . . . . . . . .  62
   6.6    WHO properties . . . . . . . . . . . . . . . . . . . . . .  63
   6.6.1  Control  . . . . . . . . . . . . . . . . . . . . . . . . .  63
   6.7    MANAGEMENT properties  . . . . . . . . . . . . . . . . . .  65
   6.7.1  Publisher  . . . . . . . . . . . . . . . . . . . . . . . .  65
   6.7.2  SkiCal Version . . . . . . . . . . . . . . . . . . . . . .  66
   6.7.3  Namespace  . . . . . . . . . . . . . . . . . . . . . . . .  67
   6.7.4  Open Times . . . . . . . . . . . . . . . . . . . . . . . .  68
   7.     Security considerations  . . . . . . . . . . . . . . . . .  72
   8.     Internationalisation and localisation  . . . . . . . . . .  73
   9.     Communication protocol . . . . . . . . . . . . . . . . . .  74
   10.    Choosing values from lists . . . . . . . . . . . . . . . .  75
   11.    Examples . . . . . . . . . . . . . . . . . . . . . . . . .  76
          References . . . . . . . . . . . . . . . . . . . . . . . .  78
          Authors' Addresses . . . . . . . . . . . . . . . . . . . .  79
   A.     Acknowledgements . . . . . . . . . . . . . . . . . . . . .  80
          Full Copyright Statement . . . . . . . . . . . . . . . . .  81













FitzPatrick, et al.      Expires April 25, 2003                 [Page 3]


Internet-Draft                   SkiCal                     October 2002


1. Introduction

   SkiCal adapts the iCalendar usage domain of appointments and business
   meetings to the needs of producers, brokers and  end-users of
   resources and services in commerce, tourism, sport, recreation,
   health-care, culture, education etc.  SkiCal users are both
   "TimeSpenders" seeking information about available resources
   (SkiSources) and "Publishers" wishing to make that information
   public.

   Machine-readable directory information serves several purposes;

   1.  The organization of object properties into structures convenient
       for rapid, efficient storage and retrieval.

   2.  The exchange of compatible objects of information across
       divergent platforms

   3.  The facilitation of automatically generated lay-out for print,
       screen and audio representations.

   4.  The facilitation of automatic translation.

   5.  The wide-scale discovery and harvesting of information via the
       Internet with previously unobtainable accuracy.


























FitzPatrick, et al.      Expires April 25, 2003                 [Page 4]


Internet-Draft                   SkiCal                     October 2002


2. Reading Instructions and Conventions

   This document is intended to be read alongside RFC-2445 [3].  The
   same basic grammar and formatting conventions that apply to iCal,
   also apply to SkiCal.  For the sake of brevity, the syntax and
   clarifications of the data-types, properties and property parameters
   of RFC-2445 will not be repeated here.

   The notation used in this memo is the ABNF notation of RFC-2234 [6].
   Readers intending on implementing the format defined in this memo
   should be familiar with this notation in order to properly interpret
   the specifications.  Also, they MUST be familiar with the iCalendar
   core object specification (RFC-2445 [3]).

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC-2119 [2].

2.1 SkiCal Terminology

   The following terms are used in this memo:

2.1.1 SkiCal

   The Term "SkiCal" refers to the methodology described in this note.
   Though originally "S K I" reflected the Scandinavian origins of this
   effort, serving as  an  acronym for "Svenska Kalender Initiativet"
   (Swedish Calendar Initiative), this interpretation of the SKi acronym
   was changed in September 2000 so that "S K I"  now stands for  the
   "Structured Knowledge Initiative".  There is no relationship to the
   winter sport "skiing", though of course Skiing events could be
   described using SkiCal.

2.1.2 SkiSource

   The term "SkiSource" is used to denote a resource existing in time
   and space.  A SkiSource could be a restaurant, a clothing store, a
   theatre or individual performance at the theatre, a public drinking
   fountain, a hospital emergency ward, a service station, a radio
   program, a webcast, or any other similar resource.  Today such
   resources are listed in various directories, such as telephone
   catalogs, the entertainment section of newspapers, television and
   radio program guides, Internet guides, tourist brochures, the
   academic schedules of schools, or a community's listing of public
   services.






FitzPatrick, et al.      Expires April 25, 2003                 [Page 5]


Internet-Draft                   SkiCal                     October 2002


2.1.3 SkiCal object

   The term "SkiCal object" is used in this memo to denote the calendar
   object description of a SkiSource using the mime-directory format
   described in RFC2445 as follows; "The format for the iCalendar object
   is based on the syntax of the RFC 2425 content type.  While the
   iCalendar object is not a profile of the RFC 2425 content type, it
   does reuse a number of the elements from the RFC 2425 specification."

2.1.4 Publisher

   The term "Publisher" is used in this memo to denote the publisher(s)
   of SkiCal objects.  Publishers could be the owners or producers of a
   SkiSource.  Publishers could be infomediaries making public the
   existence of a SkiSource.

2.1.5 List

   The term "list" is used to denote a pre-published enumeration or
   taxonomy of value-terms.  It is RECOMMENDED that publishers use terms
   from such lists as the values of TEXT type properties in order to
   facilitate the machine readability of their information.  A method
   for referring to such a list is described in this memo.

2.1.6 TimeSpender

   The term "TimeSpender" is used in this memo to denote the end
   consumer or beneficiary of SkiCal information.  SkiCal is structured
   from the view point of the TimeSpender.  A typical SkiCal object
   contains the answers to the most likely questions a TimeSpender might
   ask in order to interact (or make decisions about interacting) with a
   SkiSource.

2.1.7 The 'Wha' Interrogatives

   The new properties introduced in this memo, as well as the original
   properties of RFC2445, are herein sorted by their function as the
   answers to 6 categories of queries.

2.1.7.1 WHAT

   The WHAT property is the place holder for the answers to questions
   such as: What is it? What is happening? What is there? What is it
   called? What people, things and concepts will be involved?

2.1.7.2 WHEN

   The WHEN property is the place holder for the answers to questions



FitzPatrick, et al.      Expires April 25, 2003                 [Page 6]


Internet-Draft                   SkiCal                     October 2002


   such as: When will it happen? When is it open? When can I go there?

2.1.7.3 WHERE

   The WHERE property is the place holder for the answers to questions
   such as: Where will it happen? Where is it located?

2.1.7.4 WHOW

   The WHOW property is the place holder for the answers to questions
   such as: How can I attend? How can I join? How can I buy? The word
   "how" is intentionally misspelled to indicate relationship to the
   other interrogatives, all beginning with "WH".

2.1.7.5 WHY

   The WHY property is the place holder for the answers to questions
   such as: Why is this happening? Why is this of interest or value to
   me?

2.1.7.6 WHO

   The WHO property is the place holder for the answers to questions
   such as: Who is the owner? Who is the producer? Who is Responsible?
   Who do I sue?


























FitzPatrick, et al.      Expires April 25, 2003                 [Page 7]


Internet-Draft                   SkiCal                     October 2002


3. SkiCal specific Property Parameters

   The following SkiCal property parameters are in addition to those
   defined by RFC-2445  Section 4.2 [3] and may be used as specified for
   the individual properties of this memo.


     skicalparameters  =

           / item             ; specifies a specific aspect or resource
                              ; as the subject of a property
           / nsref            ; points to a NAMESPACE property declaration
                              ; containing the URI of a list of values

           / opref            ; points to an OPTIMESET qualifying
                              ; the subject of a property

           / skirole          ; qualifies the role of the subject
                              ; of a property


   ---------------------------------------------------------------------

   The following table shows the possible use of SkiCal property
   parameters with SkiCal properties.

                      item     nsref     opref     skirole

                            |         |         |
   access            --opt------opt-------opt--------------
   actions           --opt------opt-------opt--------------
   bookings          --opt------opt-------opt--------------
   control           --opt------opt-------opt-------opt----
   directions        --opt------opt-------opt--------------
   optimes           --opt------opt------------------------
   namespace         --opt------opt------------------------
   orientation       --opt------opt-------opt--------------

   partrel           --opt------opt-------opt--------------
   paymethod         --opt------opt-------opt--------------
   persons           --opt------opt-------opt-------opt----
   placename         --opt------opt-------opt--------------
   price             --opt------opt-------opt--------------
   prohibited        --opt------opt-------opt--------------
   promo             --opt------opt-------opt--------------
   publisher         --opt------opt-------opt-------opt----
   recommended       --opt------opt-------opt--------------
   required          --opt------opt-------opt--------------



FitzPatrick, et al.      Expires April 25, 2003                 [Page 8]


Internet-Draft                   SkiCal                     October 2002


   skicalver         -----------opt------------------------
   skilang           --opt----------------opt--------------
   skuid             -----------opt------------------------
   things            --opt------opt-------opt-------opt----
   thinks            --opt------opt-------opt-------opt----
   title             --opt------opt-------opt--------------
   whurl             -----------opt-------opt-------opt----

                           use of parameters

   ---------------------------------------------------------------------


3.1 Item

   Parameter Name: ITEM

   Purpose: To specify the name of a specific auxiliary element or part
   of a SkiSource.

   Format Definition: The property parameter is defined by the following
   notation:

       itemparam  = (
                    ( "ITEM" "=" ) / ( "PRXITEM" "=" prefix ":" ) text
                    )

       prefix     = 1*( ) ; one or more characters xxx matching the declared
                            prefix of a NAMESPACE property value

   Description: This parameter identifies particular aspects or parts of
   a SkiSource when it is desirable to make information about such
   aspects or parts known.

   Example:

   BOOKINGS;PRXITEM="SR:Reptile Room":only outside the Reptile Room!
   RECOMMENDED;ITEM="The evening tours":Warm sweater or Jacket
   PROHIBITED;ITEM="During the magic show":Flash cameras
   BOOKINGS;PRXITEM="K:New Years Eve Dinner";OPREF=NYD:
    1-800-256 2222.


3.2 Namespace Reference

   Parameter Name: NSREF

   Purpose: To point to a namespace declaration within the same SkiCal



FitzPatrick, et al.      Expires April 25, 2003                 [Page 9]


Internet-Draft                   SkiCal                     October 2002


   object

   Format Definition: The property parameter is defined by the following
   notation:

      nsrefparam  =  NSREF "=" prefix

      prefix      = 1*( ) ;  one or more letters matching the declared
                          ;  prefix of a NAMESPACE property value

   Description: This parameter specifies a prefix that matches a prefix
   declared as a  NAMESPACE property parameter value.  The NSREF
   parameter provides a method for relating the value of the property on
   which it is used to the appropriate namespace.

   It is expected that publishers wishing to optimize interoperability
   will choose values from enumerated lists of value-terms.  These lists
   can be utilized for constraining the values of both properties and
   property parameters.  The declaration for the URI of such a list is
   accomplished using the NAMESPACE property.  The NAMESPACE property
   can also assign a shorthand prefix to the URI value of the NAMESPACE
   and this prefix can be referenced using the NSREF property parameter.

   Example:

      RESOURCES;NSREF="QLL":HL984 projector
      PERSONS;NSREF="WW":Bill Clinton
      PERSONS;SKIROLE="orchester-member";NSREF="WW":Bill Clinton
      PERSONS;PRXSKIROLE="OM:orchester-member";NSREF="WW":Bill Clinton
      REQUIRED;NSREF="TNT":NASCT Certificate
      CATEGORIES;NSREF="SSV";LANG=se:Vuxen Utbilding - Biometrics II

3.3 OPTIMESET reference

   Parameter Name: OPREF

   Purpose: To point to an OPTIMESET declaration.

   Format Definition: The property parameter is defined by the following
   notation:

      oprefparam  =   OPREF "=" id

      id      = 1*( )     ;  one or more characters matching the declared

                          ;  id of an OPTIMESET property value

   Description: This parameter specifies an ID that matches an OPTIMESET



FitzPatrick, et al.      Expires April 25, 2003                [Page 10]


Internet-Draft                   SkiCal                     October 2002


   ID as declared in the OPTIMES property.  This parameter provides a
   method for relating the value of the property within which it is used
   to the appropriate OPTIMESET.

   Example:

      RESOURCES;OPREF="HRTS14":Flight controller on duty
      PERSONS;OPREF="BHCC":Patrik Jonasson

      PERSONS;SKIROLE="Supervisor";OPREF="J7":James Payne
      PERSONS;PRXSKIROLE="OM:MC";OPREF="DCD55":Wycliff Jean
      REQUIRED;OPREF="L09":Resident parking permit.
      CATEGORIES;OPREF="SSV";LANG=se:Vuxen Utbilding - Biometrics II

3.4 SKiROLE

   Parameter Name: SKIROLE

   Purpose: To clarify the role of Property values in a SkiCal object.

   The use of the ROLE Property Parameter as defined in RFC-2445 [3]
   Section 4.2.16 Participation Role is constrained to specific
   component properties and specific default values.  To avoid
   incompatibility, SkiCal defines a new property parameter - SKIROLE.

   Format Definition: The property parameter is defined by the following
   notation:
























FitzPatrick, et al.      Expires April 25, 2003                [Page 11]


Internet-Draft                   SkiCal                     October 2002


      Skiroleparam  = (
                      (( "SKIROLE" "="  ) /
                       ( "PRXSKIROLE" "=" prefix ":" ))
                      DQUOTE text DQUOTE )

                     ; It is RECOMMENDED that the text value be
                     ; chosen from a list, as described
                     ; in this memo. Some examples of such lists are
                     ; given here:


                     ; as used with the PERSONS property

      sampleskirolelist1 = (  "PERFORMER"      /     "HOST"          /
                              "COMPOSER"       /     "CONDUCTOR"     /
                              "SALES MANAGER"  /     "SPECIALIST"    /
                              "EDITOR"         /     "PRODUCER"      /
                              "GUIDE"          /     "SPEAKER"       /
                              "CHAIR"          /     "PRESENT"       /
                              "REFERENCED"     /     "INVITED"       )

                     ; as used with the THINGS property

      sampleskirolelist2 = (   "PRESENT"       /     "EXHIBITED"     /
                               "FOR-SALE"      /     "FOR-AUCTION"   /
                               "FOR-HIRE"      /     "APPRAISED"     /
                               "PREMIERED"     /     "DEMONSTRATED"  )

                     ; as used with the THINKS property

      sampleskirolelist3 = (   "STUDIED"       /     "REFERENCED"    /
                               "SUPPORTED"     /     "DEBATED"       /
                               "CRITICIZED"    )

                               )

   Description: The SKIROLE property parameter declares or clarifies the
   role of Persons, Organizations, Things, or Thinks declared as the
   value for the Component Property

   Example:










FitzPatrick, et al.      Expires April 25, 2003                [Page 12]


Internet-Draft                   SkiCal                     October 2002


   PERSONS;PRXSKiROLE="IPPL:PERFORMER";NSREF="IP":Marilyn Manson
   PERSONS;PRXSKiROLE="UMLC:COMPOSER":Ludwig van Beethoven
   PERSONS;SKiROLE="HOTEL MANAGER":Sylvia Barlot
   PERSONS;SKiROLE="MASTER OF CEREMONIES";NSREF="IP":Creed Bradshaw
   PERSONS;PRXSKiROLE="MG:HEAD CHEF":Henri Vialach

   THINGS;SKiROLE="ON-EXHIBITION":Car models of 2001
   THINGS;PRXSKiROLE="BBB:FOR-SALE":Levis jeans
   THINGS;SKiROLE="FOR-HIRE":Golf clubs
   THINGS;SKiROLE="FOR-SALE":Car models of 2001
   THINGS;SKiROLE="DEMONSTRATED":Electrolux refrigerator door computers
   THINGS;SKiROLE="FOR-AUCTION":Tiger Woods' golf caps


   THINKS;PRXSKiROLE="ACC:STUDIED";NSREF="L":Impressionism
   THINKS;SKiROLE="CELEBRATED":Joining the EMU
   THINKS;SKiROLE="DEBATED":Monarchy
   THINKS;SKiROLE="SUPPORTED";NSREF="L":Children's rights
   THINKS;PRXSKiROLE="ABC:REFERENCED":Our plan for the next Millennium
   THINKS;SKiROLE="FEATURED":The Ontologies of Cyberspace































FitzPatrick, et al.      Expires April 25, 2003                [Page 13]


Internet-Draft                   SkiCal                     October 2002


4. SkiCal Specific Property Value Data Types

   The following SkiCal property value datatypes are in addition to
   those defined by RFC-2445  Section 4.2 [3] and may be used as
   specified for the individual properties of this memo.

4.1 The OpeningTimes Set

   An iCalendar VEVENT component can only describe one complete date-
   time set and its eventual recurrences, such as office meetings or
   lunch appointments.  Using the SkiCal OPTIMESET of datetime values;
   OPTERM, OPSEASONS, OPDAYS, OPHOURS and OPMINUTES and OPSECONDS,
   individual SkiCal properties MAY be qualified with date and time
   values.

   For example, through the use of the OPTIMESET a publisher could
   within one calendar object describe not only the general date-times
   of a conference, but also when a refreshment bar was open, the
   telephone times for a help desk, the last date for submitting papers,
   and the opening times of the conference hall itself.

   Or in another example, through the use of this OPTIMESET a publisher
   could within one calendar object describe the operating times of a
   petrol station, differentiating between levels of service such as
   when a mechanic was on duty, when the convenience store was open or
   full service available.

   Formal Definition:

       OPTIMESET         =  "<OPTIME"  OPTIMESETattlist ">"
                            OPTIMESETcontents "</OPTIMESET>"

       OPTIMESETattlist  =  OPTIMESETid

       OPTIMESETid       =  "ID="    idvalue
       idvalue           =  text


    OPTIMESETcontents    =  1*( "OPTERM" / "OPSEASONS" / "OPDAYS" /
                            "OPHOURS" / "OPMINUTES" / "OPSECONDS" )



4.1.1 Terms used in the OPTIMESET data value  declaration

      OPEN: Depending upon the property value being qualified, OPEN may
      indicate open, accessible, in-force, operative, available or any
      comparable state.



FitzPatrick, et al.      Expires April 25, 2003                [Page 14]


Internet-Draft                   SkiCal                     October 2002


      NOT-OPEN: Depending upon the property value being qualified, NOT-
      OPEN may indicate closed, non-accessible, not-in-force, non-
      operative, not-available or any comparable state.

      NOT-DETERMINABLE: Dates and times that can not be determined as
      being open or closed.

      DATE-TIME VALUE PAIR: Two date-time values separated by one or
      more solidus "/" characters.   Value-pairs are either END-
      INCLUSIVE or END-EXCLUSIVE.

      END-INCLUSIVE Value-pairs:  The contents of a SKiCal object are
      formated so as to enable unambiguous machine-readability, but
      there are of course considerable advantages in maintaining human
      readability of the same information.  Unfortunately common date-
      time value pairs can be ambiguous.  If we hear that someone works
      from nine to five, then we can with fairly high probability expect
      her to go home at five o'clock, but if we hear that someone will
      be in town from the first to the 15th, we, with less assuredness,
      might assume that they will leave town on the 16th.  The former
      example is END-EXCLUSIVE while the later is END-INCLUSIVE.

      To facilitate machine-readability it might be convenient to
      mandate that all value-pairs are either END-INCLUSIVE or END-
      EXCLUSIVE, but this memo allows both types, both for the sake of
      human-readability  and the fact that END-EXCLUSIVE value-pairs
      offer an implicit degree of accuracy lacking in END-INCLUSIVE.
      For example END-EXCLUSIVE 170000/180000 is more suitable than END-
      INCLUSIVE 170000//175959.99999 in cases where that sort of
      precision is desirable.  The distinction between these two types
      of value-pairs is made by the number of SOLIDUS characters
      separating the two values.  One SOLIDUS ex: "/" indicates END-
      EXCLUSIVE pairs and two SOLIDUS ex "//" indicate END-INCLUSIVE
      value pairs.

    0105//0110
   START-INCLUSIVE   END-INCLUSIVE  a six day period including the whole of the
   5th day and the whole of the 10th day of January
   0105/0110
   START-INCLUSIVE   END-EXCLUSIVE  a five day period including the whole of the
   5th day and the whole of the 9th day of January

   the following combinations are not currently described in this memo

   START-EXCLUSIVE   END-INCLUSIVE  a five day period
   START-EXCLUSIVE   END-EXCLUSIVE  a four day period

      PERIOD-EXPLICIT / DURATION-EXPLICIT: This SkiCal memo stipulates



FitzPatrick, et al.      Expires April 25, 2003                [Page 15]


Internet-Draft                   SkiCal                     October 2002


      the  use of either period-explicit or duration-explicit value-
      pairs.  Though at first glance the difference  may seem to be only
      representational, these value-pair declarations must not be
      treated as interchangeable.  See below.

      PERIOD-EXPLICIT: A period of time that is defined by a specific
      start and a specific end.

      This means that whenever the start and end of one value-pair are
      designated with different time zone identifiers, or whenever a
      day-light savings change occurs inclusive to the  period , or
      whenever a leap day or leap second occurs inclusive to the period,
      then the duration of the period value will be lengthened or
      shortened accordingly.  The duration can only be determined when
      all possible fluctuations in leap years and leap seconds, day
      light savings schemes and time zone coordinates are accounted for.
      In a period-explicit value-pair the concluding and initiating
      instances of the pair are fixed to whatever politically or
      personally mandated timekeeping is in force for each end of the
      value-pair.

      DURATION-EXPLICIT: A period of time that is defined by a specific
      start coupled to a duration of time or alternatively a specific
      end coupled to a duration of time.

      In a duration-explicit value pair, the duration is fixed and can
      always be calculated as a number of seconds.  The start or the end
      date-times of the duration-explicit value-pair can only be
      determined when all possible fluctuations in leap years and leap
      seconds, day light savings schemes and time zone coordinates are
      accounted for.

      This means that whenever a day-light savings change is inclusive
      to the resulting period value, or whenever a leap day or leap
      second is inclusive to the period value, then the duration of the
      period value will be maintained and the start - alternatively end,
      date-time of the period will be moved forward or backwards in time
      accordingly.  Since no timezone identifier can be concatenated to
      the duration value, a duration-explicit date-time value can only
      be referenced to one timezone.

      TWO USES of ISO8601 TIME-DATE PERIODS: In duration-specific value-
      pairs the amount of time represented must unambiguously be
      reducible to a number of seconds.  For example P2D is the
      equivalent of PT172800S (1 day = 86400 seconds.  For this reason
      RFC2445 has limited the possible members of this set to Weeks,
      Days, Hours, Minutes and Seconds, considering the ambiguity
      involved in the  length of a Year or a Month or century.



FitzPatrick, et al.      Expires April 25, 2003                [Page 16]


Internet-Draft                   SkiCal                     October 2002


      At the same time the same members of the complete set; Centuries,
      Years, Months, Weeks, Days, Hours, Minutes, Seconds and fractions
      thereof, make convenient units for reoccurrences which are
      actually period-explicit.  For example; reoccurrences on the third
      of every month will give instances in time of unequal duration
      from each other.  In this memo the contents of the CYCLE attribue
      use the full ISO8601 set for reoccurrences.


4.1.1.1 Differences between ISO8601 and RFC2445

   Negative Periods of time: When representing PERIOD-EXPLICIT value-
   pairs,  RFC2445 always places the date-time value  first in the value
   pair.  Then the dur-value, by being positive (default, or preceded by
   a plus) or negative (preceded by a minus), determines whether the
   date-time value serves as the  start or end of the period.  ISO8601
   on the other hand signifies positive or negative durations by the
   ordering of values in the value pair.  If the dur-value precedes (is
   to the left of) the date-time value then the date-time value to the
   right is the end of the period.  If the dur-value is to the right of
   the date-time value then the date-time value serves as the start of
   the period.

   This memo uses the RFC2445 method for describing negative periods of
   time.

4.1.2 Optimelist DTD

   Format Definition: The OpeningTimes set is defined by the following
   xml 1.0 DTD:

   <?xml version="1.0" encoding="UTF-8"?>

   <!ELEMENT OPTIMESET (OPTERM | OPSEASONS | OPDAYS | OPHOURS | OPMINUTES | OPSECONDS)+>
   <!ATTLIST OPTIMESET
   ID ID #REQUIRED
   >
   <!ATTLIST OPTERM
   range CDATA #IMPLIED
   ID ID #IMPLIED
   IDREF IDREF #IMPLIED
   state (OPEN | NOT-OPEN | UNDETERMINED) #REQUIRED
   rangevaluetype (UTC | JulianDate | MJD | TP) #IMPLIED
   >
   <!ATTLIST OPSEASONS
   range CDATA #IMPLIED
   ID ID #IMPLIED
   IDREF IDREF #IMPLIED



FitzPatrick, et al.      Expires April 25, 2003                [Page 17]


Internet-Draft                   SkiCal                     October 2002


   state (OPEN | NOT-OPEN | UNDETERMINED) #REQUIRED
   cycle CDATA #IMPLIED
   >
   <!ATTLIST OPDAYS
   range CDATA #IMPLIED
   ID ID #IMPLIED
   IDREF IDREF #IMPLIED
   cycle CDATA #IMPLIED
   state (OPEN | NOT-OPEN | UNDETERMINED) #REQUIRED
   rangevaluetype (WEEK | MONTH | YEAR | NUMBER | NAMED ) #REQUIRED
   >
   <!ATTLIST OPHOURS
   range CDATA #IMPLIED
   ID ID #IMPLIED
   IDREF IDREF #IMPLIED
   state (OPEN | NOT-OPEN | UNDETERMINED) #REQUIRED
   cycle CDATA #IMPLIED
   >
   <!ATTLIST OPMINUTES
   range CDATA #IMPLIED
   ID ID #IMPLIED
   IDREF IDREF #IMPLIED
   state (OPEN | NOT-OPEN | UNDETERMINED) #REQUIRED
   cycle CDATA #IMPLIED
   >
   <!ATTLIST OPSECONDS
   range CDATA #IMPLIED
   ID ID #IMPLIED
   IDREF IDREF #IMPLIED
   state (OPEN | NOT-OPEN | UNDETERMINED) #REQUIRED
   cycle CDATA #IMPLIED
   >
   <!ELEMENT OPTERM (OPSEASONS | OPDAYS | OPHOURS | OPMINUTES | OPSECONDS)*>
   <!ELEMENT OPSEASONS (OPDAYS | OPHOURS | OPMINUTES | OPSECONDS)*>
   <!ELEMENT OPDAYS (OPHOURS | OPMINUTES | OPSECONDS)*>
   <!ELEMENT OPHOURS (OPMINUTES | OPSECONDS)*>
   <!ELEMENT OPMINUTES (OPSECONDS)*>
   <!ELEMENT OPSECONDS EMPTY>




4.2 Term of the OPTIMESET

   Value Name: OPTERM

   Purpose: This value type is used to express an interval of time or a
   point in time.  The OPTERM value type when specified is used in



FitzPatrick, et al.      Expires April 25, 2003                [Page 18]


Internet-Draft                   SkiCal                     October 2002


   computing the OPTIMESET.  This value type uses the date and date-time
   value definitions of RFC 2445 - 4.3.4 Date and 4.3.5 Date-Time as
   well as Julian Day, Modified Julian Date as standarized by the
   International Astronomical Union and the Network Time Protocol first
   described in RFC 868 and elaborated upon in RFC1305 .

   The opterm value-type is unique in the OPTIMESET insomuch as it is
   "anchored" or fixed to the common era.  No other OPTIMESET value-type
   shares this function.  Without the Opterm, other value-types can
   never point to a specific time or date - only infinite free floating
   reoccurrences such as every Monday.  On the other hand Opterms can
   not reoccur.

   OPTERM serve the purpose of anchoring and constraining the
   reoccurrences of it contents, but is also suitable for declaring
   single events or points in time.  In the later case the OPTERM will
   have no contents.

   Formal Definition:

       opterm         =  "<OPTERM"  optermattlist ">"
                          optermcontents "</OPTERM>"

       optermattlist  =   range [id] [idref] state  rangevaluetype

       range          =  "range=" DQUOTE optermvalue
                         *[ "," optermvalue ] DQUOTE
       id             =  "ID="    idvalue
       idref          =  "IDREF=" idrefvalue
       state          =  "state=" ("NOT-OPEN" / "OPEN" / "UNDETERMINED")
       rangevaluetype =  "rangevaluetype=" ("Gregorian" / "JDN" / "MJD" / "TP")

    optermvalue       =   optermper_explvalue  / optermdur_explvalue

    optermper_explvalue  =    (

                              (date / date-time) "/" ["/"]
                              ((date / date-time) / term-text ) /

                              jdn  "/" ["/"]
                              ( jdn / term-text ) /

                              mjd  "/" ["/"]
                              ( mjd / term-text ) /

                              tp  "/" ["/"]
                              ( tp / term-text )




FitzPatrick, et al.      Expires April 25, 2003                [Page 19]


Internet-Draft                   SkiCal                     October 2002


                              )

       date-time      =   date "T" time
       date           =   date-value

       date-value     =   date-fullyear date-month date-mday
       date-fullyear  =   4DIGIT
       date-month     =   2DIGIT    ; 01- 12
       date-mday      =   2DIGIT    ; O1-28, 01-29, 01-30, 01-31

       time           =   time-hour time-minute time-second [time-utc]

       time-hour      = 2DIGIT        ;00-23
       time-minute    = 2DIGIT        ;00-59
       time-second    = 2DIGIT        ;00-60 [time-fraction]
                                      ; The "60" value is used to
                                      ; account for "leap" seconds.
       time-fraction  = 1*DIGIT
                                      ; as many digits as desired may
                                      ; may be used.
       time-utc       = ( "Z" ) / (( "+" / "-") time-hour
                        [ ":" time-minute] ))
       term-text      =     "THISANDFUTURE" / "THISANDPRIOR" / "POINT"

       jdn   =        float
                      ; a number of days and fractions of days
                      ; Julian Day Number JDN 0.0
                        corresponds to 12h (noon) on the first
                        day of the Julian Era, 1 January 4713 BC.

       mjd   =        float
                      ; Modified Julian Date. The last five digits of
                      ; the Julian Date (jdn - 2,400,000.5)

       tp   =         float
                      ; Network Time Protocol representing the number
                      ; of standard seconds since 19000101T000000
                      ;(MJD 15,020.0).

    optermdur_explvalue =   (date / date-time) "/" rangeperiod
    rangeperiod         = (["+"] / "-") "P"
                          (dur-week / dur-day / dur-time )

       dur-week   = 1*DIGIT "W"
       dur-day    = 1*DIGIT "D"
       dur-time   = "T" (dur-hour / dur-minute / dur-second)
       dur-hour   = 1*DIGIT "H" [dur-minute]
       dur-minute = 1*DIGIT "M" [dur-second]



FitzPatrick, et al.      Expires April 25, 2003                [Page 20]


Internet-Draft                   SkiCal                     October 2002


       dur-second = 1*DIGIT "S"



    optermcontents =  *( "OPSEASONS" / "OPDAYS" / "OPHOURS" / "OPMINUTES" / "OPSECONDS" )


   The OPTERM value type is made up of two date-time values separated by
   one - alternatively two, SOLIDUS characters; "/" or "//" (US- ASCII
   decimal 47), or one date-time value separated by one or two SOLIDUS
   characters, from a text value; By the use of THISANDPRIOR the date-
   time value pair signifies an OPTERM period whose start time is either
   not relevant or unknown.  By the use of THISANDFUTURE the date-time
   value pair signifies an OPTERM whose conclusion is either not
   relevant or unknown.

   OVERLAPING VALUES: For all of the opentimeset members it is permited
   to have multiple intervals or points as the value of the range
   attribute, indicated by commas.  For ex: range=18880808/
   P500D,18890909/P5D.  When these values overlap such in the example
   above, no special consideration will be given to the overlapping
   date-times.  Above all they do not cancel out each other or turn a
   CLOSED into an OPEN or an OPEN into a CLOSED

   The OPTERM value includes an ID and an IDREF.  Through the ID, an
   OPTERM value can be used in another OPTIMESET.  Through the IDREF, an
   OPTERM declared in any other optimes set may be used.

   For example, the following OPTERM might be declared:

   OPTIMES:<OPTIMESET ID="Summer">
     <OPTERM ID="OPTERM3" range="19751214/THISANDFUTURE" state="OPEN">
       <OPSEASONS range="0515/0831" state="OPEN"/>
     </OPTERM>
   </OPTIMESET>


   and then referred to in another OPTIMES declaration.

   <OPTIMESET ID="FALL">
     <OPTERM IDREF="OPTERM3" state="OPEN">
       <OPSEASONS range="0901/1115" state="OPEN"/>

4.3 Seasons of the OPTIMESET

   Value Name: OPSEASON

   Purpose: This value type is used to express an interval of time.  The



FitzPatrick, et al.      Expires April 25, 2003                [Page 21]


Internet-Draft                   SkiCal                     October 2002


   Opseasons value-type when specified is used in computing the
   OPTIMESET.  The value representation of OPSEASONS is ISO8601:2000
   Section 5.2.1.3.  sub-section d.  "A specific day of the month",
   Basic Format "--MMDD", modified in this note by the exclusion of "--"
   to be "MMDD"

   Formal Definition:

      opseasons  =  "<OPSEASONS"  opseasonsattlist ">"
                     opseasonscontents "</OPSEASONS>"

      opseasonsattlist  =   range [id] [idref] state [cycle]

      range      =    "range=" DQUOTE opseasonsvalue
                      *[ "," opseasonsvalue ] DQUOTE
      id         =    "ID=" idvalue
      idref      =    "IDREF=" idrefvalue
      state      =    "state=" ("NOT-OPEN" / "OPEN" / "UNDETERMINED")
      cycle      =    "cycle="  cycleperiod

   opseasonsvalue =  opseasonsper_explvalue  / opseasonsdur_explvalue

   opseasonsper_explvalue  = impliedyeardate  "/" ["/"]
                            ( impliedyeardate / seasons-text )

   opseasondur_explvalue   = impliedyeardate "/"
                            rangeperiod

   impliedyeardate         = date-month  date-mday [ "T" time ]

   seasons-text           =

   date-month             =   2DIGIT    ; 01- 12
   date-mday              =   2DIGIT    ; O1-28, 01-29, 01-30, 01-31

   cycleperiod   = "P" (dur-year / dur-month / dur-week /
                   dur-day / dur-time )

       dur-year   = 1*DIGIT "Y"
       dur-month  = 1*DIGIT "M"

   opseasonscontents =  *( "OPDAYS" / "OPHOURS" / "OPMINUTES" / "OPSECONDS" )



   Description: The start (left hand) date-time of an OPSEASONS period
   may be greater than the end (right hand) date-time of the OPSEASONS
   period.  In which case the OPSEASONS is considered to straddle two



FitzPatrick, et al.      Expires April 25, 2003                [Page 22]


Internet-Draft                   SkiCal                     October 2002


   adjacent calendar years.

   An OPSEASONS property value may occur more than once in an OPTIMESET.

   Examples:

   OPTIMES;NSREF="MX":<OPTIMESET ID="Summer" ><OPTERM range="19751214/THISANDFUTURE">
    <OPSEASONS range="0515/0901"</OPTERM></OPTIMESET>
   PROHIBITED;OPREF="Summer":Studded snow tires

   RESOURCES;IDREF="Winter_Season":Night
    Golf by artificial lighting
   PERSONS;SKIROLE="In-house Tennis Pro";OPREF="Proschedule":
    Johanna Locke
   RESOURCES;OPREF="cardays":Park access
   with motor vehicles

4.4 Days of the OPTIMESET

   Value Name: OPDAYS

   Purpose: This value when specified is used in computing the
   OPTIMESET.  This value uses a reduced set of the "BYxxx" values as
   defined in RFC 2445 - 4.3.10 Recurrence Rule.

   Formal Definition:

      opdays      =  "<OPDAYS"  opdaysattlist ">"
                     opdayscontents "</OPDAYS>"

      opdaysattlist  =   range [id] [idref] [cycle] state rangevaluetype

      range      =    "range=" opdaysvalue
      id         =    "ID=" idvalue
      idref      =    "IDREF=" idrefvalue
      cycle      =    "cycle="  cycleperiod
      state      =    "state=" ("NOT-OPEN" / "OPEN" / "UNDETERMINED")
      rangevaluetype    =    "daytype=" ("WEEK" / "MONTH" / "YEAR" /
                             "NUMBERED" / "NAMED" )

   opdaysvalue   =   ( opwkdayvalue / opmodayvalue / opyrdayvalue )

   opwkdayvalue  =   DQUOTE ( ordweekday / weekdayperiod )
                     *[ "," ( ordweekday / weekdayperiod ) ] DQUOTE

   opmodayvalue  =   DQUOTE ( ordmoday  / modayperiod )
                     *[ "," ( ordmoday / modayperiod ) ] DQUOTE




FitzPatrick, et al.      Expires April 25, 2003                [Page 23]


Internet-Draft                   SkiCal                     October 2002


   opyrdayvalue  =   DQUOTE ( ordyrday  / ordyrdayperiod  )
                     *[ "," ( yrday / yrdayperiod ) ] DQUOTE

   ordweekday    =   [(["+"] ordwk / "-" ordwk)] weekday

   ordwk         =   1DIGIT               ;1 to 5

   weekday       =   "SU" / "MO" / "TU" / "WE" / "TH" / "FR" / "SA"
        ;Corresponding to SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY,
        ;FRIDAY, and SATURDAY days of the week.

   ordmoday      =  ["-" ordmo] moday

   ordmo         =  2DIGIT               ;01 to 31
   moday         =  2DIGIT               ;01 to 31

   ordyrday      =  ["-" ordyr] yrday

   ordyr         =  3DIGIT               ;01 to 366
   yrday         =  3DIGIT               ;01 to 366


   weekdayperiod = weekdayperexplicit / weekdaydurexplicit

   weekdayperexplicet = ordweekday "/" ["/"] ordweekday
           ; weekdayperexplicet can be used to define an interval of ordinal days
           ; of the week such as "MO/SA" - from Monday until Saturday

   weekdaydurexplicet = ordweekday "/" ["/"] rangeperiod

   modayperiod = modayperexplicit / modaydurexplicit

   modayperexplicet = ordmoday "/" ["/"] ordmoday
   modaydurexplicet = ordmoday "/" ["/"] rangeperiod

   yrdayperiod = yrdayperexplicit / yrdaydurexplicit
   yrdayperexplicet = ordyrday "/" ["/"] ordyrday

           ; yrdayperiod can be used to define an interval of ordinal days
           ; of the year such as "055/095" - from the 55th
           ; to the 95th day of the year

   opdayscontents =  *( "OPHOURS" / "OPMINUTES" / "OPSECONDS" )



   Description:




FitzPatrick, et al.      Expires April 25, 2003                [Page 24]


Internet-Draft                   SkiCal                     October 2002


   An OPDAYS value may occur more than once in an OPTIMESET.    An
   OPDAYS property value  may include one or more comma-separated date-
   time value pairs for each day or interval of days.  Each WEEKDAY
   value can also be preceded by a positive (+n) or negative (-n)
   integer.  If present, this indicates the nth occurrence of the
   specific day within the MONTH.  For example, +1MO (or simply 1MO)
   represents the first Monday within the month, whereas -1MO represents
   the last Monday of the month.

   Example:

4.5 Hours of the OPTIMESET

   Value Name: OPHOURS

   Formal Definition:

      ophours      =  "<OPHOURS"  ophoursattlist ">"
                       ophourscontents "</OPHOURS>"

      ophourssattlist  =   range [id] [idref] state [cycle]

      range      =    "range=" ophoursvalue
      id         =    "ID=" idvalue
      idref      =    "IDREF=" idrefvalue
      state      =    "state=" ("OPEN" / "NOT-OPEN" / "UNDETERMINED")
      cycle      =    "cycle="  cycleperiod

   ophoursvalue =  DQUOTE (ophourper_explvalue  /
                          ophourdur_explvalue )
                          *[ "," ( ophourper_explvalue /
                          ophourdur_explvalue ) ]
                   DQUOTE

   ophourper_explvalue  = time "/" ["/"] ( time / hour-text )


   ophourdur_explvalue  = time "/" ["/"] rangeperiod

   ophourscontents =  *( "OPMINUTES" / "OPSECONDS" )




4.6 Minutes of the OPTIMESET

   Value Name: OPMINUTES




FitzPatrick, et al.      Expires April 25, 2003                [Page 25]


Internet-Draft                   SkiCal                     October 2002


   Purpose: This value when specified is used in computing the
   OPTIMESET.  This value uses time values as defined in ISO8601 -
   Section 5.3.1.4.  Truncated representations - paragraph f)   Basic
   format.

   Formal Definition:

      opminutes      =  "<OPMINUTES"  opminutesattlist ">"
                         opminutescontents "</OPMINUTES>"

      opminutessattlist  =   range [id] [idref] state [cycle]

      range      =    "range=" DQUOTE opminutesvalue
                      *[ "," opminutesvale]DQUOTE
      id         =    "ID=" idvalue
      idref      =    "IDREF=" idrefvalue
      state      =    "state=" ("NOT-OPEN" / "OPEN" / "UNDETERMINED")
      cycle      =    "cycle="  cycleperiod

   opminutesvalue = opminutesper_explvalue  / opminutesdur_explvalue

   opminutesper_explvalue  =    time "/"
                              ( time / minute-text )

   opminutesdur_explvalue    =  time "/" rangeperiod

   opminutesscontents =  *( "OPSECONDS" )



   Description: This property value allows the use of minute and second
   time values as qualifiers for particular aspects of a SkiSource.
   Multiple "period" values are specified by a COMMA character; "," (US-
   ASCII decimal 44) separated list.

   Examples:

4.7 Seconds of the OPTIMESET

   Value Name: OPSECONDS

   Purpose: This value when specified is used in computing the
   OPTIMESET.  This value uses time values as defined in ISO8601 -
   Section 5.3.1.4.  Truncated representations - paragraph g)   Basic
   format.

   Formal Definition:




FitzPatrick, et al.      Expires April 25, 2003                [Page 26]


Internet-Draft                   SkiCal                     October 2002


      opseconds      =  "<OPSECONDS" opsecondsattlist ">"
                        "</OPSECONDS>"

      opsecondsattlist  =   range [id] [idref] state [cycle]


      range      =    "range=" DQUOTE opsecondsvalue
                      *[ "," opsecondsvalue]DQUOTE
      id         =    "ID=" idvalue
     idref       =    "IDREF=" idrefvalue
     state       =    "state=" ("NOT-OPEN" / "OPEN" / "UNDETERMINED")
     cycle      =    "cycle="  cycleperiod

   opsecondsvalue = opsecondsper_explvalue  / opsecondsdur_explvalue

   opsecondsper_explvalue  =    time "/"
                              ( time / seconds-text )

   opsecondsdur_explvalue  =   time "/" rangeperiod
                           ; the seconds value-type has no contents

   Description: This property value allows the use of seconds time
   values as qualifiers for particular aspects of a SkiSource.  Multiple
   "period" values are specified by a COMMA character; "," (US-ASCII
   decimal 44) separated list.

   Examples:
























FitzPatrick, et al.      Expires April 25, 2003                [Page 27]


Internet-Draft                   SkiCal                     October 2002


5. SkiCal specific Calendar Component

   The body of an iCalendar object consists of a sequence of calendar
   properties and one or more calendar components.  The calendar
   properties are attributes that apply to the calendar as a whole.  The
   calendar components are collections of properties that express a
   particular calendar semantic.  For example, the calendar component
   can specify an event, a to-do, a journal entry, time zone
   information, or free/busy time information, or an alarm.

   A SkiCal extended iCalendar object may include a "VOPTIME" calendar
   component as defined by the following notation:





        component  =  (
                      / optimec
                      )



5.1 The OpTime calendar component

   Component Name: "OPTIME

   Purpose: Provide a grouping of component properties that describe the
   opening times of a SkiSource.

   Format Definition: An "OPTIME" calendar component is defined by the
   following notation:

        optimec     = "BEGIN" ":" "OPTIME" CRLF
                     optimeprop *alarmc
                     "END" ":" "OPTIME" CRLF

        optimeprop  = *(

                   ; the following are optional,
                   ; but MUST NOT occur more than once

                   ; the following are properties
                   ; defined in RFC2445

                   class / created / description /  geo /
                   last-mod / location / organizer / priority /
                   dtstamp / seq / status / summary / transp /



FitzPatrick, et al.      Expires April 25, 2003                [Page 28]


Internet-Draft                   SkiCal                     October 2002


                   uid / url / recurid /

                   ; the following are properties

                   ; defined in this memo

                   skicalver / publisher / skuid /
                   whurl


                   ; the following are optional,
                   ; and MAY occur more than once

                   ; the following are properties
                   ; defined in RFC2445

                   attach / attendee / categories / comment /
                   contact / related / resources /
                   x-prop /

                   ; the following are properties
                   ; defined in this memo

                   access / actions / bookings / control /
                   directions / dtopen /optimes /namespace /
                   orientation / partrel / paymethod /
                   persons / placename / price /

                   prohibited / promo / recommended
                   required / skicalver / skilang
                   things / thinks / title

                   )

   Description: An "OPTIME" calendar component is a grouping of
   component properties, possibly including "VALARM" calendar
   components, that describes date-time values that we normally refer to
   as opening hours or business hours or operating hours.  The OPTIME
   component can be used to declare such times for any imaginable
   resource.  Generally, Opening Time schedules in any significant
   number are not ideal for visual representation in traditional PIM
   calendars, since if stored in an "opaque" manner they would "clutter
   up" the limited visual space available.  It is recommended that
   implementers develop alternative methods for visual representation of
   Optime calendar components.

   The "OPTIME" calendar component is identical to the "VEVENT" calendar
   component with the exception that the Date-time related properties



FitzPatrick, et al.      Expires April 25, 2003                [Page 29]


Internet-Draft                   SkiCal                     October 2002


   such as DTSTART, DTEND and DURATION have been removed and replaced by
   the DTOPEN property.

   Example: The following is an example of the "VOPTIME" calendar
   component used to represent the business hours of a video rental
   store that is open daily from 10am to 10pm, except for Fridays and
   Saturdays, when open to 12pm :

        BEGIN:VOPTIME
        UID:20020901T130000Z-123401@host.com
        DTSTAMP:20020901T1300Z
        OPTIMES:<OPTIMESET ID="DEMO9"><OPDAYS range="FR,SA"
         state="OPEN" daytype="WEEK"><OPHOURS state="OPEN" range=
         "100000/240000"/></OPDAYS><OPDAYS range="SO-TH" state=
         "OPEN" daytype="WEEK"><OPHOURS state="OPEN" range=
         "100000/220000"/></OPDAYS></OPTIMESET>
        TITLE:Videorama
        DTOPEN;OPREF="TS":Monday
         to Thursday from 10am to 10pm. Open to 12pm
         on Fridays and Saturdays
        CLASS:PUBLIC
        CATEGORIES:ENTERTAINMENT,Video rentals
        END:VOPTIME

   The following is an example of a schedule for one academic course,
   extending across two semesters with a recess for the Christmas
   holidays:


        BEGIN:VOPTIME
        UID:20020901T130000Z-123402@host.com
        DTSTAMP:20020401T130000Z
        OPTIMES:<OPTIMESET ID="DEMO10"><OPTERM state=
         "OPEN" range="20020825/20030701"><OPSEASONS state="OPEN"
         range="0915/1220,0110/0522"><OPDAYS range="TU,TH"
         state="OPEN" daytype="WEEK"><OPHOURS state="OPEN"
         range="190000/210000"/></OPDAYS></OPSEASONS></OPTERM></OPTIMESET>
         </SET>
        DTOPEN;OPREF="0110":Evening classes
        TITLE:Sensitivity awareness class - HT013.
        CLASS:PUBLIC
        CATEGORIES:EDUCATION, BUSINESS ADMIN
        END:VOPTIME

   The following is an example of a "VOPTIME" calendar component used to
   represent the opening of a stretch of freeway.  Since the freeway is
   expected to remain open indefinitely it suffices to merely indicate
   an opening using the TERM value type.  In this example an opening



FitzPatrick, et al.      Expires April 25, 2003                [Page 30]


Internet-Draft                   SkiCal                     October 2002


   ceremony is also declared :
   BEGIN:VOPTIME
        UID:20020901T130000Z-123403@host.com
        DTSTAMP:20020901T1300Z
        OPTIMES ID="TYT":<OPTIMESET ID="DEMO11"><OPTERM
         state="OPEN" range="20030225/THISANDFUTURE"/>
         </OPTIMESET>
        OPTIMES:<OPTIMESET ID="DEMO12"><OPTERM
         state="OPEN" range="20030225T15300Z/20030225T16300Z"/>
         </OPTIMESET>
        DTOPEN;OPREF="TYT":Freeway opening
        SUMMARY:The Martello bypass becomes operational.
        ACTIONS;OPREF="R5T":Grand opening ceremony
        CLASS:PUBLIC
        CATEGORIES:TRANSPORTATION, ROADS, FREEWAYS
        END:VOPTIME



































FitzPatrick, et al.      Expires April 25, 2003                [Page 31]


Internet-Draft                   SkiCal                     October 2002


6. SkiCal specific Component Properties

   The class of SkiCal objects is a superset of the class of iCalendar
   objects.  Therefore any component property, which MAY appear in a
   VEVENT iCalendar component, is also allowed in a SkiCal object.  In
   addition, the following component properties are defined in this
   memo.

      eventprop  =    /  *(

                          ; the following are optional,
                          ; but MUST NOT occur more than once

                          publisher / skuid / whurl

                          ; the following are optional,
                          ; and MAY occur more than once

                          access / actions / bookings / control /
                          directions / optimes /namespace /
                          orientation / partrel / paymethod /
                          persons / placename / price /
                          prohibited / promo / recommended
                          required / skicalver / skilang
                          things / thinks / title

                         )

   It is RECOMMENDED that publishers chose the terms used as TEXT type
   property values from authoritative lists of terms.  Section 10

   For reasons of clarity the properties self-describing the SkiCal
   object are presented under the "MANAGEMENT" header (Calendar object
   management), while properties describing the actual SkiSource being
   described are presented under the interrogative headers; "WHAT",
   "WHEN", "WHERE", "WHO", "WHY", and "WHOW".  For example, the date
   when a SkiCal object describing a SkiSource was published would be
   defined by RFC2445 4.8.7.1 Date/Time Created, and this property would
   be sorted under MANAGEMENT while the date the actual SkiSource being
   described occurs is defined by RFC2445 4.8.2.4 Date/Time Start which
   would be sorted under WHEN.  The creator of a SkiCal object
   describing a SkiSource is defined by RFC2445 4.8.4.3 Organizer, and
   this property would be sorted under MANAGEMENT while the "organizer"
   or producer of the actual SkiSource being described could be defined
   by the one of the SkiCal properties such as Section 6.6.1 which would
   be sorted under WHO.





FitzPatrick, et al.      Expires April 25, 2003                [Page 32]


Internet-Draft                   SkiCal                     October 2002


6.1 WHAT properties

   The following properties serve as place-holders for the answers to
   user questions about the SkiSource such as "What is it?" and "What is
   happening?".

   The properties defined in RFC-2445 [3] related to WHAT are:

      4.8.1.2 Categories

      4.8.1.5 Description - The description property in RFC2445 can be
      used to hold any sort of WHA information.

      4.8.1.11 Status

      4.8.1.12 Summary - The summary property in RFC2445 can be used to
      hold any sort of WHA information.

   In addition to the properties named above as defined in RFC-2445 [3],
   a SkiCal object may include the following properties

6.1.1 Title

   Property Name: TITLE

   Purpose: This property specifies the title or name of the SkiSource
   being described.

   Value Type: TEXT.

   Property Parameters: Non-standard and language property parameters
   can be specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.

   Description: Public SkiSources often have titles .  The title may not
   be directly descriptive of the SkiSource.  The Title might be
   abstract in nature or it might be a copyrighted name that an owner
   wishes to see included in the calendar object.  The following example
   illustrates the difference between SUMMARY and TITLE: A photo
   exhibition by photographer Collier Schorr in New York City called
   "Excuse Me While I Kiss the Sky" can be described by these two lines
   in a SkiCal file:


   SUMMARY:Collier Schorr photos on exhibit in NYC
   TITLE:Excuse Me While I Kiss the Sky



FitzPatrick, et al.      Expires April 25, 2003                [Page 33]


Internet-Draft                   SkiCal                     October 2002


   Format Definition: The property is defined by the following notation:

       title       =    "TITLE" titleparam ":" text CRLF

                        ; It is RECOMMENDED, when feasible, that the
                        ; text value be chosen from a list,
                        ; as described in this memo.

       titleparam  =    *(

                        ; the following is optional,
                        ; but MUST NOT occur more than once

                        (";" languageparam ) / (";" nsrefparam ) /
                        ( oprefparam ) /

                        ; the following is optional,
                        ; and MAY occur more than once

                        (";" xparam)

                        )

   Example: The following are examples of this property:

   TITLE:MacDonald's
   TITLE;NSREF="TX":Les Miserables(c)
   TITLE;LANGUAGE=sv:En kvall med Victor Borge
   TITLE;LANGUAGE=en:One night with Victor Borge
   TITLE;LANGUAGE=en;NSREF="FFL":Around the World in 80 Days



6.1.2 Persons

   Property Name: PERSONS

   Purpose: To facilitate for TimeSpenders the discovery of SkiSources
   relating to specific people - living or dead.

   Value Type: TEXT.

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.




FitzPatrick, et al.      Expires April 25, 2003                [Page 34]


Internet-Draft                   SkiCal                     October 2002


   Description: Persons at a SkiSource might be a shop keeper, waiter,
   hostess, artist, a sports team, a guide, a disc jockey or a master of
   ceremonies and so forth.  This property specifies named persons
   associated with the SkiSource, working at the SkiSource or present at
   the SkiSource.  Persons expected to perform or participate, act or
   speak, contribute in person to the SkiSource - or to be honoured,
   referenced, criticized etc., in absence.

   Format Definition: The property is defined by the following notation:

      persons    =       "PERSONS" personsparam ":" text CRLF

                     ; It is RECOMMENDED that the text value be
                     ; chosen from a list, as described
                     ; in this memo.

      personsparam  =    *(
                          ; the following is optional,
                          ; but MUST NOT occur more than once

                        (";" languageparam ) /(";" skiroleparam ) /
                        (";" nsrefparam ) / (";" oprefparam ) /

                          ; the following is optional,
                          ; and MAY occur more than once

                          (";" xparam)

                        )

   Example: The following are examples of this property:

   PERSONS;SKiROLE="PERFORMER":Madonna
   PERSONS;PRXSKiROLE="IUI:COMMEMORATED":Madonna
   PERSONS:Victor Borge
   PERSONS;PRXSKiROLE="JBP:Clarinetist":Woody Allen
   PERSONS;SKiROLE="PRESENT":The Queen of Spain
   PERSONS;SKiROLE="PERFORMER";LANGUAGE=sv:AIK a-laget i fotboll
   PERSONS;SKiROLE="INVITED":the Hawthorn High School class of 1982
   PERSONS;OPREF="SAPT";PRXSKiROLE="WPRL:REFERENCED":
    Nelson Mandela
   PERSONS;PRXSKiROLE="GGP:STUDIED":Socrates
   PERSONS;SKiROLE="HOSTESS":Martha Edwards

6.1.3 Thinks

   Property Name: THINKS




FitzPatrick, et al.      Expires April 25, 2003                [Page 35]


Internet-Draft                   SkiCal                     October 2002


   Purpose: To facilitate for TimeSpenders the discovery of SkiSources
   relating to specific concepts, topics, themes and areas of interest

   Value Type: TEXT

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.

   Description: This property specifies a a topic or subject - a THINK.

   Format Definition: The property is defined by the following notation:

      thinks       =       "THINKS" thinksparam ":" text CRLF

                           ; It is RECOMMENDED that the text value be
                           ; chosen from a list, as described in
                           ; this memo.
      thinksparam  =       *(


                           ; the following is optional,
                           ; but MUST NOT occur more than once

                           (";" languageparam ) /(";" skiroleparam ) /
                           (";" nsrefparam )    /(";" oprefparam ) /

                             ; the following is optional,
                             ; and MAY occur more than once

                           (";" xparam)

                        )

   Example: The following are examples of this property:

   THINKS:World Peace
   THINKS;SKiROLE="STUDIED":Our business strategy for the new millennium
   THINKS;PRXSKiROLE="XJI:ANALYZED":The work of George Lucas
   THINKS:Christianity, Buddhism
   THINKS:Transaction Cost Economics

6.1.4 Things

   Property Name: THINGS




FitzPatrick, et al.      Expires April 25, 2003                [Page 36]


Internet-Draft                   SkiCal                     October 2002


   Purpose: To facilitate for TimeSpenders the discovery of SkiSources
   relating to objects, things, specific goods and products, collectors
   items, various commodities and so forth.

   Value Type: TEXT.

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.

   Description: Things pertaining to a resource-entity.  For example;
   books, paintings, furniture, Gucci Handbags, Wrangler Jeans,
   Portuguese wines.  This property specifies things of significance
   exhibited, featured, for sale, for-auction, for-rent, to be given
   away or observed at the resource-entity.

   Format Definition: The property is defined by the following notation:

      things             = "THINGS" thingsparam ":" text CRLF
                       ; It is RECOMMENDED that the text value be
                        ; chosen from a list, as described in
                        ; this memo.

      thingsparam      = *(


                     ; the following is optional,
                     ; but MUST NOT occur more than once


                       (";" languageparam ) / (";" skiroleparam ) /
                       (";" nsrefparam )    / (";" oprefparam ) /

                       ; the following is optional,
                       ; and MAY occur more than once


                       (";" xparam)

                     )

   Example: The following are examples of this property:







FitzPatrick, et al.      Expires April 25, 2003                [Page 37]


Internet-Draft                   SkiCal                     October 2002


   THINGS;PRXSKiROLE="II:LECTURED-ON":German Antiques
   THINGS;SKiROLE="FOR-SALE":German Antiques
   THINGS;PRXSKiROLE="UTTT:APPRAISED":German Antiques
   THINGS;LANGUAGE=sv:Fritidsb&#x00E5;tar


   THINGS;SKiROLE="LECTURED-ON":Ming Dynasty Porcelain
   THINGS;SKiROLE="SERVED":Thai cuisine
   THINGS;PRXSKiROLE="M:AUCTIONED":The Vanderbilt Jewels
   THINGS;PRXSKiROLE="PP:REFERENCED":The holy Grail

6.1.5 Actions

   Property Name: ACTIONS

   Purpose: To facilitate for TimeSpenders the discovery of resource-
   entities in relation to things happening, processes, movements, etc.

   Value Type: TEXT.

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.

   Description: Actions at a SkiSource.  For example; a sale, an
   auction, a house warming, a legal process, a business process, an
   awards process etc.  This property specifies actions of significance
   taking place at the resource-entity.

   Format Definition: The property is defined by the following notation:



















FitzPatrick, et al.      Expires April 25, 2003                [Page 38]


Internet-Draft                   SkiCal                     October 2002


      actions         =    "ACTIONS" actionsparam ":" text CRLF

                     ; It is RECOMMENDED that the text value be
                     ; chosen from a list, as described in
                     ; this memo.

      actionsparam      = *(

                        ; the following is optional,
                        ; but MUST NOT occur more than once


                     (";" languageparam )  / (";" nsrefparam ) /
                     (";" oprefparam ) /

                     ; the following is optional,
                     ; and MAY occur more than once

                      (";" xparam)

                     )

   Example: The following are examples of this property:

   ACTIONS:Vote on Stock split
   ACTIONS:Bankruptcy proceedings
   ACTIONS:Draft approval
   ACTIONS;LANGUAGE=sv:utf&#x00F6;rs&#x00E4;lning
   ACTIONS:Lecture
   ACTIONS:Queen Mary IV launch
   ACTIONS;OPREF="SCH":Team tryouts
   ACTIONS:Spring term enrollment
   ACTIONS:wedding

6.1.6 Part relationship to another SkiSource

   Property Name: PARTREL

   Purpose: This property specifies another SkiSource, to which the
   SkiSource being declared is related.  This does not imply an
   inheritance of properties from the external SkiSource.

   Value Type: TEXT.  (SKUID for another SkiCal/iCalendar object.)

   Property Parameters: Non-standard property parameters can be
   specified on this property.  It is RECOMMENDED that a Common Name
   parameter (cnparam) be specified on this property.




FitzPatrick, et al.      Expires April 25, 2003                [Page 39]


Internet-Draft                   SkiCal                     October 2002


   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.

   Description: This property allows for the publisher of a SkiSource to
   indicate a relation to another SkiSource.  This property differs from
   the RELATED-TO property of RFC-2445 [3], which defines a relationship
   between calendar objects describing SkiSources and not between
   SkiSources themselves.

   Format Definition: The property is defined by the following notation:

      partrel            =   "PARTREL" partrelparam ":" text CRLF

      partrelparam       =    *(

                     ; the following is optional,
                     ; but MUST NOT occur more than once

                     (";" languageparam ) / (";" cnparam )    /
                     (";" reltypeparam)   / (";" nsrefparam ) /
                     (";" oprefparam ) /

                     ; the following is optional,
                     ; and MAY occur more than once

                     (";" xparam)

                     )

   Example: The following are examples of this property:

   PARTREL;RELTYPE=CHILD;CN=Vattenfestivalen:<19990401T080045Z-F192713@
    .se>

   PARTREL;CN=2004 Winter Olympics;RELTYPE=CHILD:<19991202@olympic.org>

   PARTREL;RELTYPE=SIBLING:<ev32987-a33498@calendar.com>

6.1.7 Language used at the SkiSource

   Property Name: SKILANG

   Purpose: This property specifies the main language, used at the
   SkiSource.

   Value Type: TEXT.

   Property Parameters: Non-standard property parameters can be



FitzPatrick, et al.      Expires April 25, 2003                [Page 40]


Internet-Draft                   SkiCal                     October 2002


   specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.

   Description: Language used at the SkiSource.  For example, the main
   language of a theatre play, the language spoken by the teacher of a
   course, or the languages spoken by the salespeople in a boutique.

   NOTE: If the SkiSource is being translated, the information about
   what languages are available as translations could be published under
   RESOURCES.

   NOTE: If knowledge of a certain language is required in order to
   appreciate the SkiSource, this should be indicated by a REQUIRED (or
   RECOMMENDED) property.

   Format Definition: The property is defined by the following notation:

      skilang            =   "SKILANG" skilangparam ":" language CRLF

      skilangparam       =    *(

                         ; the following is optional,
                         ; but MUST NOT occur more than once

                         (";" oprefparam ) / (";" itemparam) /

                         ; the following is optional,
                         ; and MAY occur more than once

                         (";" xparam)

                         )

      language          =    <Text identifying a language, as defined in RFC-1766>

   Example: The following are examples of this property:


   SKILANG:en,fr
   SKILANG:sv
   SKILANG;OPREF="001":en
   SKILANG;OPREF="002":sv
   SKILANG;ITEM="All our guides speak English":en
   SKILANG;ITEM="subtitles":da





FitzPatrick, et al.      Expires April 25, 2003                [Page 41]


Internet-Draft                   SkiCal                     October 2002


6.1.8 Orientation

   Property Name: ORIENTATION

   Purpose: This property specifies the target audiences for the
   SkiSource.

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.

   Description: This property can facilitate SkiSource discovery.  It
   can indicate that a SkiSource has a specific target audience or
   consumer type, or that it is related to a specific cause, faith,
   professional group, gender, ethnic group etc.  Infomediaries can use
   this property to define their own specific customer orientation types
   without altering the values in CATEGORIES.

   Format Definition: The property is defined by the following notation:






























FitzPatrick, et al.      Expires April 25, 2003                [Page 42]


Internet-Draft                   SkiCal                     October 2002


      orientation       =    "ORIENTATION" orientationparam ":" text CRLF

                        ; It is RECOMMENDED that the text value be
                        ; chosen from a list, as described in
                        ; this memo.

      orientationparam  = *(

                        ; the following is optional,
                        ; but MUST NOT occur more than once

                        (";" orienttypeparam ) /

      orienttypeparam   = (( "ORIENTTYPE" "=" text) /
                           ( "PRXORIENTTYPE" "=" prefix ":" text )  /

                          (";" languageparam )  / (";" nsrefparam ) /
                          (";" oprefparam ) / (";" itemparam) /

                     ; It is RECOMMENDED that the text value be
                     ; chosen from a list, as described in
                     ; this memo.
                     ; the following is optional,
                     ; and MAY occur more than once

                        (";" xparam)
                        )

   Value Type: TEXT.

   Example: The following are examples of this property:

   ORIENTATION;NSREF="G";ORIENTTYPE=Religious:Methodist
   ORIENTATION;PRXORIENTTYPE="DR:DemographicsRus":Soccer Moms
   ORIENTATION;ORIENTTYPE=DemographicsRus:Champagne Set
   ORIENTATION;NSREF="DR":Senior Citizens
   ORIENTATION;OPREF="ty";ORIENTTYPE=Gender:Female
   ORIENTATION;ORIENTTYPE=TimeOut:Gay
   ORIENTATION;ITEM="Laser scapels";ORIENTTYPE=Occupation:Medical

6.1.9 What URL

   Property Name: WHURL

   Purpose: This property defines a Uniform Resource Locator (URL)
   associated with the SkiSource the SkiCal object is describing.

   Value Type: URI



FitzPatrick, et al.      Expires April 25, 2003                [Page 43]


Internet-Draft                   SkiCal                     October 2002


   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.

   Description: This property may be used in a SkiCal object to convey a
   URL for information about the SkiSource.  The difference between
   WHURL and the iCal Property URL as defined in RFC2445 section 4.8.4.6
   is that while URL points to some place "where a more dynamic
   rendition of the calendar information associated with the calendar
   component can be found", WHURL points to the "home page" of the
   SkiSource itself.  This memo does not attempt to standardize the form
   of the URI, nor the format of the resource pointed to by the property
   value.

   Format Definition: The property is defined by the following notation:

      whurl         =   "WHURL" whurlparam ":" uri CRLF

      whurlparam    =   *(

                        ; the following is optional,
                        ; but MUST NOT occur more than once
                        (";" languageparam ) / (";" nsrefparam )

                        ; the following is optional,
                        ; and MAY occur more than once

                        (";" xparam)
                        )

   Example: The following are examples of this property:

   WHURL:http://www.dalasphilharmonic.com/events/030516/mehta.htm

6.1.10 SkiSource Unique Identifier

   Property Name: SKUID

   Purpose: This property specifies a persistent, globally unique
   identifier for the SkiSource.

   Value Type: TEXT

   Property Parameters: Non-standard property parameters can be
   specified on this property.




FitzPatrick, et al.      Expires April 25, 2003                [Page 44]


Internet-Draft                   SkiCal                     October 2002


   Description: This property provides a method for determining a
   definite, authoritative and unique identification of a SkiSource.
   SKUID differs from the UID property defined in RFC2445 section 
   4.8.4.7, whereas UID identifies a calendar component (SkiCal object),
   SKUID identifies the SkiSource being defined by the calendar
   component.

   The SKUID itself MUST be a globally unique identifier.  The generator
   of the identifier MUST guarantee that the identifier is unique.
   There are several algorithms that can be used to accomplish this.
   The identifier is RECOMMENDED to be the identical syntax to the RFC-
   822 [7] addr-spec.  A good method to assure uniqueness is described
   in RFC-2445 [3], section 4.8.4.7 about Unique Identification Numbers.

   Format Definition: The property is defined by the following notation:

      skuid         =   "SKUID"  skuidparam ":" text CRLF


      skuidparam    =   *(

                       ; the following is optional,
                       ; but MUST NOT occur more than once
                       (";" languageparam ) / (";" nsrefparam )

                       ; the following is optional,
                       ; and MAY occur more than once

                       (";" xparam)
                       )

   Example: The following are examples of this property:

   SKUID:20021001T090045Z-4000F192713-0052@qwack.com
   SKUID;NSREF="TG":20021001T090045Z-4000F192713-0052@qwack.com

6.2 WHEN properties

   The following properties answer time and date related questions about
   the SkiSource, such as "When is it open" and "When does it happen?".

   The properties defined in RFC-2445 [3] related to WHEN are:

      4.8.2 Date and Time Component Properties

      4.8.3 Time Zone Component Properties

      4.8.5 Recurrence Component Properties



FitzPatrick, et al.      Expires April 25, 2003                [Page 45]


Internet-Draft                   SkiCal                     October 2002


6.2.1 Date-time open

   Property Name: DTOPEN

   Purpose: This property can be used to specify reoccurring date-time
   schedules such as the opening -, operating -, accessible times of a
   SkiSource.  This Property is suitable for "persistent resources",
   that is resources that unlike events have  regular persistent
   operating hours.  Though in some cases a publisher could describe
   opening hours using the existing time-date properties and
   reoccurrence rules of RFC2445, those rules are not optimized  for
   this sort of use.   Further, a collection of such SkiSources, for
   example all the shops and restaurants in one's neighbourhood, would
   clutter a traditional PIM calendar, where events are expected to
   happen in a more or less serial fashion.

   Conformance: This property can be specified in a "VOPTIME" calendar
   component.

   Value Type: The default value type is TEXT.

   Property Parameters: Non-standard, value data type, time zone
   identifier property parameters can be specified on this property.

   Description: This property defines access information for a SkiSource
   - what are usually called the hours of business or operation.  The
   date time values are stated through the OPTIMESET of property Values
   and are referred to with the opref property parameter value.  The
   value of the Property is a text label describing what the  opening
   times derived through the OPTIMESET are referring to.  The OPTIMESET
   can be used to qualify several of the SkiCal properties.  If a
   SkiSource can be considered to have a "main", "primary" or
   "essential" Opening Times, then it is recommended that the DTOPEN
   property be used to declare these.

   There is a known discrepancy in RFC2445.  In section 4.6.1 Event
   Component, the ABNF declares that there are no obligatory properties
   in a VEVENT Component, while in 4.8.2.4 Date/Time Start it is stated
   that "The property is REQUIRED in "VEVENT" calendar components.  Even
   though the ABNF takes precedent over prose, until this discrepancy
   is resolved it is recommended that SkiCal publishers always include a
   DTSTART property in a SkiCal object.  If the publishers intention is
   to declare Opening Times and not the date-times of a specific event,
   it is recommended that they use the VOPTIME calendar component.

   Format Definition: The property is defined by the following notation:





FitzPatrick, et al.      Expires April 25, 2003                [Page 46]


Internet-Draft                   SkiCal                     October 2002


      dtopen       = "DTOPEN" opentimeparam ":" TEXT CRLF

      opentimeparm = *(

                   ; the following are optional,
                   ; but MUST NOT occur more than once

                   ( opref / (";" languageparam ) /
                   (";" nsrefparam ) /

                   ; the following is optional,
                   ; and MAY occur more than once

                   *(";" xparam)

                   )

   Example: The following are examples of this property:

   DTOPEN;opref="Bstandard":Balthazar's schedule

6.3 WHERE properties

   The following properties serve as place-holders for the answers to
   user questions about the SkiSource such as "Where does it happen?"
   and "Where do I find the SkiSource?".

   The properties defined in RFC-2445 [3] related to WHERE are:

      4.8.1.6 Geographic Position (GEO)

      4.8.1.7 Location

   SkiCal objects SHOULD use vCards [RFC 2426] as an ALTREP parameter
   value to the LOCATION property parameter, in order to provide machine
   readability and maintain information structure when exchanging data.
   For example, the alternate representation may specify either an LDAP
   URI pointing to an LDAP server entry or a CID URI pointing to a MIME
   body part containing a vCard for the location.

   In addition to the properties named above as defined in RFC-2445 [3],
   a SkiCal object may include the following properties.

6.3.1 Venue

   Property Name: VENUE

   Purpose: This property classifies the type of physical context in



FitzPatrick, et al.      Expires April 25, 2003                [Page 47]


Internet-Draft                   SkiCal                     October 2002


   which an SkiSource takes place.

   Value Type: TEXT.

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.

   Description: The venue parameter divides SkiSources into a number of
   distinctly different groups, this is useful when there is a need to
   quickly reduce the number of SkiSources in a selection.  For example:
   When searching for outdoor sport SkiSources to take part in, it will
   help not having to browse through listings of TV shows showing
   sports.

   Format Definition: The property is defined by the following notation:

      venue        =    "VENUE" venueparam ":" venuetype CRLF

      venueparam   =    *(

                        ; the following is optional,
                        ; and MAY occur more than once

                        (";" xparam)
                        )

      venuetype      =   "Internet"      /
                         "Radio"         /
                         "TV"            /
                         "Outdoors"      /
                         "Indoors"       /
                         "Travel-transit"

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.

   Example: The following are examples of this property:

           VENUE:Outdoors
           VENUE:TV

6.3.2 Directions

   Property Name: DIRECTIONS




FitzPatrick, et al.      Expires April 25, 2003                [Page 48]


Internet-Draft                   SkiCal                     October 2002


   Purpose: This property can be used to specify helpful directions for
   finding the SkiSource.

   Value Type: TEXT.

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.

   Description: Very often when a public SkiSource is published, there
   are instructions other than the address for finding the location.  In
   metropolitan areas this could be just the name of a subway stop,
   while on the sea it could possibly be a path defined by a series of
   GEO (longitude + latitude) coordinates that will help sailors avoid
   shallow water.

   Format Definition: The property is defined by the following notation:
































FitzPatrick, et al.      Expires April 25, 2003                [Page 49]


Internet-Draft                   SkiCal                     October 2002


      directions       = "DIRECTIONS" directionsparam ":" text CRLF

      directionsparam  = *(

                        ; the following is optional,
                        ; but MUST NOT occur more than once

                        (";" languageparam ) / (";" altrepparam ) /
                        (";" travelbyparam) / (";" geo-path) /
                        (";" nsrefparam ) /
                        ; the following is optional,
                        ; and MAY occur more than once

                        (";" xparam)
                        )

      travelbyparam    = "TRAVELBY" "="

                        ("walk" / "bicycle" / "boat" / "car" / "rail" /
                         "air" / "public"transportation" /
                         "frequency" / "uri" )

        ; Implementers who do not intend to have a complex GUI for
        ; various types of directions could concatenate all DIRECTIONS
        ; fields which have a TRAVELBY parameter into one DIRECTIONS field
        ; without a TRAVELBY parameter

      geo-path          =    "GEO-PATH" "=" 1*(float "," float ",")
                             (float "," float)

                     ; machine readable directions
                     ; coordinate pair sequence approaching destination

   Example: The following are examples of this property:

   DIRECTIONS;TRAVELBY=public transportation;LANGUAGE=sv:Tunnelbanes
    tation Globen
   DIRECTIONS:Rum 207, plan 2



6.3.3 Place name

   Property Name: PLACENAME

   Purpose: This property can be used to specify a well-known name of
   the SkiSource or a location where the SkiSource takes place.




FitzPatrick, et al.      Expires April 25, 2003                [Page 50]


Internet-Draft                   SkiCal                     October 2002


   Value Type: TEXT.

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.

   Description: Names, which have reached a status of common knowledge
   among a significant portion of the populace or within a particular
   segment (eg.  Taxi drivers).  If the exact name is chosen from a
   naming list as discussed in this memo, Section 10, further details
   may be available to the uninitiated.

   Format Definition: The property is defined by the following notation:

      placename       =    "PLACENAME" placeparam ":" text CRLF

                           ; It is RECOMMENDED that the text value be

                           ; chosen from a list, as described in
                           ; this memo.

      placeparam      =    *(

                           ; the following is optional,
                           ; but MUST NOT occur more than once

                           (";" languageparam ) / (";" nsrefparam ) /

                           ; the following is optional,
                           ; and MAY occur more than once

                           (";" xparam)
                           )

   Example: The following is an example of this property:

   PLACENAME:Globen
   PLACENAME:Central Park
   PLACENAME:The Commons
   PLACENAME:Muscle Beach

6.4 WHOW (HOW) properties

   WHOW properties represent possible conditions involved in interaction
   between a TimeSpender and a SkiSource - the rules, qualifications,
   economics, quirks and hindrances involved.



FitzPatrick, et al.      Expires April 25, 2003                [Page 51]


Internet-Draft                   SkiCal                     October 2002


   These properties serve as place-holders for the answers to
   TimeSpender questions such as, "Can I bring a camera?", "How can I
   get a ticket?", "Is there an age requirement?", "What does the daily
   special cost?"

   The properties defined in RFC-2445 [3] that are related to WHOW are:

   4.8.1.5 Description - The description property in RFC2445 can be used
   to hold any sort of WHA information.

   4.8.1.10 Resources - SkiCal uses Resources as stipulated in RFC2445.

   Example: The following are examples of RESOURCES used in SkiCal:




   RESOURCES:Valet parking
   RESOURCES;OPREF="40000/THISANDPRIOR":Hot food until midnight


   RESOURCES:Drinking water
   RESOURCES:Smokers section
   RESOURCES:Butane refills
   RESOURCES:Changing Rooms

6.4.1  Requirements

   Property Name: REQUIRED

   Purpose: This property can be used to specify requirements made by
   the SkiSource on the TimeSpender.

   Value Type: TEXT.

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.

   Description: This property can be used to specify requirements made
   on the TimeSpender.

   Format Definition: The property is defined by the following notation:






FitzPatrick, et al.      Expires April 25, 2003                [Page 52]


Internet-Draft                   SkiCal                     October 2002


      requirements       =    "REQUIRED" requireparam ":" text CRLF

                     ; It is RECOMMENDED that the text value be
                        ; chosen from a list, as described in
                        ; this memo.

      requireparam = *(

                     ; the following is optional,
                        ; but MUST NOT occur more than once

                     (";" languageparam ) / (";" altrepparam )
                     (";" nsrefparam ) /
                     ; the following is optional,
                        ; and MAY occur more than once

                     (";" xparam)
                         )

   Example: The following are examples of this property:

   REQUIRED:Children must have adult accompaniment



   REQUIRED;ALTREP="HTTP://www.nmpda.org/codes/pg13":pg13
   REQUIRED:Formal attire
   REQUIRED:Lions Club Members only
   REQUIRED:Valid drivers license
   REQUIRED:Hores ridding experience
   REQUIRED:Reservations made at least one week in advance
   REQUIRED:All pets on leashes please
   REQUIRED:white soled gym shoes
   REQUIRED:Major credit card
   REQUIRED:No rain - Event cancelled in case of bad weather
   REQUIRED:minimum height on all rides 1.40 cm

6.4.2 Recommendations

   Property Name: RECOMMENDED

   Purpose: This property can be used to specify recommendations to the
   TimeSpender wishing to interact with the SkiSource

   Value Type: TEXT.

   Property Parameters: Non-standard property parameters can be
   specified on this property.



FitzPatrick, et al.      Expires April 25, 2003                [Page 53]


Internet-Draft                   SkiCal                     October 2002


   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.

   Description: Recommendations made by the Publisher xxx.

   Format Definition: The property is defined by the following notation:

      Recommended       =    "RECOMMENDED" recommendedparam ":" text CRLF

                        ; It is RECOMMENDED that the text value be
                        ; chosen from a list, as described in
                        ; this memo.

      recommendedparam =    *(

                        ; the following is optional,
                        ; but MUST NOT occur more than once

                        (";" languageparam ) / (";" altrepparam )
                        (";" nsrefparam ) /
                        ; the following is optional,
                           ; and MAY occur more than once

                        (";" xparam)
                        )

   Example: The following are examples of this property:

   RECOMMENDED:Flash Camera
   RECOMMENDED:Warm Clothes
   RECOMMENDED:At least 2 hours to see the main exhibition
   RECOMMENDED:No Children
   RECOMMENDED:do not leave your possessions unattended
   RECOMMENDED:Bring you own lunch
   RECOMMENDED:Sturdy Hiking boots
   RECOMMENDED:Polio vaccinations
   RECOMMENDED:Stay on the trail
   RECOMMENDED:Get here early
   RECOMMENDED:It is difficult to find parking space - take public transport

6.4.3 Prohibited

   Property Name: PROHIBITED

   Purpose: This tells the TimeSpender what activities or things are
   PROHIBITED at the SkiSource.

   Value Type: TEXT.



FitzPatrick, et al.      Expires April 25, 2003                [Page 54]


Internet-Draft                   SkiCal                     October 2002


   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.

   Description: That which is prohibited

   Format Definition: The property is defined by the following notation:

      prohibited       =    "PROHIBITED" prohibitedparam ":" text CRLF

                        ; It is RECOMMENDED that the text value be
                           ; chosen from a list, as described in
                           ; this memo.

      prohibitedparam       =    *(

                        ; the following is optional,
                           ; but MUST NOT occur more than once

                        (";" languageparam ) / (";" altrepparam ) /
                        (";" nsrefparam ) /

                        ; the following is optional,
                           ; and MAY occur more than once

                        (";" xparam)
                            )

   Example: The following are examples of this property:

   PROHIBITED:minors
   PROHIBITED:possession of fire arms
   PROHIBITED:possession of cameras
   PROHIBITED:men

6.4.4 Price

   Property Name: PRICE

   Purpose: This property gives pricing information about the SkiSource.

   Value Type: TEXT.

   Property Parameters: Non-standard property parameters can be
   specified on this property.




FitzPatrick, et al.      Expires April 25, 2003                [Page 55]


Internet-Draft                   SkiCal                     October 2002


   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.

   Description: This property can be used to provide information about
   the pricing structure at a SkiSource.  Due to a large divergence in
   pricing structures, it is not intended that all aspects of pricing
   will be possible to represent in a machine readable format using
   SkiCal.  This syntax will allow for simpler pricing structures to be
   defined.

   Format Definition: The property is defined by the following notation:








































FitzPatrick, et al.      Expires April 25, 2003                [Page 56]


Internet-Draft                   SkiCal                     October 2002


      price             =    "PRICE" priceparam ":" price CRLF

      priceparam        = *(

                             ; the following is optional,
                             ; but MUST NOT occur more than once

                        (";" languageparam ) / (";" altrepparam ) /
                        (";" itemparam) / (";" currencyparam)
                        (";" nsrefparam ) /

                         )



                        ; The text value COULD be
                        ; chosen from a list, as described in
                        ; this memo. Such a list could
                        ; contain words such as:
                        ; Admission
                        ; Breakfast
                        ; Starting Fee
                        ; Room

                        ; Happy hour
                        ; Monthly fee

      price             =    float

      currencyparam     =   "CURRENCY" "=" <currency code as
                           defined in ISO4217

                           ; the following is optional,
                           ; and MAY occur more than once

                           (";" xparam

                           )

   Example: The following are examples of this property:

   PRICE;PRXITEM="J:Admission":0
   PRICE;ITEM="Admission";CURRENCY=SEK:135
   PRICE;ITEM="Monthly subscription";CURRENCY=USD:2.75
   PRICE;ITEM="Daily Lunch";CURRENCY=CHF:5.75
   PRICE;ITEM="Shoe Shines";CURRENCY=USD:3.50
   PRICE;ITEM="One hours ice skating";CURRENCY=GBP:7.95
   PRICE;ITEM="All day parking";CURRENCY=USD:19



FitzPatrick, et al.      Expires April 25, 2003                [Page 57]


Internet-Draft                   SkiCal                     October 2002


6.4.5 Bookings

   Property Name: BOOKINGS

   Purpose: This property defines where and when reservations or tickets
   for the SkiSource can be obtained.

   Value Type: TEXT.

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.

   Description: When applicable, tickets, reservations or other means
   needed to interact with a SkiSource can often be obtained from
   ticketing agents or directly from the SkiSource organizer.

   Format Definition: The property is defined by the following notation:

        bookings        =    "BOOKINGS" bookingsparam ":" text CRLF

        bookingsparam   =    *(

                        ; the following is optional,
                        ; but MUST NOT occur more than once

                        (";" languageparam ) / (";" altrepparam ) /
                        (";" opref) / (";" nsrefparam ) /
                        (";"  itemparam )  /

                        ; the following is optional,
                        ; and MAY occur more than once

                        (";" xparam)


   Examples: The following are examples of this property:












FitzPatrick, et al.      Expires April 25, 2003                [Page 58]


Internet-Draft                   SkiCal                     October 2002


   BOOKINGS;OPREF="kop":Ticketron biljetter
   BOOKINGS;OPREF="URE":Ticketron biljetter
   BOOKINGS;ITEM="The dinner banquet";OPREF="998";ALTREP="http\
    ://www.ticket.
    com/find.asp?858789":WebTickets
   BOOKINGS;OPREF="999":At the ticket
    booth outside of the concert hall
   BOOKINGS;OPREF="R090":Telephone: +1-
    800-HOCKEYTIX
   BOOKINGS;OPREF="RIXOR":tel +46 (8) 123 456

6.4.6 Special access facilities

   Property Name: ACCESS

   Purpose: This property defines the accessibility of the SkiSource for
   persons with special needs.

   Value Type: BOOLEAN.

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.

   Description: People with disabilities and other special needs have
   much to gain from the availability of well-structured and therefore
   easily searchable information about facilities and arrangements for
   accessibility.

   SkiCal objects have a Boolean property to indicate the availability
   of handicap facilities.

   Format Definition: The property is defined by the following notation:
















FitzPatrick, et al.      Expires April 25, 2003                [Page 59]


Internet-Draft                   SkiCal                     October 2002


      access  =  "ACCESS" itemparam ":" boolean CRLF

                      ; It is RECOMMENDED that the text value be
                      ; chosen from a list, as described in
                      ; this memo.

                      ; the following is optional,
                      ; but MUST NOT occur more than once

                     (";" languageparam ) / (";"  opref )    /
                     (";" altrepparam)    / (";"  itemparam )    /
                     (";" nsrefparam )    /

              ; as soon as there is a standardized way of expressing
              ; special facilities for accessibility digitally

              ; it is RECOMMENDED that SkiCal
              ; files refer to such a file through the ALTREP mechanism.

                      *(

                       ; the following is optional,
                       ; and MAY occur more than once

                       (";" xparam)

                       )

   Example: The following are examples of this property:

   ACCESS;PRXITEM="SHO:wheelchair-ramps":TRUE
   ACCESS;PRXITEM="TT:elevator":TRUE

6.4.7 Accepted method of payment

   Property Name: PAYMETHOD

   Purpose: This property defines the accepted methods of payment for
   the SkiSource.

   Value Type: TEXT

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.




FitzPatrick, et al.      Expires April 25, 2003                [Page 60]


Internet-Draft                   SkiCal                     October 2002


   Description: This property can be used to specify the payment method
   in practice at the SkiSource.

   Format Definition: The property is defined by the following notation:

      paymethod    =    "PAYMETHOD" paymethodparam ":" text CRLF

                        ; It is RECOMMENDED that the text value be
                        ; chosen from a list, as described in
                        ; this memo.

      paymethodparam      =   *(

                        ; the following is optional,
                        ; but MUST NOT occur more than once

                        (";" altrepparam ) / (";" nsrefparam ) /
                        (";" itemparam )   / (";" opref )  /
                        ; the following is optional,
                        ; and MAY occur more than once

                        (";" xparam)

                        )

   Example: The following are examples of this property:


   PAYMETHOD;ITEM="Purchases in Excess of 15USD:VISA
   PAYMETHOD:AMEX
   PAYMETHOD:SET
   PAYMETHOD;OPREF="20020505/THISANDFUTURE":We will no longer accept per
   sonal checks.
   PAYMETHOD;NSREF="PM":BABS37.2

6.5 WHY properties

   The following properties serve as place-holders for the answers to
   TimeSpender questions about the SkiSource such as "Why should I
   attend?" and "Why would this be interesting?".

   WHY gathers promotional, instructive or informational material under
   one roof.  It is hoped that this will promote expedience.  Many
   applications will be operating in a narrow bandwidth environment;
   this is specially the case with mobile cellular phones, PDA's and
   other digiphernalia.

   By placing content which might be bulky and bandwidth consuming in a



FitzPatrick, et al.      Expires April 25, 2003                [Page 61]


Internet-Draft                   SkiCal                     October 2002


   specifically defined area of the Calendar Object, the TimeSpender as
   well as the SkiSource publisher is given greater control over
   individual property access.

   There is no property defined in RFC-2445 [3] that is directly related
   to WHY.  Though iCal publishers could use the ATTACHMENT property to
   wrap promotional material or put promotional texts into DESCRIPTION.

6.5.1 Promotion

   Property Name: PROMO

   Purpose: This property allows for the organizer of the SkiSource to
   refer to advertising material, in various forms.

   Value Type: URI

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.

   Description: This property could be a link to online versions of a
   movie trailer, a web campaign, a radio spot or a newspaper ad.

   Format Definition: The property is defined by the following notation:

      promo          =    "PROMO" promoparam ":" [ TEXT ] CRLF

      promoparam     =    *(

                     ; the following is optional,
                     ; but MUST NOT occur more than once

                     (";" altrepparam) / (";" languageparam)  /
                     (";" nsrefparam) /  (";" itemparam) /
                     ; the following is optional,
                     ; and MAY occur more than once

                     (";" xparam)

                     )

   Example: The following are examples of this property:






FitzPatrick, et al.      Expires April 25, 2003                [Page 62]


Internet-Draft                   SkiCal                     October 2002


   PROMO;ALTREP="http://www.stadsteatern.se/affischer/othello2000.gif":
    Download our poster
   PROMO;ALTREP="http://www.torget.se/kampanj/julsonger.i.huset.html"
   PROMO;LANGUAGE=en:This is going to be a great party.
    Everybody will be there. If you're not - you will regret it.

   PROMO;LANGUAGE=sv;ENCODING=QUOTED-PRINTABLE:F=F6rbundet
    firar bara 60 =E5r en g=E5ng.
   PROMO;LANGUAGE=en;ALTREP="http://www.alltomstockholm.se/reviews/12/":
    See what folks are saying about us!
   PROMO;ITEM="The Weeping Pillow";ALTREP="http://www.dn.se/literature/
    990505.html":Read the rave reviews!

6.6 WHO properties

   The following property serves as place-holders for the answers to
   user questions about the SkiSource such as; Who is responsible? Who
   is the owner? Who authorized this? What organizations are involved?

   The property defined in RFC-2445 [3] related to WHO is:

   4.8.4.2 Contact

   It is RECOMMENDED that SkiCal objects use vCards [RFC 2426] as an
   ALTREP parameter value to the CONTACT property parameter, in order to
   provide machine readability and maintain information structure when
   exchanging data.  For example, the alternate representation may
   specify either an LDAP URI pointing to an LDAP server entry or a CID
   URI pointing to a MIME body part containing a vCard for the contact.

   In addition to the property named above as defined in RFC-2445 [3], a
   SkiCal object may include the following property;

6.6.1 Control

   Property Name: CONTROL

   Purpose: This property indicates responsibilities, jurisdictions,
   ownership, and other formal or informal relationships for parties
   involved in the SkiSource.

   Value Type: TEXT.  (MAILTO)

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.



FitzPatrick, et al.      Expires April 25, 2003                [Page 63]


Internet-Draft                   SkiCal                     October 2002


   Description: To declare relationships, responsibilities and
   liabilities of formal, informal, or contractual nature amongst
   parties involved in a SkiSource or particular aspects of a SkiSource.
   The CONTROL property is used to define these responsibilities and
   jurisdictions.

   Format Definition: The property is defined by the following notation:

      control          =    "CONTROL" controlparam ":"   uri CRLF

                       ; the value MAY be a MAILTO URI, as defined
                       ; by RFC-1738.

      controlparam     =    *(

                     ; the following is optional,
                     ; but MUST NOT occur more than once


                     (";" languageparam ) / (";" cnparam )    /
                     (";" skiroleparam)   / (";" altrepparam) /
                     (";" nsrefparam )    / (";"  itemparam ) /
                     (";"  opref )    /
                       ; It is highly RECOMMENDED that SkiCal
                       ; objects actually
                       ; use the cnparam since some applications will not
                       ; bother to read the altrep'ed vCard.
                       ; the following is optional,

                       ; and MAY occur more than once
                       (";" xparam)

                       )

   Example: The following are examples of this property.

   CONTROL;PRXSKiROLE="GTN:Producer";CN=Nobelkommitten:MAILTO:
    info@nobel.se
   CONTROL;NSREF="CCCD";SKiROLE=Producer;CN=Opera house:MAILTO:
    info@opera.de
   CONTROL;PRXSKiROLE="L:OWNER";MAILTO:jean-marie@petiteville.fr
   CONTROL;PRXSKiROLE="RP:contracting agency":MAILTO:info@ematelstar.se
   CONTROL;ITEM="Cities in motion exhibition";SKiROLE="sponsor";CN=Stoc
    kholms stad:MAILTO:
    kultur@stadshuset.a.se
   CONTROL;OPREF="20030101/THISANDFUTURE";SKiROLE=in association
    with;CN=Svenska Turistforbundet:MAILTO:info@stf.se
   CONTROL;PRXSKiROLE="SKI:members-of";CN=Rotary international:MAIL



FitzPatrick, et al.      Expires April 25, 2003                [Page 64]


Internet-Draft                   SkiCal                     October 2002


    TO:rotary@rotary.org

6.7 MANAGEMENT properties

   The above SkiCal component properties all describe the SkiSource
   itself (description) and not, as is the case with many iCalendar
   component properties, the entry in a calendar user agent (CUA) or
   calendar server (CS) (self-description).

   It is possible that several, or even many calendar objects could
   refer to the same SkiSource.  Each of these calendar objects could
   have their own publisher, while the SkiSource itself has only one
   responsible authority.

   The properties defined in RFC-2445 [3] related to MANAGEMENT are:

      4.8.1.3 Classification

      4.8.1.4 Comment

      4.8.4.3 Organizer

      4.8.4.5 Related-to

      4.8.4.6 Uniform Resource Locator

      4.8.4.7 Unique Identifier

      4.8.7.1 Date/Time Created

      4.8.7.2 Date/Time Stamp

      4.8.7.3 Last Modified

      4.8.7.4 Sequence Number


6.7.1 Publisher

   Property Name: PUBLISHER

   Purpose: Describes the organization or private party publishing the
   SkiSource object.

   Value Type: URI

   Property Parameters: Non-standard property parameters can be
   specified on this property.



FitzPatrick, et al.      Expires April 25, 2003                [Page 65]


Internet-Draft                   SkiCal                     October 2002


   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.

   Description: The ORGANIZER of a SkiSource is not always the one who
   makes the information about the SkiSource publicly available.  Many
   SkiCal objects will be published by organizations or private parties
   who are not an "ORGANIZER" as defined in RFC2445.  The role of the
   publisher is sometimes referred to as 'Infomediary'.

   Format Definition: The property is defined by the following notation:

      publisher       = "PUBLISHER" publisherparam ":" mailto CRLF

      publisherparam  =    *(

                     ; the following is optional,
                     ; but MUST NOT occur more than once

                     (";" cnparam ) / (";" nsrefparam )  /
                     (";" skiroleparam)   / (";" altrepparam) /


                     ; the following is optional,
                     ; and MAY occur more than once

                     (";" xparam)

                     )

   Example: The following are examples of this property:

   PUBLISHER:mailto:info@timeout.co.uk

6.7.2 SkiCal Version

   Property Name:SKICALVER

   Property Name:SKICALVER

   Purpose: The inclusion of this property in an iCalendar object
   indicates the presence of SkiCal extensions.  At the same time this
   property specifies the identifier corresponding to the highest
   version number or the minimum and maximum range of the SkiCal
   specification that is required in order to interpret the SkiCal
   extensions.

   Value Type: TEXT




FitzPatrick, et al.      Expires April 25, 2003                [Page 66]


Internet-Draft                   SkiCal                     October 2002


   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.  This property MUST be specified by an
   iCalendar object containing any of the SkiCal extensions defined in
   this memo, but MAY only be specified once.

   Description: A value of "1.0" corresponds to this memo.

   Format Definition: The property is defined by the following notation:

        SkiCalver    = "SKICALVER" SkiCalverparam ":" vervalue CRLF

        SkiCalverparam   = *(";" xparam)

        vervalue   = "1.0"         ;This memo
                   / maxver
                   / (minver ";" maxver)

        minver     = <A IANA registered SkiCal version identifier>

        ; Minimum SkiCal version needed to parse the SkiCal extensions
        ; in the iCalendar object

        maxver     = <A IANA registered SkiCal version identifier>

        ; Maximum SkiCal version needed to parse the SkiCal extensions
        ; in the iCalendar object

   Example: The following is an example of this property:

        SKICALVER:1.0

6.7.3 Namespace

   Property Name: NAMESPACE

   Purpose: Designates a URL containing a list of values and assigns a
   prefix as a shorthand pointer to that URL.

   Value Type: URI

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or
   "VOPTIME" calendar component.



FitzPatrick, et al.      Expires April 25, 2003                [Page 67]


Internet-Draft                   SkiCal                     October 2002


   Description: For many of the properties and property parameters of
   this note, it is recommended that text values be chosen from
   authoritative lists.  This property defines a method for the
   identification and location of such a list, but it does not define
   the syntax that such a list might employ.  The inclussion of a
   NAMESPACE properery in a calendar component does not imply that a
   SkiCal parser must be able to access such a list.

   Format Definition: The property is defined by the following notation:

      namespace       =  "NAMESPACE" namespaceparam ":" uri CRLF

      namespaceparam  =  ";" "PREFIX" "=" prefix

      prefix          =  text

                         ; the following is optional,
                         ; but MUST NOT occur more than once

                         (";" languageparam ) /

                         ; the following is optional,
                         ; and MAY occur more than once

                         (";" xparam)

                         )

   Example: The following are examples of this property:

   NAMESPACE;PREFIX=SIS:"http://www.stockholmtown.se/placenames.html"
   NAMESPACE;PREFIX=A:"http://www.valuerepresentations.org/values.html"
   NAMESPACE;PREFIX=COM:"http://www.interestedparties.org/
    composers/clasical.html"
   NAMESPACE;PREFIX=TO:"http://www.timeout.com/profiles/timespenders.html"

6.7.4 Open Times

   Property Name: OPTIMES

   Purpose: Defines an OPTIMESET and assigns an id value for that set.

   Value Type: optimelist

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property CAN be specified within a "VEVENT" or



FitzPatrick, et al.      Expires April 25, 2003                [Page 68]


Internet-Draft                   SkiCal                     October 2002


   "VOPTIME" calendar component.

   Description: .

   Format Definition: The property is defined by the following notation:

      optimes       =  "OPTIMES" optimesparam ":" OPTIMESET CRLF

      optimesparam  =  ";" "ID" "=" text

   ; the OPTIMESET is defined as a value type in beginning of this memo

                         ; the following is optional,
                         ; and MAY occur more than once
                         (";" altrepparam) / (";"  itemparam ) /
                         (";" nsrefparam ) / (";" xparam)

                         )

   Example: The following is an example of this property:

   OPTIMES:<OPTIMESET ID="DEMO12"><OPTERM
    state="OPEN" range="20030225T15300Z/20030225T16300Z"/>
    </OPTIMESET>

   the OPTIMESET follows a uniform logical model.  The six value types
   can be thought of as containers of date-time values.  There is a
   hierarchal order for these containers, related to the significance of
   the date-time units running from centuries down to seconds.  This
   sort of ordering is  often referred to as the "Russian doll" model.

   OPTERM is the only container that can declare 4-digit year
   information in its range and it is at the top of the hierarchy.  An
   OPTERM value type can contain any of the other OPTIMESET value types,
   though not another OPTERM.  At the bottom of the hierarchy comes
   OPSECONDS, which can declare seconds and fractions of seconds as its
   range value, and can contain no other value-type.  This gives us six
   possible generations of containers; OPTERMS holding OPSEASONS holding
   OPDAYS holding OPHOURS holding OPMINUTES holding OPSECONDS.  But is
   possible to skip any or all but one of these.  So an OPTERM could
   contain an OPSECONDS container and nothing else or an OPMINUTES
   container could be the only member of an OPTIMESET.  When Parsing the
   OPTIMESET








FitzPatrick, et al.      Expires April 25, 2003                [Page 69]


Internet-Draft                   SkiCal                     October 2002


   The following chart shows the possible contents for each OPTIMESET
   value type

    +------------------------------------------------------------------+
    |           OPSEASONS   OPDAYS   OPHOURS   OPMINUTES   OPSECONDS   |
    |                                                                  |
    |  OPTERM     YES        YES       YES        YES        YES       |
    |  OPSEASONS             YES       YES        YES        YES       |
    |  OPDAYS                          YES        YES        YES       |
    |  OPHOURS                                    YES        YES       |
    |  OPMINUTES                                             YES       |
    |  OPSECONDS  contain no other value-type                          |
    +------------------------------------------------------------------+

   Each container has a root date-time range setting the limits for all
   values inside that container.  For example an OPTERM container with a
   range of  20040101/20041231 can contain any number of lesser
   containers each with reoccurring datetime values, but an optimeset
   parser will only be concerned with date-times falling within the year
   2004.

   The OPTERM data value is unique insomuch as it is "anchored" to the
   era of the Gregorian Calendar, Julian Date system or Network Time
   Protocol.  It does not reoccur even though several OPTERM values may
   occur as siblings in an optimese).

   What sort of information does the OPTIMESET represent and how is it
   calculated?

   For each optimeset, individual containers at the bottom of the
   heirarchy are calculated first  and then all containers are matched
   against each other.  These calculations result in one period of time
   in which one (and only one) of three conditional states can be
   derived at at any given moment.  These three states are; TRUE, FALSE,
   and UNDETERMINED.

   In the OPTIMESET logical model all times are UNDETERMINED if not
   declared in an OPTIMESET.

   The reoccurrence rules for the OPTIMESET members are as follows.

   With the exception of OPTERM, the ranges of all OPTIMESET members
   will continue to reoccur indefinently unless constrained.

   The contents of a container are constrained by the range of that
   container.

   We tend to naturally schedule reoccurences in sync with  date-time



FitzPatrick, et al.      Expires April 25, 2003                [Page 70]


Internet-Draft                   SkiCal                     October 2002


   units.  We choose for something to happen at the same time every day
   or the same day every week and so forth.  In this memo such
   reocurrences are refered to as "Date-time unit symetric".  They are
   the default reoccurence frequency of this memo.  They are as follows:


         A value type of seconds will reoccur every minute
                         Minutes                    hour
                         Hour                       day
                         weekday                    week
                         Monthday                   month
                         Yearday                    year
                         Season                     year

   But of course it is quite possible for things to reoccur with
   frequencies that do not naturally fall into the patterns above.  If
   for example a workshift was scheduled to be 6 days of work followd by
   4 days of rest, the resulting 10 day cycle would not be symetric with
   the seven day week date-time unit.  We call such reocurrences "Date-
   time unit asymetric" and such frequencies are enabled with the help
   of the CYCLE attribute.    Using CYCLE We can say for example that
   the reoccurrence range for a period of 0700/0900 hours is not days
   but rather a timespan of 22 hours - so when compared to a normal 24
   hour daily schedule the first occurence on the  the first day would
   be from  7-9 but on  the second day 5 to 7 and 3 to 5 on the third
   and so forth.  We can also use CYCLE to indicate date-time symetric
   ranges that are multiples of date-time units - such as a cycle of 7
   Years.

   Let us say that a OPSEASONS container held two OPDAYS containers
   without children.  With the container-logic atribute of the OPSEASONS
   an operator is chosen for combining the two OPDAYS containers.  The
   operators are AND, OR, XOR.  For example if the value of one opday
   was "TU,TH" and the other moday "05".

















FitzPatrick, et al.      Expires April 25, 2003                [Page 71]


Internet-Draft                   SkiCal                     October 2002


7. Security considerations

   Anybody could produce a SkiCal compliant file containing false
   information.  Calendar  publishers will need to exercise caution, or
   they may end up publishing invalid information.  Security can be
   achieved either by choosing to index SkiCal files only from trusted
   servers, or by employing a moderator who can correct or refuse
   corrupt information.  Nobody should consider information from non-
   encrypted SkiCal files 100% reliable, just as nobody SHOULD blindly
   trust printed advertisements or email.

   SkiSource organizers and publishers should be aware of legal
   implications from spreading personal information in electronic media.






































FitzPatrick, et al.      Expires April 25, 2003                [Page 72]


Internet-Draft                   SkiCal                     October 2002


8. Internationalisation and localisation

   The same Internationalization considerations apply as in all
   iCalendar applications.  See RFC-2445 section 2.3 [3].















































FitzPatrick, et al.      Expires April 25, 2003                [Page 73]


Internet-Draft                   SkiCal                     October 2002


9. Communication protocol

   The definitive method for interchanging SKiCal data between
   directories/calendars will probably be an extension to the Calendar
   Access Protocol CAP [4].  Since, as of this writing, CAP not yet
   published as an RFC, the process of extending it has not begun.
   Meanwhile, a simplistic approach is being used to synchronize
   existing SKICal databases over HTTP.

   Typically an organization wants to copy all SKICal data from certain
   SKICal databases.  In our simplistic solution we have two methods for
   this:

   1.  SKICal files are stored in a web accessible directory (which is
   basically a webpage with links to .ics files).  All files are fetched
   every time a synchronization needs to be made, they are parsed and
   all objects with a CREATED or LAST-MODIFIED value newer than the time
   of the previous synchronization are copied into the database.
   (Either automatically, or after review by an editor.)

   2.  A cgi program accepting one parameter, named 'since', returns a
   SKICal file containing all SKICal objects having a CREATED or LAST-
   MODIFIED value newer than local time 00:00:01 at the date indicated
   by the 'since' parameter.  The format of the 'since' parameter is
   YYYY-MM-DD.  (Eg.  2001-09-18 for September 18th 2001.)

   Obviously these methods are not economic, neither in terms of
   bandwidth usage or processing power.  The filtering of SKICal objects
   is left to the application since there is no way to limit your
   selection.  You might for example want to get all SKICal objects
   related to "sports".  Such selection mechanisms will appear in a
   later specification.

   In order to facilitate the creation of intelligent SKICal
   applications, though, it is RECOMMENDED that cgi export programs also
   implement the 'skuid' parameter.  A call (HTTP GET) to the cgi
   program with the 'skuid' value set should return a single SKICal
   object identified by that SKUID value, if there is such an object in
   the database.  A response other than a valid SKICal file from the cgi
   program should be interpreted as "no such object".











FitzPatrick, et al.      Expires April 25, 2003                [Page 74]


Internet-Draft                   SkiCal                     October 2002


10. Choosing values from lists

   It is RECOMMENDED that text values be chosen from "authoritative
   naming lists" whenever possible.  Doing this, the publisher will
   increase the level of machine readability and thus increase the
   accumulated global value of all iCalendar/SkiCal objects.  It is
   expected that such lists will become widely available and accessible
   online, possibly in the RDF [11] or XML-Schema format.











































FitzPatrick, et al.      Expires April 25, 2003                [Page 75]


Internet-Draft                   SkiCal                     October 2002


11. Examples

   The following is an example SkiCal file, describing an actual real
   world SkiSource as published in the Washington Post and at the web
   site of the National Chamber Orchestra:

   BEGIN:VCALENDAR
   VERSION:2.0
   SKICALVER:1.0
   PRODID:-//HandGenerated/SkiCal//NONSGML v1.0//EN
   BEGIN:VEVENT  UID:e098h99@washingtonpost.com
   SKUID:kj08988b@nationalchamberorch.org
   CATEGORIES:music,concert,classical,symphony
   CREATED:19991125
   DTSTAMP:19991125T110309Z
   SEQUENCE:1
   LAST-MODIFIED:19991125T110309Z
   SUMMARY:Handel's "Messiah" featuring the National Chamber Orchestra
   TITLE:Messiah
   DTSTART:19991217T200000
   RRULE:FREQ=DAILY;INTERVAL=1;COUNT=2
   VENUE:Indoors
   PERSONS;SKiROLE="conductor":Takao Kanayama
   PERSONS;SKiROLE="orchestra":National Symphony Orchestra
   PERSONS;SKiROLE="soloist":Heidi Grant Murphy
   PERSONS;SKiROLE="soloist":Mary Ann McCormick
   PERSONS;SKiROLE="soloist":Eric Owens
   PERSONS;SKiROLE="choir":Cantate Chamber Singers
   PERSONS;SKiROLE="choir director":Robert Shafer

   PERSONS;SKiROLE="creator":G.F.Handel
   PRICE;PRXITEM="SFT:Far side";CURRENCY=USD:17
   PRICE;PRXITEM="SFT:Side section";CURRENCY=USD:24
   PRICE;PRXITEM="SFT:Center section";CURRENCY=USD:31
   PRICE;ITEM="Discounted subscriptions available":
   PAYMETHOD:Check
   PAYMETHOD:Visa
   PAYMETHOD:Mastercard
   PAYMETHOD:American Express
   BOOKINGS:Telephone: 301/762-8580  BOOKINGS:Fax: 301-762-8581
   PROHIBITED:Children under five - no exceptions!
   URL:http://yp.washingtonpost.com/E/E/WASDC/0000/40/17/cs1.html
   WHURL:http://www.nationalchamberorch.org/seasonnext.html
   PLACENAME:F. Scott Fitzgerald Theatre
   LOCATION:F. Scott Fitzgerald Theatre, 603 Edmonton Dr., Rockville,
    Maryland, USA
   DIRECTIONS;ALTREP="http://www.parkers-place.net/rmt/fscotdir.html":
    The theatre is located in Rockville Civic Center Park, Baltimore



FitzPatrick, et al.      Expires April 25, 2003                [Page 76]


Internet-Draft                   SkiCal                     October 2002


    Road and Edmonton Drive. Call 301-309-3007 for directions.
   ACCESS;TYPE=wheelchair-ramps:TRUE
   DESCRIPTION;LANGUAGE=en:Handel's classic "Messiah" performance by
    the National Symphony Orchestra under Takao
    Kanayama, soprano Heidi Grant Murphy, mezzo-soprano Mary Ann
    McCormick, bass Eric Owens and the Cantate Chamber Singers directe
    d by Robert Shafer. This concert is a popular tradition.
   ORGANIZER;CN="National Chamber Orchestra":MAILTO:nationalchamberor
      chestra@juno.com
   CONTROL;CN="National Chamber Orchestra":MAILTO:nationalchamber
      orchestra@juno.com
   PUBLISHER;CN="Washington Post":MAILTO:info@washingtonpost.com
   CONTACT;CN="Christine Carlin,Administrator":MAILTO:nationalchamber
      orchestra@juno.com
   PROMO:http://www.nationalchamberorch.org/review"of"1st.html
   PROMO:Relax on Friday or Saturday evenings in the elegant F.
    Scott Fitzgerald Theatre concert hall, nestled among the trees and
    gardens at the Rockville Civic Center Park in Rockville, Maryland.

   END:VEVENT  END:VCALENDAR































FitzPatrick, et al.      Expires April 25, 2003                [Page 77]


Internet-Draft                   SkiCal                     October 2002


References

   [1]   Bradner, S., "The Internet Standards Process -- Revision 3",
         RFC 2026, BCP 9, October 1996.

   [2]   Bradner, S., "Key words for use in RFCs to Indicate Requirement
         Levels", RFC 2019, BCP 14, March 1997.

   [3]   Dawson, F. and D. Stenerson, "Internet Calendaring and
         Scheduling Core Object Specification - iCalendar", RFC 2445,
         November 1998.

   [4]   Mansour, S., Royer, D., Babics, G. and P. Hill, "Calendar
         Access Protocol - CAP", September 2000, <http://www.imc.org/
         draft-ietf-calsch-cap>.

   [5]   Berners-Lee, T., Fielding, M. and L. Masinter, "Uniform
         Resource Locators (URL)", RFC 1738, December 1994.

   [6]   Crocker, D. and P. Overell, "Augmented BNF for Syntax
         Specifications: ABNF", RFC 2234, November 1997.

   [7]   Crocker, D., "STANDARD FOR THE FORMAT OF ARPA INTERNET TEXT
         MESSAGES", RFC 822, August 1982.

   [8]   68, TC., "Codes for the representation of currencies and
         funds", ISO 4217, September 1990, <http://www.iso.ch/cate/
         d23132.html>.

   [9]   Alvestrand, H., "Tags for the Identification of Languages", RFC
         1766, March 1995.

   [10]  Michel, T., "Common Markup for Web Micropayment Systems", W3C
         Working Draft, June 1999, <http://www.w3.org/TR/WD-
         Micropayment-Markup/#Price>.

   [11]  Swick, R. and O. Lassila, "Resource Description Framework (RDF)
         Model and Syntax Specification", W3C RDF, February 1999,
         <http://www.w3.org/TR/REC-rdf-syntax>.

   [12]  ECMA, "Standard ECMA-262 ECMAScript Language Specification",
         ECMA 262, December 1999, <http://www.ecma.ch/ecma1/STAND/ECMA-
         262.HTM>.








FitzPatrick, et al.      Expires April 25, 2003                [Page 78]


Internet-Draft                   SkiCal                     October 2002


Authors' Addresses

   Greg FitzPatrick
   SkiCal Consortium
   V÷lundsgatan 5
   Stockholm,   SE-102 20
   SE

   Phone: +46 8 309 609
   EMail: greg.fitzpatrick@SkiCal.org
   URI:   http://www.SkiCal.org/


   P„r Lanner÷
   Metamatrix
   Scheelegatan 36
   Stockholm,   SE-112 28
   SE

   Phone: +46 8 33 20 40
   EMail: par.lannero@metamatrix.se
   URI:   http://www.metamatrix.se/


   Niklas Hjelm
   Soft Applications
   Grevgatan 34, 4tr
   Stockholm,   SE-102 04
   SE

   Phone: +46 8 555 123 00
   EMail: niklas@medialab.se
   URI:   http://www.softapplications.com/


















FitzPatrick, et al.      Expires April 25, 2003                [Page 79]


Internet-Draft                   SkiCal                     October 2002


Appendix A. Acknowledgements

   The following persons have contributed to the specification of the
   SkiCal format: Ingemar Eriksson of the Swedish Travel & Tourism
   Council, the Event Working group at Stockholm Information Service2,
   Johan Hjelm of Ericsson/W3C, Patrik Faltstrom of Tele2/Cisco, Jenny
   Pileus of the Swedish Nationwide Theatre (Riksteatern), Benny Regner
   of the National Agency for Education, Bengt Wittstrom of the Swedish
   National Board of Culture, Ulla Persson of the Swedish Sports
   Confederation, Stefan Johansson of Handikapp.se (special needs
   organizations' confederation for ICT related issues), Ingvar Hallgren
   of the Swedish Concert Institute (Rikskonserter), Stanley Almqvist of
   Crossnet AB, Daniel Bergstrom of Melody AB, Lars Aronsson of Spray
   AB, Mary Omming of Utbildningsradion (public service educational TV
   channel), NUTEK and Frank Dawson of Lotus, Doug Royer of Sun
   Microsystems, Steve Mansour of Netscape Communications, Paul B Hill
   of the MIT , Lisa Lippert of Microsoft, Patricia Egen of Egen
   consulting, and the other members of the CALSCH WG.

































FitzPatrick, et al.      Expires April 25, 2003                [Page 80]


Internet-Draft                   SkiCal                     October 2002


Full Copyright Statement

   Copyright (C) The Internet Society (2002).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.



















FitzPatrick, et al.      Expires April 25, 2003                [Page 81]


Html markup produced by rfcmarkup 1.127, available from https://tools.ietf.org/tools/rfcmarkup/