hcalendar-examples

From Microformats Wiki
Jump to navigation Jump to search

hCalendar examples

Example hCalendars.

Authors

RFC 2445 examples in hCalendar

These are 1:1 hCalendar examples for each example in RFC 2445.

Errata applied from here.

4.6.1 Event Component

The following is an example of the "VEVENT" calendar component used to represent a meeting that will also be opaque to searches for busy time:

BEGIN:VEVENT
UID:19970901T130000Z-123401@host.com
DTSTAMP:19970901T1300Z
DTSTART:19970903T163000Z
DTEND:19970903T190000Z
SUMMARY:Annual Employee Review
CLASS:PRIVATE
CATEGORIES:BUSINESS,HUMAN RESOURCES
END:VEVENT

This iCalendar event as an hCalendar:

<div class="vevent">
  <h1 class="summary">Annual Employee Review</h1>
  <div>posted on <abbr class="dtstamp" title="19970901T1300Z">September 1, 1997</abbr></div>
  <div>UID: <span class="uid">19970901T130000Z-123401@host.com</span></div>
  <div>Dates: <abbr class="dtstart" title="19970903T163000Z">Septempter 3, 1997, 16:30</abbr> -
      <abbr class="dtend" title="19970903T190000Z">19:00 UTC</abbr></div>
  <div>This meeting is <span class="class">PRIVATE</span>.</div>
  <div>Filed under:</div>
  <ul>
    <li class="category">BUSINESS</li>
    <li class="category">HUMAN RESOURCES</li>
  </ul>
</div>

This hCalendar could be displayed as:

Annual Employee Review

posted on September 1, 1997
UID: 19970901T130000Z-123401@host.com
Dates: Septempter 3, 1997, 16:30 - 19:00 UTC
This meeting is PRIVATE.
Filed under:
  • BUSINESS
  • HUMAN RESOURCES


Example 2

The following is an example of the "VEVENT" calendar component used to represent a reminder that will not be opaque, but rather transparent, to searches for busy time:

BEGIN:VEVENT
UID:19970901T130000Z-123402@host.com
DTSTAMP:19970901T1300Z
DTSTART:19970401T163000Z
DTEND:19970402T010000Z
SUMMARY:Laurel is in sensitivity awareness class.
CLASS:PUBLIC
CATEGORIES:BUSINESS,HUMAN RESOURCES
TRANSP:TRANSPARENT
END:VEVENT

This iCalendar event as an hCalendar fragment:

<div class="vevent">
  <h1 class="summary">Laurel is in sensitivity awareness class.</h1>
  <div>Posted on: <abbr class="dtstamp" title=19970901T1300Z">September 1, 1997</abbr></div>
  <div class="uid">19970901T130000Z-123402@host.com</div>
  <div>Dates: <abbr class="dtstart" title="19970401T163000Z">April 1, 1997, 16:30 UTC</abbr>-
  <abbr class="dtend" title="19970402T010000Z">April 2, 1997 01:00 UTC</abbr></div>
  <div>This event is <span class="class">public</span> and <span class="transp">transparent</span> to free/busy scheduling.</div>
  <div>Filed under:</div>
    <ul>
      <li class="category">BUSINESS</li>
      <li class="category">HUMAN RESOURCES</li>
    </ul>
</div>

This hCalendar could be displayed as:

Laurel is in sensitivity awareness class.

Posted on: September 1, 1997
19970901T130000Z-123402@host.com
Dates: April 1, 1997, 16:30 UTC- April 2, 1997 01:00 UTC
This event is public and transparent to free/busy scheduling.
Filed under:
  • BUSINESS
  • HUMAN RESOURCES

Example 3

The following is an example of the "VEVENT" calendar component used to represent an anniversary that will occur annually. Since it takes up no time, it will not appear as opaque in a search for busy time; no matter what the value of the "TRANSP" property indicates:

BEGIN:VEVENT
UID:19970901T130000Z-123403@host.com
DTSTAMP:19970901T1300Z
DTSTART:19971102
SUMMARY:Our Blissful Anniversary
CLASS:CONFIDENTIAL
CATEGORIES:ANNIVERSARY,PERSONAL,SPECIAL OCCASION
RRULE:FREQ=YEARLY
END:VEVENT

This iCalendar event as an hCalendar fragment:

<div class="vevent">
  <h1 class="summary">Our Blissful Anniversary</h1>
  <div>Posted on: <abbr class="dtstamp" title="19970901T1300Z">September 1, 1997</abbr></div>
  <div class="uid">19970901T130000Z-123403@host.com</div>
  <div>Date: <abbr class="dtstart" title="19971102">November 2, 1997</abbr></div>
  <div>This event is <span class="class">confidential</span>.</div>
  <div>Filed under:</div>
  <ul>
     <li class="category">ANNIVERSARY</li>
     <li class="category">PERSONAL</li>
     <li class="category">SPECIAL OCCASSION</li>
  </ul>
   <div class="rrule">Repeat <span class="freq">yearly</span></div>
</div>

ISSUES:

  • We have a larger discusion about RRULE that needs to be resolved, hopefully these examples will help that. --RyanKing

This hCalendar could be displayed as:

Our Blissful Anniversary

Posted on: September 1, 1997
19970901T130000Z-123403@host.com
Date: November 2, 1997
This event is confidential.
Filed under:
  • ANNIVERSARY
  • PERSONAL
  • SPECIAL OCCASSION
Repeat yearly

5. iCalendar Object Examples

The following example specifies a three-day conference that begins at 8:00 AM EDT, September 18, 1996 and end at 6:00 PM EDT, September 20, 1996.

BEGIN:VEVENT
DTSTAMP:19960704T120000Z
UID:uid1@host.com
ORGANIZER:MAILTO:jsmith@host.com
DTSTART:19960918T143000Z
DTEND:19960920T220000Z
STATUS:CONFIRMED
CATEGORIES:CONFERENCE 
SUMMARY:Networld+Interop Conference
DESCRIPTION:Networld+Interop Conference and Exhibit\nAtlanta World Congress Center\nAtlant\, Georgia
END:VEVENT

This iCalendar event as an hCalendar fragment:

<div class="vevent">
  <h1 class="summary">Networld+Interop Conference</h1>
  <div class="description">Networld+Interop Conference and Exhibit Atlanta World Congress
  Center Atlanta, Georgia</div>
  <div>Posted on: <abbr class="dtstamp" title="19960704T120000Z">July 4, 1996</abbr></div>
  <div class="uid">uid1@host.com</div>
  <div>Organized by: <a class="organizer" href="mailto:jsmith@host.com">jsmith@host.com</a></div>
  <div>Dates: <abbr class="dtstart" title="19960918T143000Z">September 18, 1996, 14:30 UTC</abbr> -
     <abbr class="dtend" title="19960920T220000Z">September 20, 1996, 22:00 UTC</abbr></div>
  <div>Status: <span class="status">CONFIRMED</span></div>
  <div>Filed under:</div>
  <ul class="categories">
     <li>CONFERENCE</li>
  </ul>
</div>

This hCalendar could be displayed as:

Networld+Interop Conference

Networld+Interop Conference and Exhibit Atlanta World Congress Center Atlanta, Georgia
Posted on: July 4, 1996
uid1@host.com
Organized by: jsmith@host.com
Dates: September 18, 1996, 14:30 UTC - September 20, 1996, 22:00 UTC
Status: CONFIRMED
Filed under:
  • CONFERENCE

Example 2

The following example specifies a group scheduled meeting that begin at 8:30 AM EST on March 12, 1998 and end at 9:30 AM EST on March 12, 1998. The "Organizer" has scheduled the meeting with one or more calendar users in a group. A time zone specification for Eastern United States has been specified.

BEGIN:VCALENDAR
PRODID:-//RDU Software//NONSGML HandCal//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:US-Eastern
BEGIN:STANDARD
DTSTART:19981025T020000
RDATE:19981025T020000
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:EST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19990404T020000
RDATE:19990404T020000
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:19980309T231000Z
UID:guid-1.host1.com
ORGANIZER;ROLE=CHAIR:MAILTO:mrbig@host.com
ATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT;CUTYPE=GROUP:MAILTO:employee-A@host.com
DESCRIPTION:Project XYZ Review Meeting
CATEGORIES:MEETING
CLASS:PUBLIC
CREATED:19980309T130000Z
SUMMARY:XYZ Project Review
DTSTART;TZID=US-Eastern:19980312T083000
DTEND;TZID=US-Eastern:19980312T093000
LOCATION:1CP Conference Room 4350
END:VEVENT
END:VCALENDAR

This iCalendar as an hCalendar:

@TODO

This hCalendar could be displayed as:

@TODO

Example 3

