TOC 
Network Working GroupC. Joy
Internet-DraftOracle
Expires: November 1, 2010C. Daboo
 Apple Inc.
 M. Douglass
 RPI
 April 30, 2010


Schema for representing resources for calendaring and scheduling services
draft-cal-resource-schema-00

Abstract

       This specification describes a schema for representing 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.      

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.

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.”

This Internet-Draft will expire on November 1, 2010.

Copyright Notice

Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.



Table of Contents

1.  Introduction
2.  Conventions Used in This Document
3.  Resource Object
    3.1.  LDAP Resource ObjectClass Definition
4.  Resource Attributes
    4.1.  Resource Kind
        4.1.1.  LDAP Attribute Definition
        4.1.2.  VCard Property Definition
    4.2.  Unique ID
        4.2.1.  LDAP Attribute Definition
        4.2.2.  VCard Property Definition
    4.3.  Common Name
        4.3.1.  LDAP Attribute Definition
        4.3.2.  VCard Property Definition
    4.4.  Nick Name
        4.4.1.  LDAP Attribute Definition
        4.4.2.  VCard Property Definition
    4.5.  Description
        4.5.1.  LDAP Attribute Definition
        4.5.2.  VCard Property Definition
    4.6.  Organizational Unit
        4.6.1.  LDAP Attribute Definition
        4.6.2.  VCard Property Definition
    4.7.  Categories
        4.7.1.  LDAP Attribute Definition
        4.7.2.  VCard Property Definition
    4.8.  Group Member
        4.8.1.  LDAP Attribute Definition
        4.8.2.  VCard Property Definition
    4.9.  Admittance Info
        4.9.1.  LDAP ObjectClass Definition
        4.9.2.  Restricted Access
            4.9.2.1.  LDAP Attribute Definition
            4.9.2.2.  VCard Property Definition
        4.9.3.  Admittance Info URL
            4.9.3.1.  LDAP Attribute Definition
            4.9.3.2.  VCard Property Definition
    4.10.  Accessibility
        4.10.1.  LDAP Attribute Definition
        4.10.2.  VCard Property Definition
    4.11.  Capacity
        4.11.1.  LDAP Attribute Definition
        4.11.2.  VCard Property Definition
    4.12.  Inventory Info
        4.12.1.  LDAP ObjectClass Definition
        4.12.2.  Inventory List
            4.12.2.1.  LDAP Attribute Definition
            4.12.2.2.  VCard Property Definition
        4.12.3.  Inventory URL
            4.12.3.1.  LDAP Attribute Definition
            4.12.3.2.  VCard Property Definition
    4.13.  Owner Info
        4.13.1.  LDAP Attribute Definition
        4.13.2.  VCard Property Definition
    4.14.  Resource Manager Info
        4.14.1.  LDAP Attribute Definition
        4.14.2.  VCard Property Definition
    4.15.  Calendar URL
        4.15.1.  LDAP Attribute Definition
        4.15.2.  VCard Property Definition
    4.16.  FreeBusy URL
        4.16.1.  LDAP Attribute Definition
        4.16.2.  VCard Property Definition
    4.17.  Scheduling Address
        4.17.1.  LDAP Attribute Definition
        4.17.2.  VCard Property Definition
    4.18.  Time Zone
        4.18.1.  LDAP Attribute Definition
        4.18.2.  VCard Property Definition
    4.19.  Multiple Bookings
        4.19.1.  LDAP Attribute Definition
        4.19.2.  VCard Property Definition
    4.20.  Maximum Instances
        4.20.1.  LDAP Attribute Definition
        4.20.2.  VCard Property Definition
    4.21.  BookingWindow Start
        4.21.1.  LDAP Attribute Definition
        4.21.2.  VCard Property Definition
    4.22.  BookingWindow End
        4.22.1.  LDAP Attribute Definition
        4.22.2.  VCard Property Definition
    4.23.  Scheduling Approval Info
        4.23.1.  LDAP ObjectClass Definition
        4.23.2.  Auto accept
            4.23.2.1.  LDAP Attribute Definition
            4.23.2.2.  VCard Property Definition
        4.23.3.  Approval Info URL
            4.23.3.1.  LDAP Attribute Definition
            4.23.3.2.  VCard Property Definition
        4.23.4.  Scheduling Admin Contact
            4.23.4.1.  LDAP Attribute Definition
            4.23.4.2.  VCard Property Definition
    4.24.  Cost
        4.24.1.  LDAP ObjectClass Definition
        4.24.2.  Free
            4.24.2.1.  LDAP Attribute Definition
            4.24.2.2.  VCard Property Definition
        4.24.3.  Cost URL
            4.24.3.1.  LDAP Attribute Definition
            4.24.3.2.  VCard Property Definition
    4.25.  ResourceNotes
        4.25.1.  LDAP Attribute Definition
        4.25.2.  VCard Property Definition
5.  Examples
    5.1.  LDAP Examples
        5.1.1.  Location Resource
        5.1.2.  Role Resources Group
    5.2.  VCard Examples
        5.2.1.  Location Resource
        5.2.2.  Role Resources Group
6.  Security Considerations
7.  IANA Considerations
8.  Acknowledgments
9.  Normative References




 TOC 

