CALSCH Working Group G. FitzPatrick Internet-Draft SkiCal Consortium Expires: June 28, 2001 P. Lannero Metamatrix N. Hjelm Soft Applications December 28, 2000 SKICal - an extension of iCalendar draft-many-ical-ski-03 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 June 28, 2001. Copyright Notice Copyright (C) The Internet Society (2000). All Rights Reserved. Abstract This Memo defines the SKICal format. SKICal is a machine-readable format suitable for enhanced white-pages directory listings, the subjects of which 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 iCalendar VEVENT components with the addition of a small number of new properties and property parameters. SKICal FitzPatrick, et. al. Expires June 28, 2001 [Page 1] Internet-Draft SKiCal December 2000 extends past the iCalendar usage domain of appointments and business meetings and addresses the commonalties and information representation needs of both producers and brokers of businesses, services, commerce, tourism, sport, culture, education etc. SKiCal users are "TimeSpenders" or TimeSpender agents seeking information about potential interactions with the SkiSources. Table of Contents 1. Reading instructions and conventions . . . . . . . . . . . 4 1.1 SKiCal Terminology . . . . . . . . . . . . . . . . . . . . 4 1.1.1 SKiSource . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1.2 List . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1.3 Publisher . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1.4 TimeSpender . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.5 Wha Interrogatives . . . . . . . . . . . . . . . . . . . . 5 1.1.5.1 WHAT . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.5.2 WHEN . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.5.3 WHERE . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.5.4 WHOW . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.5.5 WHY . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.5.6 WHO . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. SKICal specific property parameters . . . . . . . . . . . 6 2.1 Term start . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Term End . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Opening Times . . . . . . . . . . . . . . . . . . . . . . 7 2.4 Opening Times . . . . . . . . . . . . . . . . . . . . . . 8 2.5 Label . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3. SkiCal usage of ROLE property parameter . . . . . . . . . 10 3.1 Person's Role . . . . . . . . . . . . . . . . . . . . . . 10 3.2 Thing's Role . . . . . . . . . . . . . . . . . . . . . . . 11 3.3 Think's Role . . . . . . . . . . . . . . . . . . . . . . . 11 4. SKICal specific component properties . . . . . . . . . . . 13 4.1 WHAT properties . . . . . . . . . . . . . . . . . . . . . 13 4.1.1 Title . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.1.2 Persons . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.1.3 Thinks . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.1.4 Things . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.1.5 Part relationship to another SKiSource . . . . . . . . . . 20 4.2 Language used at the SKiSource . . . . . . . . . . . . . . 21 4.3 Orientation . . . . . . . . . . . . . . . . . . . . . . . 22 4.4 What URL . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.5 SKiSource Unique Identifier . . . . . . . . . . . . . . . 24 4.6 WHEN properties . . . . . . . . . . . . . . . . . . . . . 25 4.6.1 Opening times . . . . . . . . . . . . . . . . . . . . . . 25 4.7 WHERE properties . . . . . . . . . . . . . . . . . . . . . 25 4.7.1 Venue . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.7.2 Directions . . . . . . . . . . . . . . . . . . . . . . . . 27 4.7.3 Place name . . . . . . . . . . . . . . . . . . . . . . . . 28 FitzPatrick, et. al. Expires June 28, 2001 [Page 2] Internet-Draft SKiCal December 2000 4.8 WHOW (HOW) properties . . . . . . . . . . . . . . . . . . 29 4.8.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . 30 4.8.2 Recommendations . . . . . . . . . . . . . . . . . . . . . 31 4.8.3 Prohibited . . . . . . . . . . . . . . . . . . . . . . . . 32 4.8.4 Price . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.8.5 Bookings . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.8.6 Handicap facilities . . . . . . . . . . . . . . . . . . . 36 4.8.7 Accepted method of payment . . . . . . . . . . . . . . . . 37 4.9 WHY properties . . . . . . . . . . . . . . . . . . . . . . 38 4.9.1 Promotion . . . . . . . . . . . . . . . . . . . . . . . . 38 4.10 WHO properties . . . . . . . . . . . . . . . . . . . . . . 39 4.10.1 Control . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.11 MANAGEMENT properties . . . . . . . . . . . . . . . . . . 41 4.11.1 Publisher . . . . . . . . . . . . . . . . . . . . . . . . 42 5. Choosing values from lists . . . . . . . . . . . . . . . . 43 6. Security considerations . . . . . . . . . . . . . . . . . 44 7. Internationalization and localization . . . . . . . . . . 45 8. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 46 References . . . . . . . . . . . . . . . . . . . . . . . . 49 Authors' Addresses . . . . . . . . . . . . . . . . . . . . 50 A. Acknowledgements . . . . . . . . . . . . . . . . . . . . . 51 Full Copyright Statement . . . . . . . . . . . . . . . . . 52 FitzPatrick, et. al. Expires June 28, 2001 [Page 3] Internet-Draft SKiCal December 2000 1. Reading instructions and conventions This document is intended to be read alongside RFC-2445[3]. The same basic grammar and formatting conventions of iCal apply to SKiCal. For the sake of brevity, the syntax and clarifications of the properties and property parameters of RFC-2445 are not repeated in full here. The notation used in this memo is the ABNF notation of RFC-2234[5]. 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]. 1.1 SKiCal Terminology The following terms are used in this memo 1.1.1 SKiSource The word "SKiSource" is used to denote a resource existing in time and space. SkiCal can be thought of as an enhanced "white pages" directory, where the traditional descriptor fields of name, address and telephone number, have been extended with new properties. A SKiSource could be a restaurant, a clothing store, a theater, a performance at a theater, a public toilet, a service station, or any other resource that can be found today in various directories such as white-pages/yellow pages telephone directories, the entertainment section of a newspaper, or a city's catalog of public services. 1.1.2 List It is RECOMMENDED that publishers chose the terms used as TEXT type property values from authoritative lists of terms or enumerations. Those publishers who consequently use terms found in such lists will facilitate machine readability for their information. 1.1.3 Publisher The term "Publisher" is used in this memo to denote the author(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. FitzPatrick, et. al. Expires June 28, 2001 [Page 4] Internet-Draft SKiCal December 2000 1.1.4 TimeSpender The term "TimeSpender" is used in this memo to denote the end consumer 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 resource. 1.1.5 Wha Interrogatives For clarity the new properties introduced by SKiCal as well as the original properties of iCal are sorted in this memo by their function as the answers to 6 categories of queries. 1.1.5.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? 1.1.5.2 WHEN The WHEN property is the place holder for the answers to questions such as: When will it happen? When is it open? When can I go there? 1.1.5.3 WHERE The WHERE property is the place holder for the answers to questions such as: Where will it happen? Where is it located? 1.1.5.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? 1.1.5.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? 1.1.5.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 June 28, 2001 [Page 5] Internet-Draft SKiCal December 2000 2. SKICal specific property parameters The following are SKICal property parameters in addition to those defined by RFC-2445[3] 2.1 Term start Parameter Name: TERMSTART Purpose: This parameter is used to qualify properties using date and date-time values as defined in RFC 2445 - 4.3.4 Date and 4.3.5 Date-Time . Termstart declares a date when a set of access rules will become valid. Format Definition: The property parameter is defined by the following notation: termstartparam = "termstart" "=" (date-time / date) Description: Facilitates date-time values as qualifiers for auxiliary features of a SKiSource. The TERMSTART parameter indicates the start of a period for the property it is qualifying . This period might or might not be terminated by a TERMEND parameter declaration contained in the same property. Example: BOOKINGS;TERMSTART=20010313T140000Z:Tickets2go BOOKINGS;TERMSTART=20001128T143000Z:Ticketmaster BOOKINGS;TERMSTART=20001128T120000Z;TERMEND=20001201:Biljett Direkt 2.2 Term End Parameter Name: TERMEND Purpose: This parameter is used to qualify properties using date-time values as defined in RFC 2445 - 4.3.4 Date and 4.3.5 Date-Time. Termend declares a date when a set of access rules will cease to be valid. Format Definition: The property parameter is defined by the following notation: termendparam = "termend" "=" (date / date-time) Description: Facilitates date-time values as qualifiers for particular aspects of a SKiSource. The TERMEND parameter indicates the end of a period. This period might or might not have been preceded by a TERMSTART parameter declaration in the same property. FitzPatrick, et. al. Expires June 28, 2001 [Page 6] Internet-Draft SKiCal December 2000 Example: BOOKINGS;TERMEND=20011214T190000Z:The front Box-Office BOOKINGS;TERMSTART=20011104;TERMEND=20011214:The front Box-Office 2.3 Opening Times Parameter Name: OPTIME Purpose: This parameter is used to qualify properties using time values as defined in RFC 2445 - 4.3.12 Time. OPtime declares a period of time when a set of access rules will be valid. Format Definition: The property parameter is defined by the following notation: optimeparam = "OPTIME" "=" (period-explicit / period-start) period-explicit = time "/" time period-start = time "/" dur-value Description: Facilitates time values as qualifiers for particular aspects of a SKiSource. The OPTIME parameter indicates the a period of time when the property value is accesible or in a state of being "open" . If the property permits, multiple "period" values are specified by a COMMA character (US-ASCII decimal 44) separated list of values. There are two forms of a period of time. First, a period of time is identified by its start and its end. This format is expressed as the [ISO 8601] complete representation, basic format for "TIME" start of the period, followed by a SOLIDUS character (US- ASCII decimal 47), followed by the "TIME" of the end of the period. If the start of the period is of a greater value then the end of the period, 24 hours will be added to the start value in order to determine the correct period. Example 180000Z/030000Z would be calculated as starting at 18:00:00 UTC ending at 03:00:00 UTC on the following day. In this manner a period of the maximum value of (48 hours minus 1 second) can be declared A period of time can also be defined by a start and a positive duration of time. The format is expressed as the [ISO 8601] complete representation, basic format for the "TIME" start of the period, followed by a SOLIDUS character (US-ASCII decimal 47), followed by the [ISO 8601] basic format for "DURATION" of the period. Example: The period starting at 18:00:00 UTC and ending at 19:00:00 UTC on would be: 180000Z/190000Z The period start at 18:00:00 and lasting 5 hours and 30 minutes would be: 180000Z/PT5H30M By the use of the duration format it is possible to declare any concievable period of time. Example: FitzPatrick, et. al. Expires June 28, 2001 [Page 7] Internet-Draft SKiCal December 2000 BOOKINGS;TERMEND=20011214;OPTIME=130000Z/170000Z:The front Box -Office RESOURCES;OPTIME=120000Z/220000Z:Hot food RECOMMENDED;OPTIME=130000Z/150000Z,220000Z/230000Z:Avoid the c rowds for good seats LOCATION;OPTIME=220000Z/033000Z:Club Zanzibar 2.4 Opening Times Parameter Name: OPRULES Purpose: This parameter is used to qualify properties using time values as defined in RFC 2445 - 4.3.12 Time. OPRULES declares a period of time when a set of access rules will be valid. Format Definition: The property parameter is defined by the following notation: oprulesparam = (";" "BYDAY" "=" bywdaylist ) / ( ";" "BYMONTHDAY" "=" bymodaylist ) / ( ";" "BYYEARDAY" "=" byyrdaylist ) Description: Facilitates time values as qualifiers for particular aspects of a SKiSource. The OPRULES parameter works similarly to the Recurrence rules of RFC 2445 4.3.10 with the following distinctions. Frequency is limited to DAYS. The COUNT and UNTIL rules are not used. Multiple "recur" values are not allowed. With this limited set of rules the vast majority of "Opening Times" can be stated. For more complicated sets, implementors are advised to use the Recurrence Rules of RFC 2445. Since most SKiSources and their auxilary resources, probably have 2 or three "DAY" schedules it is permisible to repeat property declatrations when permisible under RFC 2445. Example: RESOURCES;BYDAY=MO,WE,FR;OPTIME=120000Z/220000Z:The Astoria Bar RESOURCES;BYDAY=TU,TH;OPTIME=160000Z/240000Z:The Astoria Bar Example: BOOKINGS;TERMEND=20011214;OPTIME=130000Z/170000Z;BYDAY=MO,TU,WE,TH, FR:The front Box-Office REQUIRED;OPTIME=180000Z/020000Z;BYDAY=SA:Evening Dress RECOMMENDED;BYMONTHDAY=24:Avoid using our ATMs on national paydays LOCATION;BYYEARDAY=1:Pasadena Rosebowl FitzPatrick, et. al. Expires June 28, 2001 [Page 8] Internet-Draft SKiCal December 2000 2.5 Label Parameter Name: LABEL Purpose: To specify the name of a specific auxiliary resource at a SKiSource. Format Definition: The property parameter is defined by the following notation: labelparam = "LABEL" "=" text Description: Facilitates names used to identify particular auxiliary aspects of a SKiSource. Example: BOOKINGS;LABEL="Reptile Room":only outside the Reptile room! RECOMMENDED;LABEL="The evening tours":Warm sweater or Jacket PROHIBITED;LABEL="During the magic show":Flash cameras BOOKINGS;LABEL="New Years Eve Dinner";TERMSTART=20001128T140000Z;T ERMEND=20001230:Biljett Direkt FitzPatrick, et. al. Expires June 28, 2001 [Page 9] Internet-Draft SKiCal December 2000 3. SkiCal usage of ROLE property parameter SKiCal extends the use of the Role Property Parameter as defined in RFC-2445 Section 4.2.16 Participation Role[3]. The following three sections illustrate the use of ROLE. 3.1 Person's Role The ROLE parameter as used with the PERSONS property Purpose: To clarify the role of a person(s) at the SKiSource. Format Definition: The property parameter is defined by the following notation: Personroleparam = "ROLE" "=" text ; It is RECOMMENDED that the text value be ; chosen from a list, as described in Section 5 ; in this memo. One example of such a list is ; given here: samplerolelist = ( "PERFORMER" / "HOSTESS" / "COMPOSER" / "CONDUCTOR" / "SALES MANAGER" / "SPECIALIST" / "EDITOR" / "PRODUCER" / "GUIDE" / "SPEAKER" / "CHAIR" / "PRESENT" / "REFERENCED" / "INVITED") Description: This parameter SHOULD be specified on the PERSONS property. The parameter declares the role of the person(s) (individual or group) named by the parameter. Example: PERSONS;ROLE=PERFORMER:Marilyn Manson PERSONS;ROLE=CREATOR: Ludwig van Beethoven PERSONS;ROLE=HOTEL MANAGER:Sylvia Barlot PERSONS;ROLE=MASTER OF CEREMONIES:Creed Bradshaw FitzPatrick, et. al. Expires June 28, 2001 [Page 10] Internet-Draft SKiCal December 2000 PERSONS;ROLE=HEAD CHEF:Henri Vialach 3.2 Thing's Role The ROLE parameter as used with the THINGS property Purpose: To clarify the role of a named thing(s) in the SKiSource. Format Definition: The property parameter is defined by the following notation: thingroleparam = "ROLE" "=" text ; It is RECOMMENDED that the text value be ; chosen from a list, as described in Section 5 ; One example of such a list is given here: samplerolelist2 = ("PRESENT" /"REFERENCED" /"FOR-SALE" /"FOR-AUCTION" /"FOR-HIRE" /"LAUNCHED" /"PREMIERED" /"DEMONSTRATED" ) ; Default is PRESENT Description: This parameter can be specified on THINGS property. The parameter declares the role of the named thing. Examples: THINGS;ROLE=PRESENT:Car models of 2001 THINGS;ROLE=FOR-SALE:Levis jeans THINGS;ROLE=LAUNCHED:Queen Mary IV THINGS;ROLE=FOR-HIRE:Golf clubs THINGS;ROLE=PRESENT:Car models of 2001 THINGS;ROLE=DEMONSTRATED:Electrolux refrigerator door computers THINGS;ROLE=FOR-AUCTION:Tiger Woods' golf caps 3.3 Think's Role The ROLE parameter as used with the THINKS property Purpose: To clarify the role of named "thinks" in the SKiSource. A FitzPatrick, et. al. Expires June 28, 2001 [Page 11] Internet-Draft SKiCal December 2000 think can be a proposal, concept, idea, theory, school of thought, campaign or any other form of a non-material abstraction. Format Definition: The property parameter is defined by the following notation: thinksroleparam = "ROLE" "=" text ; It is RECOMMENDED that the text value be ; chosen from a list, as described in Section 5 ; One example of such a list is given here: samplerolelist3 = ("STUDIED" /"REFERENCED" /"SUPPORTED" /"DEBATED" /"CRITICIZED" ) ; Default is REFERENCED Description: This parameter can be specified on the THINKS property. The parameter declares the role of the named thinks. Examples: THINKS;ROLE=STUDIED:Impressionism THINKS;ROLE=CELEBRATED:Joining the EMU THINKS;ROLE=DEBATED:Monarchy THINKS;ROLE=SUPPORTED :Children's rights THINKS;ROLE=REFERENCED:Our plan for the next Millennium THINKS;ROLE=FEATURED:The Ontologies of Cyberspace FitzPatrick, et. al. Expires June 28, 2001 [Page 12] Internet-Draft SKiCal December 2000 4. 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 skuid / whurl / publisher ; the following are optional, ; and MAY occur more than once title / persons / things / thinks / partrel / langue / orientation / directions / placename / required / recommended / prohibited / price / bookings / handicap-facilities / payment-method / promo / control ) It is RECOMMENDED that publishers chose the terms used as TEXT type property values from authoritative lists of terms. Section 5 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 are presented under the interrogative headers; "WHAT", "WHEN", "WHERE", "WHO", "WHY", and "WHOW". For example, the date when a SKiCal object describing a SKiSource is 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 SKiCal property Section 4.10.1 which would be sorted under WHO. 4.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: FitzPatrick, et. al. Expires June 28, 2001 [Page 13] Internet-Draft SKiCal December 2000 4.8.1.2 Categories - SKiCal uses Categories as stipulated in RFC2445 with one exception. It is recommended that SKICal objects, whenever there is a need for hierarchical values of the Categories property, use the Period character "." (ASCII decimal 46). as a separator between hierarchal levels as shown in the following notation. categories = "CATEGORIES" catparam ":" text *(("."/",") text) CRLF ; It is RECOMMENDED, when feasible, that the ; text value be chosen from a list, ; as described in Section 5 catparam = *( ; 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: CATEGORIES:restaurants.Chinese CATEGORIES;LANGUAGE=sv:ÈñterfȵrsÈñlare.skor CATEGORIES;LANGUAGE=en:retail.shoes CATEGORIES:music.Classical,symphonic,music CATEGORIES:automobile.service CATEGORIES;LANGUAGE=en:sport.indoor climbing CATEGORIES:public service.public toilets CATEGORIES:transportion.train station 4.8.1.12 Summary - SKiCal uses Summary as stipulated in RFC2445. Due to the additional SkiCal properties such as TITLE, PERSONS, THINGS, THINKS, it is expected that Summary be used as a short abstract describing the SKiSource rather then a general placeholder FitzPatrick, et. al. Expires June 28, 2001 [Page 14] Internet-Draft SKiCal December 2000 for text values sorting naturally under the new SKiCal properties. For example SUMMARY:Macy's once a year white sale. Up to 50% off on some items. We are featuring Cramer & Houghton bedding, Epousant pillow covers, Jantzen towels. CATEGORY:Department Store would make a crisper target for shopping agents as below TITLE:Macy's once a year white sale(c) CATEGORY:Department Store.sale THINGS;ROLE=onsale:Cramer & Houghton bedding, Epousant pillow covers, Jantzen towels, In addition to the properties named above as defined in RFC-2445[3], a SKICal object may include the following properties; 4.1.1 Title Property Name: TITLE Purpose: This property specifies the title 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" calendar component. Description: Public SKiSources often have titles . The title may not be a good SUMMARY of the SKiSource. It might be a copyrighted name that the publisher 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 Format Definition: The property is defined by the following notation: FitzPatrick, et. al. Expires June 28, 2001 [Page 15] Internet-Draft SKiCal December 2000 title = "TITLE" titleparam ":" text CRLF ; It is RECOMMENDED, when feasible, that the ; text value be chosen from a list, ; as described in Section 5 titleparam = *( ; 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: TITLE:MacDonald's TITLE:Les Miserables(c) TITLE;LANGUAGE=sv:En kvall med Victor Borge TITLE;LANGUAGE=en:One night with Victor Borge TITLE;LANGUAGE=en:Around the World in 80 Days TITLE:WWW11 4.1.2 Persons Property Name: PERSONS Purpose: To facilitate for TimeSpenders the discovery of resource-entities 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" calendar component. 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 honored, FitzPatrick, et. al. Expires June 28, 2001 [Page 16] Internet-Draft SKiCal December 2000 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 Section 5 ; of this memo. personsparam = *( ; the following is optional, ; but MUST NOT occur more than once (";" languageparam ) /(";" personroleparam ) / ; the following is optional, ; and MAY occur more than once (";" xparam) ) Example: The following are examples of this property: PERSONS;ROLE=PERFORMER:Madonna PERSONS;ROLE=COMMEMORATED:Madonna PERSONS:Victor Borge PERSONS;ROLE=Clarinetist:Woody Allen PERSONS;ROLE=PRESENT:The Queen of Spain PERSONS;ROLE=PERFORMER;LANGUAGE=sv:AIK a-laget i fotboll PERSONS;ROLE=INVITED:the Hawthorn High School class of 1982 PERSONS;ROLE=REFERENCED:Nelson Mandela PERSONS;ROLE=STUDIED:Socrates PERSONS;ROLE=HOSTESS:Martha Edwards 4.1.3 Thinks Property Name: THINKS Purpose: To facilitate for TimeSpenders the discovery of resource-entities relating to specific topics 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" FitzPatrick, et. al. Expires June 28, 2001 [Page 17] Internet-Draft SKiCal December 2000 calendar component. Description: Could be a theory, revelation, philosophy etc. This property specifies an idea, philosophy or concept, theme, discipline etc.. 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 Section 5 ; of this memo. thinksparam = *( ; the following is optional, ; but MUST NOT occur more than once (";" languageparam ) /(";" thinksroleparam ) / ; the following is optional, ; and MAY occur more than once (";" xparam) ) Example: The following is an example of this property: THINKS:World Peace THINKS;ROLE=STUDIED:Our business strategy for the new millennium THINKS;ROLE=ANALYZED:The work of George Lucas THINKS:Christianity, Buddhism THINKS:Transaction Cost Economics 4.1.4 Things Property Name: THINGS Purpose: To facilitate for TimeSpenders the discovery of resource-entities 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 FitzPatrick, et. al. Expires June 28, 2001 [Page 18] Internet-Draft SKiCal December 2000 specified on this property. Conformance: This property CAN be specified within a "VEVENT" calendar component. Description: Things pertaining to a resource-entity. For example; books, paintings, furniture, Gucci Handbags, Wrangler Jeans, famous 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 Section 5 ; of this memo. thingsparam = *( ; the following is optional, ; but MUST NOT occur more than once (";" languageparam ) /(";" thingroleparam ) / ; the following is optional, ; and MAY occur more than once (";" xparam) ) Example: The following are examples of this property: THINGS;ROLE=LECTURED-ON:German Antiques THINGS;ROLE=FOR-SALE:German Antiques THINGS;ROLE=APPRAISED:German Antiques THINGS;LANGUAGE=sv:Fritidsbatar THINGS;ROLE=LECTURED-ON:Ming Dynasty Porcelain THINGS;ROLE=SERVED:Thai cuisine THINGS;ROLE=AUCTIONED:The Vanderbilt Jewels THINGS;ROLE=REFERENCED:The holy Grail FitzPatrick, et. al. Expires June 28, 2001 [Page 19] Internet-Draft SKiCal December 2000 4.1.5 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 given as a value but rather a relevance. 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. Conformance: This property CAN be specified within a "VEVENT" calendar component. Description: This property allows for the publisher of a SKiSource to indicate that the SKiSource is related to another SKiSource, such as a festival or a package of tourist attractions. This property differs from the RELATED-TO property of RFC-2445[3], since that property 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) / ; 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@stoinfo.se> PARTREL;CN=2004 Winter Olympics:<19991202@olympic.org> PARTREL;RELTYPE=SIBLING: FitzPatrick, et. al. Expires June 28, 2001 [Page 20] Internet-Draft SKiCal December 2000 4.2 Language used at the SKiSource Property Name: LANGUE Purpose: This property specifies the main language, used at 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" calendar component. Description: Language used at the SkiSource. For example, the main language of a theatre play, the language spoken by the teacher at 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: langue = "LANGUE" langueparam ":" language CRLF langueparam = *( ; the following is optional, ; and MAY occur more than once (";" xparam) ) LANGUE = Example: The following is an example of this property: LANGUE:en,fr LANGUE:sv LANGUE;TERMSTART=20010201;TERMEND=20010204:en LANGUE;TERMSTART=20010205;TERMEND=20010209:sv FitzPatrick, et. al. Expires June 28, 2001 [Page 21] Internet-Draft SKiCal December 2000 LANGUE;TERMSTART=200000;TERMEND=205959:en LANGUE;TERMSTART=210000;TERMEND=215959:sv 4.3 Orientation Property Name: ORIENTATION Purpose: This property specifies the target audience for the SKiSource. Property Parameters: Non-standard property parameters can be specified on this property. Conformance: This property CAN be specified within a "VEVENT" calendar component. Description: This property can facilitate SKiSource discovery. It can indicate that a SKiSource has a specific target audience, or that it is somehow related to a specific cause, faith, professional group, gender, ethnic group etc. This property has a different purpose than the CATEGORIES property used in iCal. A soccer match organized by the Red Cross could still be categorized as "sport" while the orientation could be "Charity". 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: orientation = "ORIENTATION" orientationparam ":" text CRLF ; It is RECOMMENDED that the text value be ; chosen from a list, as described in Section 5 ; of this memo. orientationparam = *( ; the following is optional, ; but MUST NOT occur more than once (";" orienttypeparam ) / ; the following is optional, ; and MAY occur more than once (";" xparam) ) orienttypeparam = *(";" "ORIENTTYPE" "=" text) ; It is RECOMMENDED that the text value be FitzPatrick, et. al. Expires June 28, 2001 [Page 22] Internet-Draft SKiCal December 2000 ; chosen from a list, as described in Section 5 ; of this memo. Value Type: TEXT. Example: The following is an example of this property: ORIENTATION;ORIENTTYPE=Religious:Methodist ORIENTATION;ORIENTTYPE=DemographicsRus:Soccer Moms ORIENTATION;ORIENTTYPE=DemographicsRus:Champagne Set ORIENTATION;ORIENTTYPE=AgeGroup:Senior Citizens ORIENTATION;ORIENTTYPE=Gender:Female ORIENTATION;ORIENTTYPE=TimeOut:Gay ORIENTATION;ORIENTTYPE=Occupation:Medical 4.4 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 Property Parameters: Non-standard property parameters can be specified on this property. Conformance: This property CAN be specified within a "VEVENT" 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: FitzPatrick, et. al. Expires June 28, 2001 [Page 23] Internet-Draft SKiCal December 2000 whurl = "WHURL" whurlparam ":" uri CRLF whurlparam = *( ; the following is optional, ; and MAY occur more than once (";" xparam) ) Example: The following is an example of this property: WHURL:http://www.medianet.org/ 4.5 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. Description: This property provides a method for determining the 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[6] 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, ; and MAY occur more than once (";" xparam) ) FitzPatrick, et. al. Expires June 28, 2001 [Page 24] Internet-Draft SKiCal December 2000 Example: The following is an example of this property: SKUID:20021001T090045Z-4000F192713-0052@qwack.com 4.6 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 4.6.1 Opening times A store or a museum or a restaurant, from the point of view of a TimeSpender, is a potential SKiSource. Most businesses and services usually have rather regular opening times schedules. Opening times, which are not hard to describe in natural language can generate very complicated combinations of RRULEs, EXDATEs using RFC244d syntax. The OPENTIMES property gives publishers... 4.7 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; FitzPatrick, et. al. Expires June 28, 2001 [Page 25] Internet-Draft SKiCal December 2000 4.7.1 Venue Property Name: VENUE Purpose: This property classifies the type of physical context in 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" calendar component. Description: The venue parameter divides SKiSources into a number of distinctly different groups, which 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" calendar component. Example: The following are examples of this property: VENUE:Outdoors VENUE:TV FitzPatrick, et. al. Expires June 28, 2001 [Page 26] Internet-Draft SKiCal December 2000 4.7.2 Directions Property Name: DIRECTIONS 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" 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: directions = "DIRECTIONS" directionsparam ":" text CRLF directionsparam = *( ; the following is optional, ; but MUST NOT occur more than once (";" languageparam ) / (";" altrepparam ) / (";" travelbyparam) / (";" geo-path) / ; 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) FitzPatrick, et. al. Expires June 28, 2001 [Page 27] Internet-Draft SKiCal December 2000 ; machine readable directions ; coordinate pair sequence approaching destination Example: The following is an example of this property: DIRECTIONS;TRAVELBY=public transportation;LANGUAGE=sv:Tunnelbanes tation Globen DIRECTIONS:Rum 207, plan 2 DIRECTIONS;GEO-PATH=17.76545,59.8766,17.76532,59.8755,17.76 525,59.8726;TRAVELBY=walk:Walk the path along the lake, turn lef t after the waterfall, follow yellow signs 4.7.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. Value Type: TEXT. Property Parameters: Non-standard property parameters can be specified on this property. Conformance: This property CAN be specified within a "VEVENT" calendar component. Description: Names, which have reached a status of common knowledge among a significant portion of the populace or within a certain segment (eg. Taxi drivers). If the exact name is chosen from a naming list as discussed in this memo, section 4, 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 Section 5 ; of this memo. placeparam = *( ; the following is optional, ; but MUST NOT occur more than once (";" languageparam ) / FitzPatrick, et. al. Expires June 28, 2001 [Page 28] Internet-Draft SKiCal December 2000 ; 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 4.8 WHOW (HOW) properties WHOW properties represent possible conditions involved in interaction between a TimeSpender and a SKiSource - the conditions, rules, qualifications, economics, quirks and hindrances involved. 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 something cost? There properties defined in RFC-2445[3] that are related to WHOW are: 4.8.1.5 Description - SKiCal uses Description as stipulated in RFC2445. 4.8.1.10 Resources - SKiCal uses Resources as stipulated in RFC2445. Example: The following is an example of RESOURCES used in SKiCal: RESOURCES:Valet parking RESOURCES;TERMEND=240000:Hot food until midnight RESOURCES;TERMSTART=090000;TERMEND=170000:Members-only parking lot RESOURCES:Drinking water RESOURCES:Smokers section RESOURCES:Butane refills RESOURCES:Changing Rooms FitzPatrick, et. al. Expires June 28, 2001 [Page 29] Internet-Draft SKiCal December 2000 4.8.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" 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: requirements = "REQUIRED" requireparam ":" text CRLF ; It is RECOMMENDED that the text value be ; chosen from a list, as described in Section 5 ; of this memo. requireparam = *( ; the following is optional, ; but MUST NOT occur more than once (";" languageparam ) / (";" altrepparam ) ; the following is optional, ; and MAY occur more than once (";" xparam) ) Example: The following are examples of this property: FitzPatrick, et. al. Expires June 28, 2001 [Page 30] Internet-Draft SKiCal December 2000 REQUIRED:children must have adult accompaniment REQUIRED: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 4.8.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. Conformance: This property CAN be specified within a "VEVENT" calendar component. Description: Recommendations made by the Publisher. 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 Section 5 ; of this memo. recommendedparam = *( ; the following is optional, ; but MUST NOT occur more than once (";" languageparam ) / (";" altrepparam ) ; the following is optional, ; and MAY occur more than once FitzPatrick, et. al. Expires June 28, 2001 [Page 31] Internet-Draft SKiCal December 2000 (";" 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 4.8.3 Prohibited Property Name: PROHIBITED Purpose: This tells the TimeSpender what activities or things are PROHIBITED at 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" 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 Section 5 ; of this memo. prohibitedparam = *( ; the following is optional, ; but MUST NOT occur more than once FitzPatrick, et. al. Expires June 28, 2001 [Page 32] Internet-Draft SKiCal December 2000 (";" languageparam ) / (";" altrepparam ) ; the following is optional, ; and MAY occur more than once (";" xparam) ) Example: The following is an example of this property: PROHIBITED:minors PROHIBITED:possession of fire arms PROHIBITED:possession of cameras PROHIBITED:men 4.8.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. Conformance: This property CAN be specified within a "VEVENT" 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, we do not intend 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: price = "PRICE" priceparam ":" price CRLF priceparam = *( ; the following is optional, ; but MUST NOT occur more than once (";" languageparam ) / (";" altrepparam ) / (";" pricelabelparam) / (";" currencyparam) ; the following is optional, FitzPatrick, et. al. Expires June 28, 2001 [Page 33] Internet-Draft SKiCal December 2000 ; and MAY occur more than once (";" xparam) ) pricelabelparam = *(";" "LABEL" "=" text) ; The text value COULD be ; chosen from a list, as described in Section 5 ; of this memo. Such a list will probably ; contain words such as: ; Admission ; Breakfast ; Starting Fee ; Room ; Happy hour ; Monthly fee price = float currencyparam = "CURRENCY" "=" Example: The following are examples of this property: PRICE;LABEL=Admission:0 PRICE;LABEL=Admission;CURRENCY=SEK:135 PRICE;LABEL=Monthly subscription;CURRENCY=USD:2.75 PRICE;LABEL=Daily Lunch;CURRENCY=CHF:5.75 PRICE;LABEL=Shoe Shines;CURRENCY=USD:3.50 PRICE;LABEL=One hours ice skating;CURRENCY=GBP:7.95 PRICE;LABEL=All day parking;CURRENCY=USD:19 4.8.5 Bookings Property Name: BOOKINGS Purpose: This property defines where and when reservations or tickets for the SKiSource can be obtained. FitzPatrick, et. al. Expires June 28, 2001 [Page 34] Internet-Draft SKiCal December 2000 Value Type: TEXT. Property Parameters: Non-standard property parameters can be specified on this property. TERMSTART and TERMEND parameters SHOULD be specified to indicate when tickets are available. Conformance: This property CAN be specified within a "VEVENT" 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 ) / (";" termstartparam) / (";" termendparam) / ; the following is optional, ; and MAY occur more than once (";" xparam) ) Examples: The following are examples of this property: BOOKINGS;TERMSTART=19980313T141711Z:Ticketron biljetter BOOKINGS;TERMSTART=19991128T141711Z:Ticketro n biljetter BOOKINGS;TERMSTART=19980410;TERMEND=19980514;ALTREP="http\: //www.ticket.com/find.asp?858789":WebTickets BOOKINGS;TERMSTART=19991104:At the ticket booth outside of the concert hall BOOKINGS;TERMSTART=19991104;TERMEND=19991214:Telephone: +1- 800-HOCKEYTIX BOOKINGS;TERMEND=19990514:tel +46 (8) 123 456 FitzPatrick, et. al. Expires June 28, 2001 [Page 35] Internet-Draft SKiCal December 2000 4.8.6 Handicap facilities Property Name: HANDICAP-FACILITIES 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" calendar component. Description: People with disabilities and other special needs are among those who have the most to gain from the availability of well- structured and therefore easily searchable information about objects in the physical world. SKICal objects have a Boolean property to indicate the availability of handicap facilities. Format Definition: The property is defined by the following notation: handicap-facilities = "HANDICAP-FACILITIES" labelparam ":" boolean CRLF ; It is RECOMMENDED that the text value be ; chosen from a list, as described in Section 5 ; of this memo. ; the following is optional, ; but MUST NOT occur more than once (";" altrepparam ) ; as soon as there is a standardized way of expressing ; handicap 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 FitzPatrick, et. al. Expires June 28, 2001 [Page 36] Internet-Draft SKiCal December 2000 (";" xparam) ) Example: The following are examples of this property: HANDICAP-FACILITIES;LABEL=wheelchair-ramps:TRUE HANDICAP-FACILITIES;LABEL=elevator:TRUE 4.8.7 Accepted method of payment Property Name: PAYMENT-METHOD 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" calendar component. Description: This property can be used to specify a payment method which will be accepted at the SKiSource. Format Definition: The property is defined by the following notation: payment-method = "PAYMENT-METHOD" paymentparam ":" text CRLF ; It is RECOMMENDED that the text value be ; chosen from a list, as described in Section 5 ; of this memo. paymentparam = *( ; the following is optional, ; but MUST NOT occur more than once (";" altrepparam ) ; the following is optional, ; and MAY occur more than once (";" xparam) ) FitzPatrick, et. al. Expires June 28, 2001 [Page 37] Internet-Draft SKiCal December 2000 Example: The following are examples of this property: PAYMENT-METHOD:VISA PAYMENT-METHOD:AMEX PAYMENT-METHOD:SET PAYMENT-METHOD:Cash only 4.9 WHY properties --> The following properties serve as place-holders for the answers to user 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 browsers. By placing content which might be bulky and bandwidth consuming in a specifically defined area of the Calendar Object, the TimeSpender as well as the SKiSource publisher is given greater control in separating lightweight from heavyweight SKiCal objects. There is no property defined in RFC-2445[3] that is directly related to WHY. Though it is expected that publishers will use the ATTACHMENT property to wrap promotional material. 4.9.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" 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: FitzPatrick, et. al. Expires June 28, 2001 [Page 38] Internet-Draft SKiCal December 2000 promo = "PROMO" promoparam ":" uri CRLF promoparam = *( ; 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 is an example of this property: PROMO:http://www.stadsteatern.se/affischer/othello2000.gif PROMO:http://www.torget.se/kampanj/julsonger.i.huset.html PROMO;LANGUAGE=en:This is going to be a great party. Everyb ody 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:http://www.alltomstockholm.se/reviews/12/ PROMO:http://www.dn.se/literatur/990505.html 4.10 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 properties defined in RFC-2445[3] related to WHO are: 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 location. In addition to the property named above as defined in RFC-2445[3], a SKICal object may include the following property; FitzPatrick, et. al. Expires June 28, 2001 [Page 39] Internet-Draft SKiCal December 2000 4.10.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" calendar component. 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[4] . controlparam = *( ; the following is optional, ; but MUST NOT occur more than once (";" languageparam ) / (";" cnparam ) / (";" roleparam) ; 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) ) FitzPatrick, et. al. Expires June 28, 2001 [Page 40] Internet-Draft SKiCal December 2000 Example: The following is an example of this property: CONTROL;ROLE=Producer;CN=Nobelkommitten:MAILTO:info@nobel.se CONTROL;ROLE=Producer;CN=Opera house:MAILTO:info@opera.de CONTROL;ROLE=owner;MAILTO:jean-marie@petiteville.fr CONTROL;ROLE=contracting agency:MAILTO:info@ematelstar.se CONTROL;ROLE=sponsor;CN=Stockholms stad:MAILTO:kultur@stadshuset.a.se CONTROL;ROLE=in association with;CN=Svenska Turistforbundet:MAILTO:info@stf.se CONTROL;ROLE=members-of;CN=Rotary international:MAILTO:rotary@rotary.org 4.11 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.1.11 Status 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.5 Recurrence Component Properties 4.8.7.1 Date/Time Created 4.8.7.2 Date/Time Stamp 4.8.7.3 Last Modified FitzPatrick, et. al. Expires June 28, 2001 [Page 41] Internet-Draft SKiCal December 2000 4.8.7.4 Sequence Number 4.11.1 Publisher Property Name: PUBLISHER Purpose: Describes the organization that publishes the SKiSource object. Value Type: URI Property Parameters: Non-standard property parameters can be specified on this property. Conformance: This property CAN be specified within a "VEVENT" calendar component. Description: In the case of public SKiSources, the organizer of a SKiSource is not always the one who makes the information about the SKiSource available. Publisher is the term used to denote this person/organization. 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, ; and MAY occur more than once (";" xparam) ) Example: The following is an example of this property: PUBLISHER:mailto:info@timeout.co.uk FitzPatrick, et. al. Expires June 28, 2001 [Page 42] Internet-Draft SKiCal December 2000 5. 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[10] or other XML format. The SKICal working group is currently promoting such lists in Sweden together with Swedish national standards body STG, but the design and format of these lists are not further elaborated in this memo. One example of such a naming list is the list of words describing tourist resources, which is to be published by the European Tourist Councils. Each entry in this list has a translation into all European languages, and SKiSources using entries from this list as values of the Categories property may therefore be correctly presented in SKiSource databases all around Europe (provided that the software knows how to fetch the translation from the list). Another example is the Olson database of time zones, as mentioned in RFC-2445[3], section 4.8.3.1. FitzPatrick, et. al. Expires June 28, 2001 [Page 43] Internet-Draft SKiCal December 2000 6. Security considerations Anybody could produce a SKICal compliant file containing false information. Calendar publishers will need to be cautious, 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 June 28, 2001 [Page 44] Internet-Draft SKiCal December 2000 7. Internationalization and localization The same Internationalization considerations apply as in all iCalendar applications. See RFC-2445 section 2.3[3]. FitzPatrick, et. al. Expires June 28, 2001 [Page 45] Internet-Draft SKiCal December 2000 8. 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 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;ROLE=conductor:Takao Kanayama PERSONS;ROLE=orchestra:National Symphony Orchestra PERSONS;ROLE=soloist:Heidi Grant Murphy PERSONS;ROLE=soloist:Mary Ann McCormick PERSONS;ROLE=soloist:Eric Owens PERSONS;ROLE=choir:Cantate Chamber Singers PERSONS;ROLE=choir director:Robert Shafer PERSONS;ROLE=creator:G.F.Handel PRICE;LABEL="Far side";CURRENCY=USD:17 PRICE;LABEL="Side section";CURRENCY=USD:24 PRICE;LABEL="Center section";CURRENCY=USD:31 PRICE;LABEL="Discounted subscriptions";VALUESTATUS=AVAILABLE: PAYMENT-METHOD:Check PAYMENT-METHOD:Visa PAYMENT-METHOD:Mastercard PAYMENT-METHOD: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 theater is located in Rockville Civic Center Park, Baltimore Road and Edmonton Drive. Call 301-309-3007 for directions. FitzPatrick, et. al. Expires June 28, 2001 [Page 46] Internet-Draft SKiCal December 2000 HANDICAP-FACILITIES;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 The following is an example of a SKICal file, where all SKICal specific property names have been prefixed "X-SKI-" for iCalendar 2.0 compatibility. This example describes a canoe rental store, which can arrange guided tours. This is not a traditional event, but from the point of view of a tourist it is definitely a potential event. BEGIN:VCALENDAR VERSION:2.0 PRODID:-//HandGenerated/SKICal//NONSGML v1.0//EN BEGIN:VEVENT UID:8oi3290@gvg.se X-SKI-SKUID:9823498t-E@gvg.se CATEGORIES;LANGUAGE=sv:kanot,friluftsliv,kajak,natur,vildmark,paddlin g,camping CREATED:19990726T104030Z DTSTAMP:19990726T104030Z SEQUENCE:2 LAST-MODIFIED:19990727T103322Z SUMMARY:Kalles kanot, hyr aven ut kajaker, vid Fyrisan intill Lillbyn X-SKI-TITLE:Kalles kanot DTSTART:19991002T090000Z/PT8H30M RRULE:FREQ=WEEKLY;INTERVAL=1;TERMEND=20000524T173000Z;WKST=MO;BYDAY=MO ,TU,WE,TH,FR,SA X-SKI-VENUE:Outdoors X-SKI-THINGS;LANGUAGE=en:Canoes X-SKI-THINGS;LANGUAGE=sv:Kanoter X-SKI-THINGS;LANGUAGE=sv:Kajaker FitzPatrick, et. al. Expires June 28, 2001 [Page 47] Internet-Draft SKiCal December 2000 X-SKI-PERSONS;ROLE=GUIDE:Annika Johansson X-SKI-PRICE;CURRENCY=SEK;LABEL="Hyra per dag, exempel":200 X-SKI-PAYMENT-METHOD:VISA X-SKI-PAYMENT-METHOD:AMEX X-SKI-PLACENAME;LANGUAGE=sv:Kanothuset RESOURCES;LANGUAGE=sv:Burkmat,torrfoder X-SKI-BOOKINGS:tel +46 (18) 123 456 RESOURCES;LANGUAGE=sv:Kunder far langtidsparkera pa garden X-SKI-HANDICAP-FACILITIES;TYPE=wheelchair-ramps:FALSE URL:http://www.kanotkalle.se/ LOCATION;ALTREP=http://www.skical.org/turistradet/firman.vcf:Fyrisga tan 4\n888 88 Uppsala GEO:56.876487;18.872398 X-SKI-DIRECTIONS;TRAVELBY="public_transportation";LANGUAGE=sv:Buss 876 till station Landsglantan X-SKI-TRANSPORTATION;QUALRULE=AVAILABLE:Bus from downtown every half hour X-SKI-DIRECTIONS;TRAVELBY=car;LANGUAGE=sv:Vag 67 fran Uppsala mot Linnes Hammarby, tag av andra vagen till hoger efter korsningen med gamla Uppsalavagen, folj vagen ca 2 kilometer till an. Darefter skyltat. DESCRIPTION;LANGUAGE=sv:Vi hyr ut kanoter, kajaker, campingutrustn ing och andra tillbehor, ordnar aventyrspaddlingar och kurser. Generalagent for VikingaPaddeln. DESCRIPTION;LANGUAGE=en:We have canoes and accessories for rental, and organize wildlife guided excursions and courses. X-SKI-PROMO;LANGUAGE=sv:Kanotkalle - batar for alla vader X-SKI-PROMO;LANGUAGE=en:http://www.utsidan.se/recensioner/find.as p?87326 X-SKI-CONTROL;ALTREP=http://www.skical.org/turistradet/firman.vc f;CN="Kanotkalle AB":MAILTO:info@kanotkalle.se ORGANIZER;CN="Visit Sweden":MAILTO:info@gvg.se X-SKI-PUBLISHER;CN="Visit Sweden":MAILTO:info@gvg.se X-SKI-CONTROL;ROLE=members-of;CN="Svenska Turistforbundet":MAILTO:info@stf.se CONTACT;CN="Kalle Karlsson":kalle@kanotkalle.se END:VEVENT END:VCALENDAR FitzPatrick, et. al. Expires June 28, 2001 [Page 48] Internet-Draft SKiCal December 2000 References [1] Bradner, S.O., "The Internet Standards Process -- Revision 3", RFC 2026, BCP 9, October 1996. [2] Bradner, S.O., "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] Berners-Lee, T., Fielding, M. and L. Masinter, "Uniform Resource Locators (URL)", RFC 1738, December 1994. [5] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", RFC 2234, November 1997. [6] Crocker, D., "STANDARD FOR THE FORMAT OF ARPA INTERNET TEXT MESSAGES", RFC 822, August 1982. [7] 68, TC., "Codes for the representation of currencies and funds", ISO 4217, September 1990, . [8] Alvestrand, H., "Tags for the Identification of Languages", RFC 1766, March 1995. [9] Michel, T., "Common Markup for Web Micropayment Systems", W3C Working Draft, June 1999, . [10] Swick, R. and O. Lassila, "Resource Description Framework (RDF) Model and Syntax Specification", W3C RDF, February 1999, . [11] ECMA, , "Standard ECMA-262 ECMAScript Language Specification", ECMA 262, December 1999, . FitzPatrick, et. al. Expires June 28, 2001 [Page 49] Internet-Draft SKiCal December 2000 Authors' Addresses Greg FitzPatrick SkiCal Consortium V÷lundsgatan 5 Stockholm, SE-102 20 SE Phone: +46 8 33 20 40 EMail: greg.fitzpatrick@skical.org URI: http://www.skical.org/ Par Lannero Metamatrix Atlasgatan 8 Stockholm, SE-102 32 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.se/ FitzPatrick, et. al. Expires June 28, 2001 [Page 50] Internet-Draft SKiCal December 2000 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 Service, 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 June 28, 2001 [Page 51] Internet-Draft SKiCal December 2000 Full Copyright Statement Copyright (C) The Internet Society (2000). 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 June 28, 2001 [Page 52]