BEGIN:VCALENDAR
METHOD:xyz
VERSION:2.0
PRODID:-//ABC Corporation//NONSGML My Product//EN
BEGIN:VEVENT
DTSTAMP:19970324T1200Z
SEQUENCE:0
UID:uid3@host1.com
ORGANIZER:MAILTO:jdoe@host1.com
ATTENDEE;RSVP=TRUE:MAILTO:jsmith@host1.com
DTSTART:19970324T123000Z
DTEND:19970324T210000Z
CATEGORIES:MEETING,PROJECT
CLASS:PUBLIC
SUMMARY:Calendaring Interoperability Planning Meeting
DESCRIPTION:Discuss how we can test c&s interoperability\nusing iCalendar and other IETF standards.
LOCATION:LDB Lobby
ATTACH;FMTTYPE=application/postscript:ftp://xyzCorp.com/pub/conf/bkgrnd.ps
END:VEVENT
END:VCALENDAR

This iCalendar as an hCalendar:

<div class="vcalendar">
    <div>Method: <span class="method">xyz</span></div>
    <div>Version: <span class="version">2.0</span></div>
    <div>PRODID: <span class="prodid">-//ABC Corporation//NONSGML My Product//EN</span></div>
    <div class="vevent">
        <div>DTSTAMP: span class="dtstamp">19970324T1200Z</span></div>
        <div>SEQUENCE: <span class="sequence">0</span></div>
        <div>UID: <span class="uid">uid3@host1.com</span></div>
        <div>ORGANIZER: <a class="organizer" href="mailto:jdoe@host1.com">jdoe@host1.com</a></div>
        <div>ATTENDEE: <span class="attendee"><a class="value" href="mailto:jsmith@host1.com">jsmith@host1.com</a> RSVPed? <span class="rsvp">TRUE></span></div>
        <div>START TIME: <abbr class="dtstart" tite="19970324T123000Z"></abbr></div>
        <div>END TIME: <abbr class="dtend title="19970324T210000Z"></abbr></div>
        <ul class="categories">
            <li>MEETING</li>
            <li>PROJECT</li>
        </ul>
        <div>CLASS: <span class="class">PUBLIC</span></div>
        <div class="summary">Calendaring Interoperability Planning Meeting</div>
        <div class="description">Discuss how we can test c&s interoperability using iCalendar and other IETF standards.</div>
        <div class="location">LDB Lobby</div>
        <div>Attachment: <a class="attach" type="application/postscript" href="ftp://xyzCorp.com/pub/conf/bkgrnd.ps">ftp://xyzCorp.com/pub/conf/bkgrnd.ps</a></div>
    </div>
</div>

This hCalendar could be displayed as:

@TODO

Example 4

The following is an example of a to-do due on April 15, 1998. An audio alarm has been specified to remind the calendar user at noon, the day before the to-do is expected to be completed and repeat hourly, four additional times. The to-do definition has been modified twice since it was initially created.

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ABC Corporation//NONSGML My Product//EN
BEGIN:VTODO
DTSTAMP:19980130T134500Z
SEQUENCE:2
UID:uid4@host1.com
ORGANIZER:MAILTO:unclesam@us.gov
ATTENDEE;PARTSTAT=ACCEPTED:MAILTO:jqpublic@host.com
DUE:19980415T235959
STATUS:NEEDS-ACTION
SUMMARY:Submit Income Taxes
BEGIN:VALARM
ACTION:AUDIO
TRIGGER:19980403T120000
ATTACH;FMTTYPE=audio/basic:http://host.com/pub/audio-files/ssbanner.aud
REPEAT:4
DURATION:PT1H
END:VALARM
END:VTODO
END:VCALENDAR

This iCalendar as an hCalendar:

<div class="vcalendar">
    <div>VERSION: <span class="version">2.0</span></div>
    <div>PRODID: <span class="prodid">-//ABC Corporation//NONSGML My Product//EN</span></div>
    <div class="vtodo">
        <div>DTSTAMP: <span class="dtstamp">19980130T134500Z</span></div>
        <div>SEQUENCE: <span class="sequence">2</span></div>
        <div>UID: <span class="uid">uid4@host1.com</span></div>
        <div>ORGANIZER: <a class="organizer" href="mailto:unclesam@us.gov">unclesam@us.gov</a></div>
        <div>ATTENDEE: <span class="attendee"><a class="value" href="mailto:jqpublic@host.com">jqpublic@host.com</a>, <span class="partstat">ACCEPTED</span></span></div>
        <div>DUE: <abbr class="due" title="19980415T235959">April 15, 1998</abbr></div>
        <div>STATUS: <span class="status">NEEDS-ACTION</span></div>
        <div class="summary">Submit Income Taxes</div>
        <div class="valarm">
            <div>ACTION: <span class="action">AUDIO</span></div>
            <div>TRIGGER: <span class="trigger">19980403T120000</span></div>
            <div>ATTACHMENT: <a class="attach" type="audio/basic" href="http://host.com/pub/audio-files/ssbanner.aud">http://host.com/pub/audio-files/ssbanner.aud</a></div>
            <div>REPEAT: <span class="repeat">4</span></div>
            <div>DURATION: <span class="duration">PT1H</span></div>
        </div>
    </div>