1.  Introduction

        This specification defines a schema for representing resources to ease the discovery and scheduling of resources between any calendar client and server.
        The Object model chosen is the lowest common denominator to adapt for LDAP.      



 TOC 

2.  Conventions Used in This Document

       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 [RFC2119] (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.).      



 TOC 

3.  Resource Object

   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 the attributes described in Section 4 (Resource Attributes).    Resource Kind, described in Section 4.1 (Resource Kind), and Unique ID, described in Section 4.2 (Unique ID), MUST be present in any resource object.    Additional proprietary attributes may be defined as well, but must begin with "X-". Clients encountering attributes they don't know about must ignore them.  

   This document specifies whether a given Attribute or Property is required for a query to find the right resource, or is used to just give additional information during scheduling of the resource.    Attributes or Properties required to contact the resource are not included in this specification.    LDAP attributes defined in [RFC4519] (Sciberras, A., “Lightweight Directory Access Protocol (LDAP): Schema for User Applications,” June 2006.) and VCARD properties defined in vCard Format Specification (Perreault, S. and P. Resnick, “vCard Format Specification,” March 2010.) [I‑D.ietf‑vcarddav‑vcardrev] can be used to include contact information for the resource.  



 TOC 

3.1.  LDAP Resource ObjectClass Definition

     In LDAP, a resource object SHOULD be defined as an objectclass with attributes as defined in Section 4 (Resource Attributes). This objectClass MUST be an auxiliary class. Its Superior class MUST be the calEntry objectClass as defined in Section 2.4.3.1 of [RFC2739] (Small, T., Hennessy, D., and F. Dawson, “Calendar Attributes for vCard and LDAP,” January 2000.)      

    ( 1.3.6.1.1.x.1.1
      NAME 'CalendarResource'  
      DESC 'Calendar Resource Object Class'  
      SUP calEntry  
      AUXILIARY  
      MUST (calresourcekind $ uid)  
      MAY (cn $ nickname $ description $ ou $ categories $ member $
           uniquemember $ accessabilityurl $ capacity $ owner $
           resourcemanager $ timezoneid $ multiplebookings $
           maxinstances $ bookingwindowstart $ bookingwindowend $
           resourcenotes) )

   



 TOC 

4.  Resource Attributes



 TOC 

4.1.  Resource Kind

       Description:
       The kind of resource. Required for a meaningful resource scheduling query and MUST be defined.      

ValueType:
       Some of the possible values are "Location", "Thing", or "Group".
       Location is used for any physical location resource such as room, building, etc.
       Thing is used for any physical object that can scheduled like projector, printer, etc.
       Group is used to specify a group of resources with a specific skill set. For example: drivers, electricians, etc.      

Example value:
       Location      



 TOC 

4.1.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.1
      NAME 'CalResourceKind'  
      DESC 'Calendar Resource Kind'
      EQUALITY caseIgnoreMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15  
      SINGLE-VALUE )


 TOC 

4.1.2.  VCard Property Definition

       Property KIND that specifies the kind of objected represented, as defined in Section 6.1.5 of [I‑D.ietf‑vcarddav‑vcardrev] (Perreault, S. and P. Resnick, “vCard Format Specification,” March 2010.).      



 TOC 

4.2.  Unique ID

Description:
       A Unique Identifier. Not required for a resource scheduling query but MUST be defined.      

ValueType:
       Single string value.      

Example value:
       room1-id1      



 TOC 

4.2.1.  LDAP Attribute Definition

   uid attribute as defined in Section 2.39 of [RFC4519] (Sciberras, A., “Lightweight Directory Access Protocol (LDAP): Schema for User Applications,” June 2006.).      



 TOC 

4.2.2.  VCard Property Definition

       UID property as defined in Section 7.7.7 of [I‑D.ietf‑vcarddav‑vcardrev] (Perreault, S. and P. Resnick, “vCard Format Specification,” March 2010.).      



 TOC 

4.3.  Common Name

Description:
       Full name of the resource. Not required for a resource scheduling query.      

ValueType:
       String value.      

Example value:
       Room One      



 TOC 

4.3.1.  LDAP Attribute Definition

       cn attribute as defined in Section 2.3 of [RFC4519] (Sciberras, A., “Lightweight Directory Access Protocol (LDAP): Schema for User Applications,” June 2006.).      



 TOC 

4.3.2.  VCard Property Definition

       FN property as defined in Section 7.2.1 of [I‑D.ietf‑vcarddav‑vcardrev] (Perreault, S. and P. Resnick, “vCard Format Specification,” March 2010.).      



 TOC 

4.4.  Nick Name

Description:
       A short or popular name for the resource. Not required for a resource scheduling query.      

ValueType:
       String value.      

Example value:
       TheOne      



 TOC 

4.4.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.2
      NAME 'NickName'  
      DESC 'Nick Name'
      EQUALITY caseIgnoreIA5Match
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )


 TOC 

4.4.2.  VCard Property Definition

       NICKNAME property as defined in Section 7.2.3 of [I‑D.ietf‑vcarddav‑vcardrev] (Perreault, S. and P. Resnick, “vCard Format Specification,” March 2010.).      



 TOC 

4.5.  Description

