One document matched: draft-cal-resource-vcard-01.xml


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc PUBLIC '' 'http://xml.resource.org/public/rfc/rfc2629.dtd' [
<!ENTITY RFC2119 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
<!ENTITY RFC2739 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2739.xml'>
<!ENTITY RFC3339 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3339.xml'>
<!ENTITY RFC4589 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4589.xml'>
<!ENTITY RFC6350 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.6350.xml'>
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt"?>
<?rfc rfcedstyle="yes" ?>
<?rfc toc="yes"?>
<?rfc tocdepth="6"?><!-- default = 3 -->
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>

<!-- <?rfc strict="yes"?> -->
<!-- <?rfc comments="yes"?> -->
<!-- <?rfc inline="yes"?> -->

<rfc category="std" ipr='trust200902' docName='draft-cal-resource-vcard-01' xmlns:x='http://purl.org/net/xml2rfc/ext'>
  <front>
      <title abbrev="vCard for Calendar Resources">vCard representation of resources for calendaring and scheduling services</title>
      <author initials="C." surname="Joy" fullname="Ciny Joy">
          <organization abbrev="Oracle">Oracle Corporation</organization>
          <address>
              <postal>
                  <street>
                      4210 Network Circle
                  </street>
                  <city>
                      Santa Clara
                  </city>
                  <region>
                      CA
                  </region>
                  <code> 95054 </code>
                  <country>
                      USA
                  </country>
              </postal>
              <email>
                  ciny.joy@oracle.com
              </email>
              <uri>
                  http://www.oracle.com/
              </uri>
          </address>
      </author>

      <author initials="C." surname="Daboo" fullname="Cyrus Daboo">
          <organization abbrev="Apple Inc.">
              Apple Inc.
          </organization>
          <address>
              <postal>
                  <street>
                      1 Infinite Loop
                  </street>
                  <city>
                      Cupertino
                  </city>
                  <region>
                      CA
                  </region>
                  <code> 95014 </code>
                  <country>
                      USA
                  </country>
              </postal>
              <email>
                  cyrus@daboo.name
              </email>
              <uri>
                  http://www.apple.com/
              </uri>
          </address>
      </author>

      <author initials="M." surname="Douglass" fullname="Michael Douglass">
          <organization abbrev="RPI">Rensselaer Polytechnic Institute</organization>
          <address>
              <postal>
                  <street>110 8th Street</street>
                  <city>Troy</city>
                  <region>NY</region>
                  <code>12180</code>
                  <country>USA</country>
              </postal>
              <email>douglm@rpi.edu</email>
              <uri>http://www.rpi.edu/</uri>
          </address>
      </author>

      <date month='October' year='2012' />
      <area>
          Applications
      </area>

      <abstract>
          <t>
              This specification describes the vCard representation of resources for calendaring and scheduling. 
              A resource in the scheduling context is any shared entity that can be scheduled by a calendar user, but does not control its own attendance status.
          </t>
      </abstract>
  </front>

  <middle>
    <section title='Introduction'>
      <t>
        This specification defines the vCard representation of calendaring resources to ease the discovery and scheduling of resources between any calendar client and server. <vspace />
      </t>
    </section>

    <section title='Conventions Used in This Document'>
      <t>
        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 <xref target="RFC2119" />.
      </t>
    </section>

    <section title='General Considerations'>
      <t>
        Data values MUST have valid representation for the specified value type with respect to escape characters, line folding, and so on.
      </t>
    </section>

    <section title='Resource Object'>
      <t>
        A resource object definition SHOULD contain all information required to find and schedule the right resource. 
        For this, it SHOULD contain all, or a set of properties described in <xref target="res_attrs" />.  
        Additional proprietary properties may be defined as well, but MUST begin with "X-". Clients encountering properties they don't know about MUST ignore them.
      </t>
      <t>
        Properties required to contact the resource are not included in this specification. 
        vCard properties defined in <xref target="RFC6350">vCard Format Specification</xref> can be used to include additional contact information for the resource.
      </t>
    </section>

    <section title='Resource Properties' anchor="res_attrs">     
      <section title='Mandatory Properties' anchor="mandatory_attrs">
      <t>
        The following properties MUST be specified in a vCard representing a calendaring or schedulable resource:
      <list style="symbols">
      <t>FN</t>
      <t>UID</t>
      <t>KIND</t>
      <t>CALADRURI or EMAIL</t>
      </list>
      <section title="Special Notes:"> 
         <section title='KIND' anchor="res_kind">
         <t>
              Some of the possible values for the KIND property are "Location", "Individual", "Device", or "Group". <vspace />
              Location is used for any physical location resource such as room, building, etc. <vspace />
              Individual is used for a human resource such as driver, technician, etc. <vspace />
              Device is used for a computing device such as an appliance, a computer, or a network element. <vspace />
              Group is used to specify a group of resources with a specific skill set. For example: drivers, electricians, etc.
        </t>   
        </section>
        <section title='CALADRURI' anchor="res_caladr">
        <t>
            The CALADRURI value is the address that would be used by a Scheduling and Calendaring application to schedule the resource. <vspace />
            Its value MUST be a uri string, in most cases a mailto: uri. The EMAIL property value of the resource should be used for scheduling, in the absence of this property.
        </t>
        </section>
       </section>
      </t>
      </section>
      <section title='Base vCard Properties' anchor="existing_attrs">
      <t>
      The following properties defined in <xref target='RFC6350' />  or <xref target='RFC2739' /> make sense for vCards representing calendaring or schedulable resources (this list is not exhaustive, and other properties might be applicable as well):
      <section title='Scheduling Related Properties' anchor="exist_schedprops">
      <list style="symbols">
      <t>CALADRURI</t>
      </list>
      </section>
      <section title='Other Properties' anchor="exist_otherprops">
      <list style="symbols">
      <t>ADR</t>
      <t>CATEGORIES</t>
      <t>EMAIL</t>
      <t>FBURL</t>
      <t>FN</t>
      <t>KIND</t>
      <t>MEMBER</t>
      <t>NOTE</t>
      <t>NICKNAME</t>
      <t>ORG</t>
      <t>PHOTO</t>
      <t>RELATED</t>
      <t>TZ</t>
      <t>UID</t>
      </list>
      </section>
      </t>
      </section>
      <section title='New vCard Properties' anchor="new_attrs"> 
        <t>
        Format and cardinality of new vCard properties are defined as described in Section 3.3 of <xref target='RFC6350' />.
        </t> 
        <section title='Scheduling Related Properties' anchor="sched_props">
          <section title='AUTOSCHEDULE' anchor="auto">
          <list style="hanging">
            <t hangText="Purpose:"> <vspace />
              Specify if the resource is automatically scheduled with no approval process.
            </t>
           <t hangText="ValueType:"> <vspace />
              Text value. <vspace />
              <texttable>
              <preamble>Auto Schedule Values Table:</preamble>
              <ttcol align='left'>Auto schedule value</ttcol>
              <ttcol align='left'>Scheduling action</ttcol>
              <c>NONE</c>
              <c>no auto scheduling</c>
              <c>ACCEPT-IF-FREE</c>
              <c>auto accept invitations, if no conflict</c>
              <c>DECLINE-IF-BUSY</c>
              <c>auto decline invitations that result in a conflict</c>
              <c>AUTO</c>
              <c>auto accept and auto decline based on booking conflict</c>
              <c>ALWAYS-ACCEPT</c>
              <c>auto accept all invitations</c>
              <c>ALWAYS-DECLINE</c>
              <c>auto decline all invitations</c>
              </texttable>
            </t>
            <t hangText="Cardinality:"> <vspace />
                *1
              </t>
            <t hangText="ABNF:"> <vspace />
                AUTOSCHEDULE-param = "VALUE=text" / any-param <vspace />
                AUTOSCHEDULE-value = text
              </t>
            <t hangText="Default value:"> <vspace />
                If the property is absent or unknown, resource bookings are auto accepted, if it does not 
                result in a booking conflict and auto declined if it does.
            </t>
            <t hangText="Default value:"> <vspace />
                0
            </t>
            <t hangText="Example value:"> <vspace />
              0
            </t>
          </list>      
        </section>
        <section title='BOOKINGINFO' anchor="bookinfo">
          <list style="hanging">
            <t hangText="Purpose:"> <vspace />
              Provide the complete information on scheduling a resource if access rights are set
              or approval is required. 
            </t>
           <t hangText="ValueType:"> <vspace />
              URI value.
            </t>
            <t hangText="Cardinality:"> <vspace />
                *
              </t>
            <t hangText="ABNF:"> <vspace />
               BOOKINGINFO-param = "VALUE=" ("text" / "uri") / any-param <vspace />
               BOOKINGINFO-value = uri / text
              </t>
            <t hangText="Default value:"> <vspace />
                None
          </t>
            <t hangText="Example value:"> <vspace />
              http://www.example.com/room1_booking.html
            </t>
          </list>
        </section>  
      <section title='BOOKINGRESTRICTED' anchor="bookrestrict">
          <list style="hanging">
            <t hangText="Purpose:"> <vspace />
              Specify if there are restrictions to booking the resource specified by access rights in the system.
              More information is provided by the property BOOKINGINFO <xref target="bookinfo" />
            </t>
            <t hangText="ValueType:"> <vspace />
                Boolean value.
            </t>
            <t hangText="Cardinality:"> <vspace />
                *1
             </t>
            <t hangText="ABNF:"> <vspace />
                 BOOKINGRESTRICTED-param = "VALUE=boolean" / any-param <vspace />
                 BOOKINGRESTRICTED-value = boolean
            </t>
            <t hangText="Default value:"> <vspace />
                FALSE. <vspace />
                Absence of this property indicates no restriction to booking the resource.
          </t>
            <t hangText="Example value:"> <vspace />
                TRUE
            </t>
          </list>
        </section>  

      <section title='BOOKINGWINDOWSTART' anchor="bwin_start">
        <list style="hanging">
          <t hangText="Purpose:"> <vspace />
            Defines how much time in advance the resource can be booked.
          </t>
          <t hangText="ValueType:"> <vspace /> 
            Duration value. <vspace />
            The format is based on the
            <xref target="ISO.8601.2004"/>
            duration representation basic format with designators for the duration of time.
            The format can represent nominal durations (weeks and days) and accurate
            durations (hours, minutes, and seconds).
            The syntax is further defined in Appendix A, "Duration" section of <xref target='RFC3339' />.
          </t>
          <t hangText="Cardinality:"> <vspace />
             *1
            </t>
          <t hangText="ABNF:"> <vspace />
              BOOKINGWINDOWSTART-param = "VALUE=text" / any-param <vspace />
              BOOKINGWINDOWSTART-value = text
            </t>
          <t hangText="Special Notes:"> <vspace />
            The value of this property is used to calculate the earliest date and time when a resource can be reserved for an event starting on a specific date and time.<vspace />
            If this property value is defined, the resource may be booked for an event at a certain time, only if the current time is equal to or after the date and time calculated by subtracting this value from the event's proposed start time. If this property is absent, then the resource may be booked at any time before the end of the booking window.
          </t>
          <t hangText="Default value:"> <vspace />
                None
          </t>
          <t hangText="Example value:"> <vspace />
            P3M
          </t>
        </list>
      </section>
      
      <section title='BOOKINGWINDOWEND' anchor="bwin_end">
        <list style="hanging">
          <t hangText="Purpose:"> <vspace />
            Defines how much time in advance the resource booking is closed. 
          </t>
          <t hangText="ValueType:"> <vspace />
            Duration value. <vspace />
            The format is based on the
            <xref target="ISO.8601.2004"/>
            duration representation basic format with designators for the duration of time.
            The format can represent nominal durations (weeks and days) and accurate
            durations (hours, minutes, and seconds).
            The syntax is further defined in Appendix A, "Duration" section of <xref target='RFC3339' />.
          </t>
          <t hangText="Cardinality:"> <vspace />
             *1
            </t>
          <t hangText="ABNF:"> <vspace />
              BOOKINGWINDOWEND-param = "VALUE=text" / any-param <vspace />
              BOOKINGWINDOWEND-value = text
            </t>
          <t hangText="Special Notes:"> <vspace /> 
            The value of this property is used to calculate the latest date 
            and time when a resource can be reserved for an event starting on
            a specific date and time.<vspace />
            If the current time is equal to or before the value obtained by 
            subtracting  BookingWindowEnd from the start date and time of the 
            event, then the resource may be booked.  If this property is absent,
            then the resource may be booked anytime from booking window start
            to the start of the event. <vspace />           
            BookingWindow Start and End together provide the window of time a 
            resource can be booked, relative to the start time of the event.<vspace />
            <artwork>
            If BookingWindowStart = BwS,
            BookingWindowEnd = BwE,
            Current Time = CT and
            Event Start Time = ST,
            a resource can be booked at a certain time only if
            CT is equal to or after (ST - BwS) 
            and CT is equal to or before (ST - BwE)
            </artwork>
          </t>
          <t hangText="Default value:"> <vspace />
                None
          </t>
          <t hangText="Example value:"> <vspace />
            P5D
          </t>
        </list>
      </section>  
      <section title='MAXINSTANCES' anchor="max_inst">
        <list style="hanging">
          <t hangText="Purpose:"> <vspace />
            Maximum number of instances of an event, the resource can be scheduled for from NOW.
          </t>
          <t hangText="ValueType:"> <vspace />
            Integer value. <vspace />
          </t>
          <t hangText="Cardinality:"> <vspace />
              *1
           </t>
          <t hangText="ABNF:"> <vspace />
                MAXINSTANCES-param = "VALUE=integer" / any-param <vspace />
                MAXINSTANCES-value = integer
            </t>
          <t hangText="Special Notes:"> <vspace />
            Value of 0 indicates no limits. Value of 1 indicates that no recurring bookings are allowed. If this property is absent there is no limit to the number of instances it may be booked for at any moment.
          </t>
          <t hangText="Default value:"> <vspace />
                0 <vspace />
          </t>
          <t hangText="Example value:"> <vspace />
            60
          </t>
        </list>
      </section>

     <section title='MULTIBOOK' anchor="multibook">
        <list style="hanging">
          <t hangText="Purpose:"> <vspace />
            Number of simultaneous bookings allowed.
          </t>
          <t hangText="ValueType:"> <vspace />
            Integer value. <vspace />
            Value of 0 indicates no limits.
          </t>
          <t hangText="Cardinality:"> <vspace />
              *1
            </t>
          <t hangText="ABNF:"> <vspace />
              MULTIBOOK-param = "VALUE=integer" / any-param <vspace />
              MULTIBOOK-value = integer
            </t>
         <t hangText="Special Notes:"> <vspace />
            Value of 0 indicates no limits. If this property is absent the resource may be booked only for one event at a particular moment.
          </t>
          <t hangText="Default value:"> <vspace />
                1 <vspace />
          </t>
          <t hangText="Example value:"> <vspace />
            1
          </t>
        </list>
      </section> 
          
        <section title='SCHEDADMIN' anchor="schedadm_contact">
          <list style="hanging">
            <t hangText="Purpose:"> <vspace />
              Provide the contact information for the scheduling approvers, if approval required. 
            </t>
           <t hangText="ValueType:"> <vspace />
              URI value.
            </t>
            <t hangText="Cardinality:"> <vspace />
               *
              </t>
            <t hangText="ABNF:"> <vspace />
                SCHEDADMIN-param = "VALUE=" ("text" / "uri") / any-param <vspace />
                SCHEDADMIN-value = uri / text
              </t>
            <t hangText="Default value:"> <vspace />
                None
          </t>
            <t hangText="Example value:"> <vspace />
              http://www.example.com/SchedAdmin1.vcf
            </t>
          </list>
      </section>        
        </section>   
       <section title='Other Properties' anchor="otherprops">
         <section title='ACCESSIBLE' anchor="accessible">
          <list style="hanging">
            <t hangText="Purpose:"> <vspace />
              Specify if the resource is accessible to physically disabled people.
            </t>
            <t hangText="ValueType:"> <vspace />
                Boolean value.
            </t>
            <t hangText="Cardinality:"> <vspace />
                *1
             </t>
            <t hangText="ABNF:"> <vspace />
                 ACCESSIBLE-param = "VALUE=boolean" / any-param <vspace />
                 ACCESSIBLE-value = boolean
            </t>
            <t hangText="Default value:"> <vspace />
                FALSE. <vspace />
          </t>
            <t hangText="Example value:"> <vspace />
                TRUE
            </t>
          </list>
        </section>

      <section title='ACCESSIBILITYINFO' anchor="access">
        <list style="hanging">
          <t hangText="Purpose:"> <vspace />
            Specify special resource accessibility info for the physically disabled people.
          </t>
          <t hangText="ValueType:"> <vspace />
            URI or text value.
          </t>
          <t hangText="Cardinality:"> <vspace />
              *
            </t>
          <t hangText="ABNF:"> <vspace />
              ACCESSIBILITYINFO-param = "VALUE=" ("text" / "uri") / any-param <vspace />
              ACCESSIBILITYINFO-value = URI / text
          </t>
          <t hangText="Default value:"> <vspace />
                None
          </t>
          <t hangText="Example value:"> <vspace />
              http://www.example.com/room1_specialaccess.html
          </t>
        </list>
      </section>
      <section title='CAPACITY' anchor="capacity">
        <list style="hanging">
          <t hangText="Purpose:"> <vspace />
            Provide information on the capacity of the resource.
          </t>
          <t hangText="ValueType:"> <vspace />
            Integer.
          </t>
          <t hangText="Cardinality:"> <vspace />
             *1
            </t>
           <t hangText="ABNF:"> <vspace />
              CAPACITY-param = "VALUE=integer" / any-param <vspace />
              CAPACITY-value = integer
            </t>
          <t hangText="Default value:"> <vspace />
                None
          </t>
          <t hangText="Example value:"> <vspace />
            10
          </t>
        </list>              
      </section>           
        <section title='INVENTORYLIST' anchor="inventorylist">
          <list style="hanging">
            <t hangText="Purpose:"> <vspace />
              List other resources available as part of this resource.
            </t>
            <t hangText="ValueType:"> <vspace />
              String value. 
              One or more text values separated by a COMMA character (ASCII decimal 44).
            </t>
            <t hangText="Cardinality:"> <vspace />
                *
              </t>
            <t hangText="ABNF:"> <vspace />
              INVENTORYLIST-param = "VALUE=text" / any-param <vspace />
              INVENTORYLIST-value = text
            </t>
            <t hangText="Default value:"> <vspace />
                None
          </t>
            <t hangText="Example value:"> <vspace />
              Printer
            </t>
          </list>      
        </section>
        <section title='INVENTORYURL' anchor="inventoryurl">
          <list style="hanging">
            <t hangText="Purpose:"> <vspace />
                Provide URL pointing to information on other related resources.
            </t>
            <t hangText="ValueType:"> <vspace />
                URI value.
            </t>
             <t hangText="Cardinality:"> <vspace />
               *
            </t>
           <t hangText="ABNF:"> <vspace />
               INVENTORYURL-param = "VALUE=uri" / any-param <vspace />
               INVENTORYURL-value = uri
              </t>
           <t hangText="Special Notes:"> <vspace />
                URL pointing to information on other resources available as part of this resource.
            </t>
            <t hangText="Default value:"> <vspace />
                None
          </t>
            <t hangText="Example value:"> <vspace />
                http://www.example.com/room1_inventory.html
            </t>
          </list>
      </section>  
      <section title='LOCATIONTYPE' anchor="locationtype">
        <list style="hanging">
          <t hangText="Purpose:"> <vspace />
            Provide more information on the type of a LOCATION resource.
          </t>
          <t hangText="ValueType:"> <vspace />
            Text. <vspace />
            The value SHOULD be one of the values defined in <xref target='RFC4589' />
          </t>
          <t hangText="Cardinality:"> <vspace />
             *
            </t>
           <t hangText="ABNF:"> <vspace />
              LOCATIONTYPE-param = "VALUE=text" / any-param <vspace />
              LOCATIONTYPE-value = text
            </t>
          <t hangText="Default value:"> <vspace />
                None
          </t>
          <t hangText="Example value:"> <vspace />
            office
          </t>
        </list> 
      </section>                 
      <section title='RESOURCEMANAGER' anchor="manager">
        <list style="hanging">
          <t hangText="Purpose:"> <vspace />
            Pointer to the managers of the resource.
          </t>
         <t hangText="ValueType:"> <vspace />
            URI value.
          </t>
          <t hangText="Cardinality:"> <vspace />
              *
            </t>
          <t hangText="ABNF:"> <vspace />
              RESOURCEMANAGER-param = "VALUE=" ("text" / "uri") / any-param <vspace />
              RESOURCEMANAGER-value = uri / text
            </t>
          <t hangText="Special Notes:"> <vspace />
            A manager is someone responsible for the day-to-day up keep of the resource. 
          </t>
          <t hangText="Default value:"> <vspace />
                None
          </t>
          <t hangText="Example value:"> <vspace />
            http://www.example.com/room1_manager.vcf
          </t>
        </list>
      </section> 
      <section title='RESOURCEOWNER' anchor="owner">
        <list style="hanging">
          <t hangText="Purpose:"> <vspace />
            Pointer to the owners of the resource. 
          </t>
          <t hangText="ValueType:"> <vspace />
            URI value.
          </t>
          <t hangText="Cardinality:"> <vspace />
             *
            </t>
          <t hangText="ABNF:"> <vspace />
              RESOURCEOWNER-param = "VALUE=" ("text" / "uri") / any-param <vspace />
              RESOURCEOWNER-value = uri / text
            </t>
          <t hangText="Special Notes:"> <vspace />
            An owner is anyone who has complete authority over the resource, from naming to overall availability. 
          </t>
          <t hangText="Default value:"> <vspace />
                None
          </t>
          <t hangText="Example value:"> <vspace />
            http://www.example.com/room1_owner.vcf
          </t>
        </list>
      </section>
      <section title='RESTRICTED' anchor="restrict">
          <list style="hanging">
            <t hangText="Purpose:"> <vspace />
              Specify if there are restrictions to physically accessing the resource. For example locked doors, or other barriers.
            </t>
            <t hangText="ValueType:"> <vspace />
                Boolean value.
            </t>
            <t hangText="Cardinality:"> <vspace />
                *1
             </t>
            <t hangText="ABNF:"> <vspace />
                 RESTRICTED-param = "VALUE=boolean" / any-param <vspace />
                 RESTRICTED-value = boolean
            </t>
            <t hangText="Default value:"> <vspace />
                FALSE. <vspace />
                Absence of this property indicates no restriction to physically accessing the resource.
          </t>
            <t hangText="Example value:"> <vspace />
                TRUE
            </t>
          </list>
        </section>  
        <section title='RESTRICTEDACCESSINFO' anchor="restrictaccess_info">
        <list style="hanging">
          <t hangText="Purpose:"> <vspace />
            Specify extra information on physically accessing resources that have restrictions. For example where to pick up keys to a locked resource.
          </t>
          <t hangText="ValueType:"> <vspace />
            URI or text value.
          </t>
          <t hangText="Cardinality:"> <vspace />
              *
            </t>
          <t hangText="ABNF:"> <vspace />
              RESTRICTEDACCESSINFO-param = "VALUE=" ("text" / "uri") / any-param <vspace />
              RESTRICTEDACCESSINFO-value = URI / text
          </t>
          <t hangText="Default value:"> <vspace />
                None
          </t>
          <t hangText="Example value:"> <vspace />
              http://www.example.com/room1_entryinfo.html
          </t>
        </list>
      </section>          
        <section title='NOCOST' anchor="free">
          <list style="hanging">
            <t hangText="Purpose:"> <vspace />
              Specify if there is a cost associated with using the resource.
            </t>
            <t hangText="ValueType:"> <vspace />
              Boolean value.
            </t>
            <t hangText="Cardinality:"> <vspace />
                *1
              </t>
           <t hangText="ABNF:"> <vspace />
              NOCOST-param = "VALUE=boolean" / any-param <vspace />
              NOCOST-value = boolean
              </t>
           <t hangText="Special Notes:"> <vspace />
              If this property is absent, it indicates that the resource may be booked free of cost.
            </t>
            <t hangText="Default value:"> <vspace />
                TRUE <vspace />
          </t>
            <t hangText="Example value:"> <vspace />
              TRUE
            </t>
          </list>
        </section>
        
        <section title='COSTINFO' anchor="cost_url">
          <list style="hanging">
            <t hangText="Purpose:"> <vspace />
              Provide the URL pointing to complete pricing information for usage of the resource.
            </t>
           <t hangText="ValueType:"> <vspace />
              URI value.
            </t>
            <t hangText="Cardinality:"> <vspace />
               *
              </t>
            <t hangText="ABNF:"> <vspace />
              COSTINFO-param = "VALUE=" ("text" / "uri") / any-param <vspace />
                COSTINFO-value = uri / text
              </t>
            <t hangText="Default value:"> <vspace />
                None
          </t>
            <t hangText="Example value:"> <vspace />
              http://www.example.com/cost.html
            </t>
          </list>
      </section>
     </section>
   </section>
</section>
    <section title='Examples'>    
      <section title='Location Resource'>
        <t>
<artwork>
BEGIN:VCARD
VERSION:4.0
UID:urn:uuid:room1-id
KIND: location
LOCATIONTYPE: classroom
FN: Room One
ORG: Engineering
NICKNAME: The One
NOTE: Room 1 in Engineering Building X
CATEGORIES: rooms, engineering_resources
BOOKINGRESTRICTED: TRUE
BOOKINGINFO: http://www.example.com/room1_booking.html
ACCESSIBLE: TRUE
ACCESSIBILITYINFO: http://www.example.com/room1_disabledaccess.html
CAPACITY: 100
INVENTORYLIST: phone, projector
INVENTORYURL: http://www.example.com/room1_inventory.html
RESOURCEOWNER: http://www.example.com/ResOwner1.vcf
RESOURCEMANAGER: http://www.example.com/ResManager1.vcf
CAPURI: http://www.example.com/calendar/home/Room1/calendar/
FBURL: http://www.example.com/freebusy/home/Room1/ 
CALADRURI: mailto:room1@example.com
TZ: America/Los_Angeles
MULTIBOOK: 1
MAXINSTANCES: 10
BOOKINGWINDOWSTART:P3M
BOOKINGWINDOWEND: P3D
AUTOSCHEDULE: AUTO
SCHEDADMIN: http://www.example.com/SchedAdmin1.vcf
RESTRICTED: TRUE
RESTRICTEDACCESSINFO: http://www.example.com/room1_specialaccess.html
NOCOST: FALSE
COSTINFO: http://www.example.com/cost.html
END:VCARD
</artwork>
        </t>
      </section>
      
      <section title='Role Resources Group'>
        <t>
<artwork>
BEGIN:VCARD
VERSION:4.0
UID:urn:uuid:driverXPool-id
KIND: group
FN: Driver X Pool
ORG: Transportation
NICKNAME: The X Group
NOTE: Drivers in the Transportation department driver pool X
CATEGORIES: drivers
MEMBER:urn:uuid:driver1-id
MEMBER:urn:uuid:driver2-id
MEMBER:urn:uuid:driver3-id
RESOURCEOWNER: http://www.example.com/DriversManager.vcf
FBURL: http://www.example.com/freebusy/home/DriversX/ 
CALADRURI: mailto:driversX@example.com
TZ: America/Los_Angeles
MULTIBOOK: 3
MAXINSTANCES: 10
BOOKINGWINDOWSTART:P3M
BOOKINGWINDOWEND: P3D
AUTOSCHEDULE: NONE
BOOKINGINFO: http://www.example.com/driversX_approval.html
SCHEDADMIN: http://www.example.com/DriversX_SchedAdmin.vcf
NOCOST: FALSE
COSTINFO: http://www.example.com/driversXcost.html
END:VCARD
</artwork>
        </t>
      </section>
s  </section>

  <section title="Security Considerations" anchor="SECURITY_CONSIDERATIONS">
    <t>
      As this document only defines schema for representing resource information 
      for calendaring and scheduling and does not refer to the actual storage 
      mechanism itself, or the calendaring and scheduling protocol,
      no special security considerations are required as part of this document.
    </t> 
  </section><!-- SECURITY_CONSIDERATIONS -->

  <section title='IANA Considerations' anchor ='iana_registry'>
   <section title='VCard Property and Value Registration'>
    <t>
      The following new VCard Properties need to be registered by IANA.
    </t>
    <texttable>
      <preamble>New VCard Properties Table:</preamble>
      <ttcol align='left'>VCard Property Name</ttcol>
      <ttcol align='left'>VCard Property Definition</ttcol>
     
      <c>ACCESSIBLE</c>
      <c><xref target="accessible" /></c>

      <c>ACCESSIBILITYINFO</c>
      <c><xref target="access" /></c>

      <c>AUTOSCHEDULE</c>
      <c><xref target="auto" /></c>

      <c>BOOKINGINFO</c>
      <c><xref target="bookinfo" /></c>

      <c>BOOKINGRESTRICTED</c>
      <c><xref target="bookrestrict" /></c>

      <c>BOOKINGWINDOWSTART</c>
      <c><xref target="bwin_start" /></c>

      <c>BOOKINGWINDOWEND</c>
      <c><xref target="bwin_end" /></c>

      <c>CAPACITY</c>
      <c><xref target="capacity" /></c>

      <c>COSTINFO</c>
      <c><xref target="cost_url" /></c>

      <c>INVENTORYLIST</c>
      <c><xref target="inventorylist" /></c>

      <c>INVENTORYURL</c>
      <c><xref target="inventoryurl" /></c>

     <c>LOCATIONTYPE</c>
      <c><xref target="locationtype" /></c>

      <c>MAXINSTANCES</c>
      <c><xref target="max_inst" /></c>

      <c>MULTIBOOK</c>
      <c><xref target="multibook" /></c>

      <c>NOCOST</c>
      <c><xref target="free" /></c>

      <c>RESOURCEMANAGER</c>
      <c><xref target="manager" /></c>

      <c>RESOURCEOWNER</c>
      <c><xref target="owner" /></c>

      <c>SCHEDADMIN</c>
      <c><xref target="schedadm_contact" /></c>

      <c>RESTRICTED</c>
      <c><xref target="restrict" /></c>

      <c>RESTRICTEDACCESSINFO</c>
      <c><xref target="restrictaccess_info" /></c>
   </texttable>

   </section>
 </section>

<section title='Recommendations for Calendaring Systems'>
    <t> While this document does not mandate how each of the defined property values must be used by calendaring systems, here are some recommendations:</t>
<list style="numbers">
    <t>BOOKINGWINDOWSTART (<xref target="bwin_start" />), BOOKINGWINDOWEND (<xref target="bwin_end" />), and MULTIBOOK (<xref target="multibook" />) information should be used in freebusy calculations. 
     A query for a time slot that falls outside the booking window or one that already has the maximum allowed number of simultaneous bookings, MUST be returned as BUSY_UNAVAILABLE.</t>
    <t>Calendaring systems that support the AUTOSCHEDULE (<xref target="auto" />) property, SHOULD automatically mark the attendee PARTSTAT for a resource as ACCEPTED, if its auto schedule value is TRUE and the scheduling is successful. If owner approval is required, the PARTSTAT could be automatically marked as TENTATIVE. Rooms SHOULD have this property defined.</t>
    <t>Information like CAPACITY (<xref target="capacity" />) can be used by calendaring systems to warn end users if the number of attendees exceed the capacity value. Rooms SHOULD have CAPACITY defined.</t> 
</list>
    <t>Individual calendar servers may regard the values of these properties set in a directory server or a different database as advisory and could further limit what it allows. </t>
</section>

  <section title='Acknowledgments'>
    <t>
      This specification is a result of discussions that took place within the Calendaring and Scheduling Consortium's Resource Technical Committee. The authors thank the participants of that group, and specifically the following individuals for contributing their ideas and support: Arnaud Quillaud, Adam Lewenberg, Andrew Laurence, Guy Stalnaker, Mimi Mugler, Dave Thewlis, Bernard Desruisseaux, Alain Petit, Andrew Sciberras, and Jason Miller.
    </t>
  </section>
  <section title='Unresolved Issues'>
  <t>
	Defining finer granularity of resource KIND - A schedulable resource might not exactly correspond to a specific one in the list of pre-defined values for KIND. Question is how to convey the additional information. Possibilities are extending KIND values to include all combinations, defining an objectclass model where an object is built out of many pre-defined KINDs, or defining standard parameter extensions to KIND to include more information.
  </t>
  <t>
	Defining RESOURCETYPE - For a location resource, a new property LOCATIONTYPE was added to provide more information. Are similar new properties required for non-location resources? Or do we need a generic RESOURCETYPE property with a set of predefined values?
  </t>
  </section>
</middle>

<back>
  <references title='Normative References'>
    &RFC2119;
    &RFC2739;
    &RFC3339;
    &RFC4589;
    &RFC6350;

    <reference anchor="ISO.8601.2004">
      <front>
        <title>
          Data elements and interchange formats --
          Information interchange --
          Representation of dates and times
        </title>
        <author>
          <organization>
            International Organization for Standardization
          </organization>
        </author>
        <date year="2004"/>
      </front>
    </reference><!-- ISO.8601.2004-->
  </references>
</back>

</rfc>

PAFTECH AB 2003-20262026-04-23 14:27:37