</div>

This hCalendar could be displayed as:

@TODO

Example 5: journal entry

The following is an example of a journal entry.

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ABC Corporation//NONSGML My Product//EN
BEGIN:VJOURNAL
DTSTAMP:19970324T120000Z
UID:uid5@host1.com
ORGANIZER:MAILTO:jsmith@host.com
STATUS:DRAFT
CLASS:PUBLIC
CATEGORY:Project Report, XYZ, Weekly Meeting
DESCRIPTION:Project xyz Review Meeting Minutes\nAgenda\n
1. Review of project version 1.0 requirements.\n
2. Definition of project processes.\n
3. Review of project schedule.\nParticipants: John Smith, Jane Doe, Jim Dandy\n
-It was decided that the requirements need to be signed off by product marketing.\n
-Project processes were accepted.\n
-Project schedule needs to account for scheduled holidays and employee vacation time. Check with HR for specific dates.\n
-New schedule will be distributed by Friday.\n
-Next weeks meeting is cancelled. No meeting until 3/23.
END:VJOURNAL
END:VCALENDAR

(*note*: line-breaks have been added into the description, in reality it should be one line)

This iCalendar as an hCalendar:

<div class="vcalendar">
@TODO: VERSION:2.0
@TODO: PRODID:-//ABC Corporation//NONSGML My Product//EN
<div class="vjournal">
  <div>Posted at: <abbr class="dtstamp" title="19970324T120000Z">March 24, 1997, 12:00 UTC</abbr></div>
  <div class="uid">uid5@host1.com</div>
  <div>Organizer: <a class="organizer" href="mailto:jsmith@host.com">jsmith@host.com</a></div>
  <div>Status: <span class="status">DRAFT</span></div>
  <div>This journal is<span class="class">PUBLIC</span></div>
  <div>Filed under:</div>
  <ul class="category">
    <li>Project Report</li>
    <li>XYZ</li>
    <li>Weekly Meeting</li>
  </ul>
  <div class="description">DESCRIPTION:Project xyz Review Meeting Minutes<br />
    Agenda<br />
    1. Review of project version 1.0 requirements.<br />
    2. Definition of project processes.<br />
    3. Review of project schedule.<br />
    Participants: John Smith, Jane Doe, Jim Dandy<br />
    -It was decided that the requirements need to be signed off by product marketing.<br />
    -Project processes were accepted.<br />
    -Project schedule needs to account for scheduled holidays and employee vacation time. Check with HR for specific dates.<br />
    -New schedule will be distributed by Friday.<br />
    -Next weeks meeting is cancelled. No meeting until 3/23.
  </div>
</div>
</div>

This hCalendar could be displayed as:

Posted at: March 24, 1997, 12:00 UTC
uid5@host1.com
Organizer: jsmith@host.com
Status: DRAFT
This journal isPUBLIC
Filed under:
  • Project Report
  • XYZ
  • Weekly Meeting

Project xyz Review Meeting Minutes
Agenda
1. Review of project version 1.0 requirements.
2. Definition of project processes.
3. Review of project schedule.
Participants: John Smith, Jane Doe, Jim Dandy
-It was decided that the requirements need to be signed off by product marketing.
-Project processes were accepted.
-Project schedule needs to account for scheduled holidays and employee vacation time. Check with HR for specific dates.
-New schedule will be distributed by Friday.
-Next weeks meeting is cancelled. No meeting until 3/23.

Example 6. Free/Busy time

The following is an example of published busy time information. The iCalendar object might be placed in the network resource www.host.com/calendar/busytime/jsmith.ifb.

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//RDU Software//NONSGML HandCal//EN
BEGIN:VFREEBUSY
ORGANIZER:MAILTO:jsmith@host.com
DTSTART:19980313T141711Z
DTEND:19980410T141711Z
FREEBUSY:19980314T233000Z/19980315T003000Z
FREEBUSY:19980316T153000Z/19980316T163000Z
FREEBUSY:19980318T030000Z/19980318T040000Z
URL:http://www.host.com/calendar/busytime/jsmith.ifb
END:VFREEBUSY
END:VCALENDAR

This iCalendar as an hCalendar:

@TODO

This hCalendar could be displayed as:

@TODO

Other