Description:
       Description of the resource. Not required for a resource scheduling query.      

ValueType:
       String value.      

Example value:
       Room 1 in Building X      



 TOC 

4.5.1.  LDAP Attribute Definition

       description attribute as defined in Section 2.5 of [RFC4519] (Sciberras, A., “Lightweight Directory Access Protocol (LDAP): Schema for User Applications,” June 2006.).      



 TOC 

4.5.2.  VCard Property Definition

       NOTE property as defined in Section 7.7.2 of [I‑D.ietf‑vcarddav‑vcardrev] (Perreault, S. and P. Resnick, “vCard Format Specification,” March 2010.).      



 TOC 

4.6.  Organizational Unit

Description:
       Organizations the resource belongs to. Not required for a resource scheduling query.      

ValueType:
       String value.      

Example value:
       EngineeringDepartment      



 TOC 

4.6.1.  LDAP Attribute Definition

       ou attribute as defined in Section 2.20 of [RFC4519] (Sciberras, A., “Lightweight Directory Access Protocol (LDAP): Schema for User Applications,” June 2006.).      



 TOC 

4.6.2.  VCard Property Definition

       ORG property as defined in Section 7.6.4 of [I‑D.ietf‑vcarddav‑vcardrev] (Perreault, S. and P. Resnick, “vCard Format Specification,” March 2010.).      



 TOC 

4.7.  Categories

Description:
       Categories the resource falls under or tags for easy discovery of the resource. Can be used for a resource scheduling query.      

ValueType:
       String value.      

Example value:
       Rooms, EngineeringResources      



 TOC 

4.7.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.3
      NAME 'Categories'  
      DESC 'Categories'  
      EQUALITY caseIgnoreIA5Match
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )


 TOC 

4.7.2.  VCard Property Definition

       CATEGORIES property as defined in Section 7.7.1 of [I‑D.ietf‑vcarddav‑vcardrev] (Perreault, S. and P. Resnick, “vCard Format Specification,” March 2010.).      



 TOC 

4.8.  Group Member

Description:
       List of unique resources in a group of resources object. Not required for a resource scheduling query.      

ValueType:
       URL value.      

Example value:
       http://www.example.com/printer1.html
       http://www.example.com/printer2.html      



 TOC 

4.8.1.  LDAP Attribute Definition

member attribute as defined in Section 2.17 or uniquemember attribute as defined in Section 2.40 of [RFC4519] (Sciberras, A., “Lightweight Directory Access Protocol (LDAP): Schema for User Applications,” June 2006.).         



 TOC 

4.8.2.  VCard Property Definition

       MEMBER property as defined in Section 7.6.5 of [I‑D.ietf‑vcarddav‑vcardrev] (Perreault, S. and P. Resnick, “vCard Format Specification,” March 2010.).      



 TOC 

4.9.  Admittance Info

Description:
       Information required to gain access to the resource.      

ValueType:
       Object value.      



 TOC 

4.9.1.  LDAP ObjectClass Definition

    ( 1.3.6.1.1.x.1.2
      NAME 'AdmittanceInfo'
      DESC 'Calendar Resource Admittance Info Class'
      SUP CalendarResource  
      AUXILIARY
      MUST (admittanceurl)
      MAY (restricted) )


 TOC 

4.9.2.  Restricted Access

Description:
           Is access to the resource restricted? Can be used for a resource scheduling query.          

ValueType:
           Boolean value.          

Example value:
           True          



 TOC 

4.9.2.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.4
      NAME 'Restricted'  
      DESC 'Access Restricted'  
      EQUALITY booleanMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )


 TOC 

4.9.2.2.  VCard Property Definition

           Purpose: To specify if access is restricted or not.          

           Type value: A single boolean value.          

           Cardinality: (0,1)         

          ABNF:
          RESTRICTEDACCESS-param = ; no parameter allowed
          RESTRICTEDACCESS-value = boolean         

          Example:
            RESTRICTEDACCESSS:True          



 TOC 

4.9.3.  Admittance Info URL

Description:
           URL pointing to complete information for accessing the resource including getting accessibility rights, special entrances, and so on.            Not required for a resource scheduling query.          

ValueType:
           URL value.          

Example value:
           http://www.example.com/room1_admittance.html          



 TOC 

4.9.3.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.5
      NAME 'AdmittanceURL'  
      DESC 'Cal Resource Admittance Info URL'  
      EQUALITY caseIgnoreIA5Match
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )


 TOC 

4.9.3.2.  VCard Property Definition

           Purpose:  To specify URL pointing to Admission Information.          

           Type value: URI.          

           Cardinality: (0,n)         

          ABNF:
          ADMISSIONINFO-param = "VALUE=uri" / any-param
          ADMISSIONINFO-value = uri         

          Example:
            ADMISSIONINFO:http://www.example.com/room1_admittance.html          



 TOC 

4.10.  Accessibility

Description:
       Special resource accessibility info for the physically disabled. Not required for a resource scheduling query.      

ValueType:
       URL value.      

Example value:
       http://www.example.com/room1_specialaccess.html      



 TOC 

4.10.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.6
      NAME 'AccessabilityURL'  
      DESC 'Cal Resource Accessability Info URL'  
      EQUALITY caseIgnoreIA5Match
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )


 TOC 

4.10.2.  VCard Property Definition

           Purpose:  To specify URL pointing to Disabled Access Information.          

           Type value: URI.          

           Cardinality: (0,n)         

          ABNF:
          ACCESSABILITYINFO-param = "VALUE=uri" / any-param
          ACCESSABILITYINFO-value = uri         

          Example:
            ACCESSABILITYINFO:http://www.example.com/room1_specialaccess.html          



 TOC 

4.11.  Capacity

Description:
       Capacity of the resource. Can be used for a resource scheduling query.      

ValueType:
       Integer.      

Example value:
       10      



 TOC 

4.11.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.7
      NAME 'Capacity'  
      DESC 'Cal Resource Capacity'
      EQUALITY caseIgnoreIA5Match
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )


 TOC 

4.11.2.  VCard Property Definition

           Purpose:  To specify Capacity Information.          

           Type value: integer.          

           Cardinality: (0,n)         

          ABNF:
          CAPACITY-param = "VALUE=integer" / any-param
          CAPACITY-value = integer         

          Example:
            CAPACITY:10          



 TOC 

4.12.  Inventory Info

Description:
       Information on resources available as part of this resource.      

ValueType:
       Object value.      



 TOC 

4.12.1.  LDAP ObjectClass Definition

    ( 1.3.6.1.1.x.1.3
      NAME 'InventoryInfo'
      DESC 'Calendar Resource Inventory Info Class'
      SUP CalendarResource  
      AUXILIARY
      MAY (inventorylist $ inventoryurl) )


 TOC 

4.12.2.  Inventory List

Description:
       List of resources available as part of this resource. Can be used for a resource scheduling query.      

ValueType:
       String value. One or more text values separated by a COMMA character.      

Example value:
       Printer, Projector      



 TOC 

4.12.2.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.8
      NAME 'InventoryList'  
      DESC 'Inventory List'  
      EQUALITY caseIgnoreIA5Match
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )


 TOC 

4.12.2.2.  VCard Property Definition

           Purpose:  List the resources available as part of this resource.          

           Type value: One or more text values separated by a COMMA character      (ASCII decimal 44).
         

           Cardinality: (0,n)         

          ABNF:
          INVENTORYLIST-param = "VALUE=text" / any-param
          INVENTORYLIST-value = text         

          Example:
            INVENTORYLIST:projector, phone          



 TOC 

4.12.3.  Inventory URL

Description:
       A URL pointing to other resource URLs related to this resource. Not required for a resource scheduling query.      

ValueType:
       URL value.      

Example value:
       http://www.example.com/room1_inventory.html      



 TOC 

4.12.3.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.9
      NAME 'InventoryURL'
      DESC 'Cal Resource Inventory Info URL'
      EQUALITY caseIgnoreIA5Match
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )


 TOC 

4.12.3.2.  VCard Property Definition

           Purpose:  To specify URL pointing to Inventory Information.          

           Type value: URI.          

           Cardinality: (0,n)         

          ABNF:
          INVENTORYURL-param = "VALUE=uri" / any-param
          INVENTORYURL-value = uri         

          Example:
            INVENTORYURL:http://www.example.com/room1_inventory.html          



 TOC 

4.13.  Owner Info

Description:
       Complete information on the owners of the resource. An owner is anyone who has complete authority over the resource, from naming to overall availability.        Not required for a resource scheduling query.      

ValueType:
       URL value.      

Example value:
       http://www.example.com/room1_ownerinfo.html      



 TOC 

4.13.1.  LDAP Attribute Definition

       owner attribute as defined in Section 2.21 of [RFC4519] (Sciberras, A., “Lightweight Directory Access Protocol (LDAP): Schema for User Applications,” June 2006.).      



 TOC 

4.13.2.  VCard Property Definition

           Purpose:  To specify URL pointing to Resource Owner Information.          

           Type value: URI.          

           Cardinality: (0,n)         

          ABNF:
          RESOURCEOWNERINFO-param = "VALUE=uri" / any-param
          RESOURCEOWNERINFO-value = uri         

          Example:
            RESOURCEOWNERINFO:http://www.example.com/room1_owner.vcf          



 TOC 

4.14.  Resource Manager Info

Description:
       Information on the managers of the resource. A manager is someone responsible for the day-to-day up keep of the resource. Not required for a resource scheduling query.      

ValueType:
       URL value.      

Example value:
       http://www.example.com/room1_managerinfo.html      



 TOC 

4.14.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.10
      NAME 'ResourceManager'
      DESC 'Cal Resource Manager Info'
      EQUALITY caseIgnoreIA5Match
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )


 TOC 

4.14.2.  VCard Property Definition

           Purpose:  To specify URL pointing to Resource Manager Information.          

           Type value: URI.          

           Cardinality: (0,n)         

          ABNF:
          RESOURCEMANAGERINFO-param = "VALUE=uri" / any-param
          RESOURCEMANAGERINFO-value = uri         

          Example:
            RESOURCEMANAGERINFO:http://www.example.com/room1_manager.vcf          



 TOC 

4.15.  Calendar URL

Description:
       URL to access calendar data of the resource. Not required for a resource scheduling query.      

ValueType:
       URL value.      

Example value:
       http://www.example.com/calendar/home/Room1/calendar/      



 TOC 

4.15.1.  LDAP Attribute Definition

       Calendar access attribute calCAPURI as defined in Section 2.4.4.3 and calOtherCAPURIs as defined in Section 2.4.4.7 of [RFC2739] (Small, T., Hennessy, D., and F. Dawson, “Calendar Attributes for vCard and LDAP,” January 2000.) respectively.      



 TOC 

4.15.2.  VCard Property Definition

       Calendar access property CAPURI as defined in Section 2.3.3 of [RFC2739] (Small, T., Hennessy, D., and F. Dawson, “Calendar Attributes for vCard and LDAP,” January 2000.).      



 TOC 

4.16.  FreeBusy URL

Description:
       URL to read freebusy information of the resource's calendar. Not required for a resource scheduling query.      

ValueType:
       URL value.      

Example value:
       http://www.example.com/freebusy/home/Room1/      



 TOC 

4.16.1.  LDAP Attribute Definition

       Calendar access attribute calFBURL as defined in Section 2.4.4.2 and calOtherFBURLs as defined in Section 2.4.4.6 of [RFC2739] (Small, T., Hennessy, D., and F. Dawson, “Calendar Attributes for vCard and LDAP,” January 2000.) respectively.      



 TOC 

4.16.2.  VCard Property Definition

       FBURL attribute as defined in Section 2.3.1 of [RFC2739] (Small, T., Hennessy, D., and F. Dawson, “Calendar Attributes for vCard and LDAP,” January 2000.) and further explained in Section 7.9.1 of [I‑D.ietf‑vcarddav‑vcardrev] (Perreault, S. and P. Resnick, “vCard Format Specification,” March 2010.).      



 TOC 

4.17.  Scheduling Address

Description:
       Address used for scheduling the resource by a Calendaring and Scheduling service. Not required for a resource scheduling query.      

ValueType:
       String value.      

Example value:
       mailto:room1@example.com      



 TOC 

4.17.1.  LDAP Attribute Definition

       Scheduling Address attribute calCalAdrURI as defined in Section 2.4.4.4 and calOtherCalAdrURIs as defined in Section 2.4.4.8 of [RFC2739] (Small, T., Hennessy, D., and F. Dawson, “Calendar Attributes for vCard and LDAP,” January 2000.) respectively.        This is the address that would be used by a Scheduling and Calendaring application to schedule the resource.        Its value must be a uri string, in most cases a mailto: uri. The mail attribute value of the resource should be used for scheduling, in the absence of this attribute.      



 TOC 

4.17.2.  VCard Property Definition

       Scheduling Address property CALADRURI as defined in Section 2.3.2 [RFC2739] (Small, T., Hennessy, D., and F. Dawson, “Calendar Attributes for vCard and LDAP,” January 2000.) and further explained in Section 7.9.2 of [I‑D.ietf‑vcarddav‑vcardrev] (Perreault, S. and P. Resnick, “vCard Format Specification,” March 2010.).        This is the address that would be used by a Scheduling and Calendaring application to schedule the resource.        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 attribute.      



 TOC 

4.18.  Time Zone

Description:
       TimeZone Identifier for the timezone the resource is in. Not required for a resource scheduling query.      

ValueType:
       String value.      

Example value:
       America/New_York      



 TOC 

4.18.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.11
      NAME 'TimeZoneID'
      DESC 'Cal Time Zone ID'
      EQUALITY caseIgnoreIA5Match
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )


 TOC 

4.18.2.  VCard Property Definition

       TimeZone property TZ as defined in Section 7.5.1 of [I‑D.ietf‑vcarddav‑vcardrev] (Perreault, S. and P. Resnick, “vCard Format Specification,” March 2010.).      



 TOC 

4.19.  Multiple Bookings

Description:
       Number of simultaneous bookings allowed. Not required for a resource scheduling query.      

ValueType:
       Integer value.
       Value of 0 indicates no limits.      

Example value:
       1      



 TOC 

4.19.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.12
      NAME 'Multiplebookings'
      DESC 'Cal Num Bookings Allowed'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )


 TOC 

4.19.2.  VCard Property Definition

           Purpose:  To specify number of simultaneous bookings allowed.          

           Type value: integer.          

           Cardinality: (0,1)         

          ABNF:
          MULTIBOOK-param = "VALUE=integer" / any-param
          MULTIBOOK-value = integer         

          Example:
            MULTIBOOK:10          



 TOC 

4.20.  Maximum Instances

Description:
       Maximum number of instances of an event, the resource can be scheduled for from NOW. Not required for a resource scheduling query.      

ValueType:
       Integer value.
       Value of 0 indicates no limits.      

Example value:
       60      



 TOC 

4.20.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.13
      NAME 'MaxInstances'
      DESC 'Cal Maximum Instances allowed'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )


 TOC 

4.20.2.  VCard Property Definition

           Purpose:  To specify maximum number of instances of an event, the resource can be scheduled for from NOW.          

           Type value: integer.          

           Cardinality: (0,1)         

          ABNF:
          MAXINSTANCES-param = "VALUE=integer" / any-param
          MAXINSTANCES-value = integer         

          Example:
            MAXINSTANCES:10          



 TOC 

4.21.  BookingWindow Start

Description:
       Defines how much time in advance the resource can be booked. That is, what is the earliest opportunity for booking a resource for a given date and time.        Not required for a resource scheduling query.      

ValueType: Duration value.
       The format is based on the           [ISO.8601.2004] (              International Organization for Standardization             , “            Data elements and interchange formats --             Information interchange --             Representation of dates and times           ,” 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).      

Example value:
       -P3M      



 TOC 

4.21.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.14
      NAME 'BookingWindowStart'
      DESC 'Cal Booking Window Start'
      EQUALITY caseIgnoreIA5Match
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )


 TOC 

4.21.2.  VCard Property Definition

           Purpose:  To specify how much time in advance the resource can be booked.          

           Type value: duration.
           The format is based on the           [ISO.8601.2004] (              International Organization for Standardization             , “            Data elements and interchange formats --             Information interchange --             Representation of dates and times           ,” 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).          

           Cardinality: (0,1)         

          ABNF:
          BOOKINGSTART-param = "VALUE=text" / any-param
          BOOKINGSTART-value = text         

          Example:
            BOOKINGSTART:-P3M          



 TOC 

4.22.  BookingWindow End

Description:
       Defines how much time in advance the resource booking is closed. That is, what is the latest opportunity for booking a resource for a given date or time.        Not required for a resource scheduling query.        BookingWindow Start and End together provide the window of time a resource can be booked relative to the start of the event.      

ValueType: Duration value.
          The format is based on the           [ISO.8601.2004] (              International Organization for Standardization             , “            Data elements and interchange formats --             Information interchange --             Representation of dates and times           ,” 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).      

Example value:
       -P5D      



 TOC 

4.22.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.15
      NAME 'BookingWindowEnd'
      DESC 'Cal Booking Window End'
      EQUALITY caseIgnoreIA5Match
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )


 TOC 

4.22.2.  VCard Property Definition

           Purpose:  To specify how much time in advance the resource booking is closed.          

           Type value: duration.
           The format is based on the           [ISO.8601.2004] (              International Organization for Standardization             , “            Data elements and interchange formats --             Information interchange --             Representation of dates and times           ,” 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).          

           Cardinality: (0,1)         

          ABNF:
          BOOKINGEND-param = "VALUE=text" / any-param
          BOOKINGEND-value = text         

          Example:
            BOOKINGEND:-P5D          



 TOC 

4.23.  Scheduling Approval Info

Description:
       Information regarding approval of a scheduling request to the resource.      

ValueType:
       Object value.      



 TOC 

4.23.1.  LDAP ObjectClass Definition

    ( 1.3.6.1.1.x.1.4
      NAME 'SchedApprovalInfo'
      DESC 'Calendar Sched Approval Class'
      SUP CalendarResource
      AUXILIARY
      MAY(autoaccept $ approvalinfourl $ schedadmin) )


 TOC 

4.23.2.  Auto accept

Description:
           No approval required. Auto accepted. Not required for a resource scheduling query.          

ValueType:
           Boolean value.          

Example value:
           True          



 TOC 

4.23.2.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.16
      NAME 'Autoaccept'
      DESC 'Cal Scheduling auto accept'
      EQUALITY booleanMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )


 TOC 

4.23.2.2.  VCard Property Definition

           Purpose:  To specify if invitations should be automatically accepted.          

           Type value: Boolean.          

           Cardinality: (0,1)         

          ABNF:
          AUTOACCEPT-param = "VALUE=boolean" / any-param
          AUTOACCEPT-value = "TRUE" / "FALSE"         

          Example:
            AUTOACCEPT:TRUE          



 TOC 

4.23.3.  Approval Info URL

Description:
           URL pointing to complete information on scheduling request approval process for the resource.            Not required for a resource scheduling query.          

ValueType:
           URL value.          

Example value:
           http://www.example.com/room1_approval.html          



 TOC 

4.23.3.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.17
      NAME 'ApprovalInfoURL'
      DESC 'Cal Sched Approval Info'
      EQUALITY caseIgnoreIA5Match
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )


 TOC 

4.23.3.2.  VCard Property Definition

           Purpose:  To specify URL pointing to Scheduling Approval Information.          

           Type value: URI.          

           Cardinality: (0,n)         

          ABNF:
          APPROVALINFO-param = "VALUE=uri" / any-param
          APPROVALINFO-value = uri         

          Example:
            APPROVALINFO:http://www.example.com/room1_approval.html          



 TOC 

4.23.4.  Scheduling Admin Contact

Description:
           Contact information for the scheduling approvers, if approval required. Not required for a resource scheduling query.          

ValueType:
           URL value.          

Example value:
           http://www.example.com/SchedAdmin1.vcf          



 TOC 

4.23.4.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.18
      NAME 'SchedAdmin'
      DESC 'Cal Sched Admin Info'
      EQUALITY caseIgnoreIA5Match
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )


 TOC 

4.23.4.2.  VCard Property Definition

           Purpose:  To specify URL pointing to Scheduling Manager Information.          

           Type value: URI.          

           Cardinality: (0,n)         

          ABNF:
          SCHEDADMININFO-param = "VALUE=uri" / any-param
          SCHEDADMININFO-value = uri         

          Example:
            SCHEDADMININFO:http://www.example.com/SchedAdmin1.vcf          



 TOC 

4.24.  Cost

Description:
       Scheduling costs for this resource.      

ValueType:
       Object value.      



 TOC 

4.24.1.  LDAP ObjectClass Definition

    ( 1.3.6.1.1.x.1.5
      NAME 'CalendarResourceCost'
      DESC 'Calendar Resource Cost Object Class'
      SUP CalendarResource
      AUXILIARY
      MAY (free $ costurl)


 TOC 

4.24.2.  Free

Description:
           No cost for using the resource. Can be used for a resource scheduling query.          

ValueType:
           Boolean value.          

Example value:
           True          



 TOC 

4.24.2.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.19
      NAME 'Free'
      DESC 'Free or Priced resource'
      EQUALITY booleanMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )


 TOC 

4.24.2.2.  VCard Property Definition

           Purpose: To specify if resource usage is free.          

           Type value: A single boolean value.          

           Cardinality: (0,1)         

          ABNF:
          FREE-param = ; no parameter allowed
          FREE-value = boolean         

          Example:
            FREE:True          



 TOC 

4.24.3.  Cost URL

Description:
           URL pointing to complete pricing information for usage of the resource. Not required for a resource scheduling query.          

ValueType:
           URL value.          

Example value:
           http://www.example.com/cost.html          



 TOC 

4.24.3.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.20
      NAME 'CostURL'
      DESC 'Cal Resource Cost Info'
      EQUALITY caseIgnoreIA5Match
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )


 TOC 

4.24.3.2.  VCard Property Definition

           Purpose:  To specify URL pointing Resource Scheduling Cost Information.          

           Type value: URI.          

           Cardinality: (0,n)         

          ABNF:
          COSTINFO-param = "VALUE=uri" / any-param
          COSTINFO-value = uri         

          Example:
            COSTINFO:http://www.example.com/cost.html          



 TOC 

4.25.  ResourceNotes

Description:
       Extra information on the resource. Not required for a resource scheduling query.      

ValueType:
       Text value.      

Example value:
       This is a special resource.      



 TOC 

4.25.1.  LDAP Attribute Definition

    ( 1.3.6.1.1.x.0.21
      NAME 'ResourceNotes'  
      DESC 'Cal Resource Notes'  
      EQUALITY caseIgnoreIA5Match
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )


 TOC 

4.25.2.  VCard Property Definition

       NOTE property as defined in Section 6.7.2 of [I‑D.ietf‑vcarddav‑vcardrev] (Perreault, S. and P. Resnick, “vCard Format Specification,” March 2010.).      



 TOC 

5.  Examples



 TOC 

5.1.  LDAP Examples



 TOC 

5.1.1.  Location Resource

dn: cn=Room One,ou=Engineering,dc=example,dc=com
objectclass: top
objectclass: calendarresource
objectclass: admittanceinfo
objectclass: inventoryinfo
objectclass: schedapprovalinfo
objectclass: calendarresourcecost
calresourcekind: location
uid: room1-id
cn: Room One
ou: Engineering
nickname: The One
description: Room 1 in Engineering Building X
categories: rooms
categories: engineering_resources
restricted: true
admittanceurl: http://www.example.com/room1_admittance.html
accessabilityurl: http://www.example.com/room1_specialaccess.html
capacity: 100
inventorylist:phone, projector
inventoryurl: http://www.example.com/room1_inventory.html
owner: cn=RoomOwner,ou=Engineering,dc=example,dc=com
resourcemanager: cn=RoomOwner,ou=Engineering,dc=example,dc=com
calcapuri: http://www.example.com/calendar/home/Room1/calendar/
calfburl: http://www.example.com/freebusy/home/Room1/
calcaladruri: mailto:room1@example.com
timezoneid: America/Los_Angeles
multiplebookings: 1
maxinstances: 10
bookingwindowstart:-P3M
bookingwindowend: -P3D
autoaccept: false
approvalinfourl: http://www.example.com/room1_approval.html
schedadmin: cn=RoomOwner,ou=Engineering,dc=example,dc=com
free: false
costurl: http://www.example.com/cost.html
resourcenotes: This is a special resource.



 TOC 

5.1.2.  Role Resources Group

dn: cn=Drivers X,ou=Transportation,dc=example,dc=com
objectclass: top
objectclass: groupOfuniqueNames
objectclass: calendarresource
objectclass: schedapprovalinfo
objectclass: calendarresourcecost
calresourcekind: group
uid: driversX-id
cn: Driver One
ou: Transportation
nickname: The X
description: Drivers in the Transportation department driver pool X
categories: drivers
uniquemember: cn=Driver1,ou=Transportation,dc=example,dc=com
uniquemember: cn=Driver2,ou=Transportation,dc=example,dc=com
uniquemember: cn=Driver3,ou=Transportation,dc=example,dc=com
owner: cn=Transportation_Manager,ou=Transportation,dc=example,dc=com
calfburl: http://www.example.com/freebusy/home/DriversX/
calcaladruri: mailto:driversX@example.com
timezoneid: America/Los_Angeles
multiplebookings: 3
maxinstances: 10
bookingwindowstart:-P3M
bookingwindowend: -P3D
autoaccept: false
approvalinfourl: http://www.example.com/driversX_approval.html
schedadmin: cn=TransportationManager,ou=Transportation,dc=example,dc=com
free: false
costurl: http://www.example.com/driversXcost.html
resourcenotes: This is Driver Pool X with three drivers.



 TOC 

5.2.  VCard Examples



 TOC 

5.2.1.  Location Resource

BEGIN:VCARD
VERSION:4.0
UID:urn:uuid:room1-id
KIND: location
FN: Room One
ORG: Engineering
NICKNAME: The One
NOTE: Room 1 in Engineering Building X
CATEGORIES: rooms
CATEGORIES: engineering_resources
RESTRICTED-ACCESS: true
ADMISSIONINFO: http://www.example.com/room1_admittance.html
ACCESSABILITYINFO: http://www.example.com/room1_specialaccess.html
CAPACITY: 100
INVENTORYLIST: phone, projector
INVENTORYURL: http://www.example.com/room1_inventory.html
RESOURCEOWNERINFO: http://www.example.com/ResOwner1.vcf
RESOURCEMANAGERINFO: 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
BOOKINGSTART:-P3M
BOOKINGEND: -P3D
AUTOACCEPT: false
APPROVALINFO: http://www.example.com/room1_approval.html
SCHEDADMININFO: http://www.example.com/SchedAdmin1.vcf
FREE: false
COSTINFO: http://www.example.com/cost.html
END:VCARD



 TOC 

5.2.2.  Role Resources Group

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
RESOURCEOWNERINFO: 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
BOOKINGSTART:-P3M
BOOKINGEND: -P3D
AUTOACCEPT: false
APPROVALINFO: http://www.example.com/driversX_approval.html
SCHEDADMININFO: http://www.example.com/DriversX_SchedAdmin.vcf
FREE: false
COSTINFO: http://www.example.com/driversXcost.html
END:VCARD



 TOC 

6.  Security Considerations

      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.     



 TOC 

7.  IANA Considerations

       A new IANA token 'resource', that can be used as a value representing a Resource in a VCard,        as defined in Section 4.1.2 (VCard Property Definition) needs to be registered.        In addition, the following new VCard Properties need to be registered by IANA.      

New VCard Properties Table:

VCard Property NameVCard Property Definition
RESTRICTEDACCESS Section 4.9.2.2 (VCard Property Definition)
ADMISSIONINFO Section 4.9.3.2 (VCard Property Definition)
SPECIALACCESS Section 4.10.2 (VCard Property Definition)
CAPACITY Section 4.11.2 (VCard Property Definition)
INVENTORYLIST Section 4.12.2.2 (VCard Property Definition)
INVENTORYINFO Section 4.12.3.2 (VCard Property Definition)
RESOURCEOWNER Section 4.13.2 (VCard Property Definition)
RESOURCEMANAGER Section 4.14.2 (VCard Property Definition)
MAXINSTANCE Section 4.20.2 (VCard Property Definition)
BOOKINGSTART Section 4.21.2 (VCard Property Definition)
BOOKINGEND Section 4.22.2 (VCard Property Definition)
AUTOACCEPT Section 4.23.2.2 (VCard Property Definition)
APPROVALINFO Section 4.23.3.2 (VCard Property Definition)
APPROVERINFO Section 4.23.4.2 (VCard Property Definition)
FREE Section 4.24.2.2 (VCard Property Definition)
COST Section 4.24.3.2 (VCard Property Definition)



 TOC 

8.  Acknowledgments

       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, and Jason Miller.      



 TOC 

9. Normative References

[I-D.ietf-vcarddav-vcardrev] Perreault, S. and P. Resnick, “vCard Format Specification,” draft-ietf-vcarddav-vcardrev-10 (work in progress), March 2010 (TXT).
[ISO.8601.2004]               International Organization for Standardization             , “            Data elements and interchange formats --             Information interchange --             Representation of dates and times           ,” 2004.
[RFC2119] Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML, XML).
[RFC2739] Small, T., Hennessy, D., and F. Dawson, “Calendar Attributes for vCard and LDAP,” RFC 2739, January 2000 (TXT).
[RFC4519] Sciberras, A., “Lightweight Directory Access Protocol (LDAP): Schema for User Applications,” RFC 4519, June 2006 (TXT).


 TOC 

Authors' Addresses

  Ciny Joy
  Oracle Corporation
             4150 Network Circle          
             Santa Clara          ,            CA           95054
             USA          
EMail:           ciny.joy@oracle.com        
URI:           http://www.oracle.com/        
  
  Cyrus Daboo
         Apple Inc.      
             1 Infinite Loop          
             Cupertino          ,            CA           95014
             USA          
EMail:           cyrus@daboo.name        
URI:           http://www.apple.com/        
  
  Michael Douglass
  Rensselaer Polytechnic Institute
  110 8th Street
  Troy, NY 12180
  USA
EMail:  douglm@rpi.edu
URI:  http://www.rpi.edu/