One document matched: draft-cal-resource-schema-00.txt
Network Working Group C. Joy
Internet-Draft Oracle
Expires: November 1, 2010 C. 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
Joy, et al. Expires November 1, 2010 [Page 1]
Internet-Draft Schema for Resources April 2010
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 . . . . . . . . . . . . . . . . . . . . . . . . . 5
2. Conventions Used in This Document . . . . . . . . . . . . . . 5
3. Resource Object . . . . . . . . . . . . . . . . . . . . . . . 5
3.1. LDAP Resource ObjectClass Definition . . . . . . . . . . . 5
4. Resource Attributes . . . . . . . . . . . . . . . . . . . . . 6
4.1. Resource Kind . . . . . . . . . . . . . . . . . . . . . . 6
4.1.1. LDAP Attribute Definition . . . . . . . . . . . . . . 6
4.1.2. VCard Property Definition . . . . . . . . . . . . . . 7
4.2. Unique ID . . . . . . . . . . . . . . . . . . . . . . . . 7
4.2.1. LDAP Attribute Definition . . . . . . . . . . . . . . 7
4.2.2. VCard Property Definition . . . . . . . . . . . . . . 7
4.3. Common Name . . . . . . . . . . . . . . . . . . . . . . . 7
4.3.1. LDAP Attribute Definition . . . . . . . . . . . . . . 7
4.3.2. VCard Property Definition . . . . . . . . . . . . . . 7
4.4. Nick Name . . . . . . . . . . . . . . . . . . . . . . . . 8
4.4.1. LDAP Attribute Definition . . . . . . . . . . . . . . 8
4.4.2. VCard Property Definition . . . . . . . . . . . . . . 8
4.5. Description . . . . . . . . . . . . . . . . . . . . . . . 8
4.5.1. LDAP Attribute Definition . . . . . . . . . . . . . . 8
4.5.2. VCard Property Definition . . . . . . . . . . . . . . 8
4.6. Organizational Unit . . . . . . . . . . . . . . . . . . . 9
4.6.1. LDAP Attribute Definition . . . . . . . . . . . . . . 9
4.6.2. VCard Property Definition . . . . . . . . . . . . . . 9
4.7. Categories . . . . . . . . . . . . . . . . . . . . . . . . 9
4.7.1. LDAP Attribute Definition . . . . . . . . . . . . . . 9
4.7.2. VCard Property Definition . . . . . . . . . . . . . . 9
4.8. Group Member . . . . . . . . . . . . . . . . . . . . . . . 10
4.8.1. LDAP Attribute Definition . . . . . . . . . . . . . . 10
4.8.2. VCard Property Definition . . . . . . . . . . . . . . 10
4.9. Admittance Info . . . . . . . . . . . . . . . . . . . . . 10
4.9.1. LDAP ObjectClass Definition . . . . . . . . . . . . . 10
4.9.2. Restricted Access . . . . . . . . . . . . . . . . . . 10
4.9.2.1. LDAP Attribute Definition . . . . . . . . . . . . 11
4.9.2.2. VCard Property Definition . . . . . . . . . . . . 11
4.9.3. Admittance Info URL . . . . . . . . . . . . . . . . . 11
4.9.3.1. LDAP Attribute Definition . . . . . . . . . . . . 11
4.9.3.2. VCard Property Definition . . . . . . . . . . . . 12
4.10. Accessibility . . . . . . . . . . . . . . . . . . . . . . 12
4.10.1. LDAP Attribute Definition . . . . . . . . . . . . . . 12
4.10.2. VCard Property Definition . . . . . . . . . . . . . . 12
4.11. Capacity . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.11.1. LDAP Attribute Definition . . . . . . . . . . . . . . 13
Joy, et al. Expires November 1, 2010 [Page 2]
Internet-Draft Schema for Resources April 2010
4.11.2. VCard Property Definition . . . . . . . . . . . . . . 13
4.12. Inventory Info . . . . . . . . . . . . . . . . . . . . . . 14
4.12.1. LDAP ObjectClass Definition . . . . . . . . . . . . . 14
4.12.2. Inventory List . . . . . . . . . . . . . . . . . . . . 14
4.12.2.1. LDAP Attribute Definition . . . . . . . . . . . . 14
4.12.2.2. VCard Property Definition . . . . . . . . . . . . 14
4.12.3. Inventory URL . . . . . . . . . . . . . . . . . . . . 15
4.12.3.1. LDAP Attribute Definition . . . . . . . . . . . . 15
4.12.3.2. VCard Property Definition . . . . . . . . . . . . 15
4.13. Owner Info . . . . . . . . . . . . . . . . . . . . . . . . 16
4.13.1. LDAP Attribute Definition . . . . . . . . . . . . . . 16
4.13.2. VCard Property Definition . . . . . . . . . . . . . . 16
4.14. Resource Manager Info . . . . . . . . . . . . . . . . . . 16
4.14.1. LDAP Attribute Definition . . . . . . . . . . . . . . 17
4.14.2. VCard Property Definition . . . . . . . . . . . . . . 17
4.15. Calendar URL . . . . . . . . . . . . . . . . . . . . . . . 17
4.15.1. LDAP Attribute Definition . . . . . . . . . . . . . . 17
4.15.2. VCard Property Definition . . . . . . . . . . . . . . 17
4.16. FreeBusy URL . . . . . . . . . . . . . . . . . . . . . . . 18
4.16.1. LDAP Attribute Definition . . . . . . . . . . . . . . 18
4.16.2. VCard Property Definition . . . . . . . . . . . . . . 18
4.17. Scheduling Address . . . . . . . . . . . . . . . . . . . . 18
4.17.1. LDAP Attribute Definition . . . . . . . . . . . . . . 18
4.17.2. VCard Property Definition . . . . . . . . . . . . . . 19
4.18. Time Zone . . . . . . . . . . . . . . . . . . . . . . . . 19
4.18.1. LDAP Attribute Definition . . . . . . . . . . . . . . 19
4.18.2. VCard Property Definition . . . . . . . . . . . . . . 19
4.19. Multiple Bookings . . . . . . . . . . . . . . . . . . . . 19
4.19.1. LDAP Attribute Definition . . . . . . . . . . . . . . 20
4.19.2. VCard Property Definition . . . . . . . . . . . . . . 20
4.20. Maximum Instances . . . . . . . . . . . . . . . . . . . . 20
4.20.1. LDAP Attribute Definition . . . . . . . . . . . . . . 20
4.20.2. VCard Property Definition . . . . . . . . . . . . . . 21
4.21. BookingWindow Start . . . . . . . . . . . . . . . . . . . 21
4.21.1. LDAP Attribute Definition . . . . . . . . . . . . . . 21
4.21.2. VCard Property Definition . . . . . . . . . . . . . . 21
4.22. BookingWindow End . . . . . . . . . . . . . . . . . . . . 22
4.22.1. LDAP Attribute Definition . . . . . . . . . . . . . . 22
4.22.2. VCard Property Definition . . . . . . . . . . . . . . 22
4.23. Scheduling Approval Info . . . . . . . . . . . . . . . . . 23
4.23.1. LDAP ObjectClass Definition . . . . . . . . . . . . . 23
4.23.2. Auto accept . . . . . . . . . . . . . . . . . . . . . 23
4.23.2.1. LDAP Attribute Definition . . . . . . . . . . . . 24
4.23.2.2. VCard Property Definition . . . . . . . . . . . . 24
4.23.3. Approval Info URL . . . . . . . . . . . . . . . . . . 24
4.23.3.1. LDAP Attribute Definition . . . . . . . . . . . . 24
4.23.3.2. VCard Property Definition . . . . . . . . . . . . 25
4.23.4. Scheduling Admin Contact . . . . . . . . . . . . . . . 25
Joy, et al. Expires November 1, 2010 [Page 3]
Internet-Draft Schema for Resources April 2010
4.23.4.1. LDAP Attribute Definition . . . . . . . . . . . . 25
4.23.4.2. VCard Property Definition . . . . . . . . . . . . 25
4.24. Cost . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.24.1. LDAP ObjectClass Definition . . . . . . . . . . . . . 26
4.24.2. Free . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.24.2.1. LDAP Attribute Definition . . . . . . . . . . . . 26
4.24.2.2. VCard Property Definition . . . . . . . . . . . . 27
4.24.3. Cost URL . . . . . . . . . . . . . . . . . . . . . . . 27
4.24.3.1. LDAP Attribute Definition . . . . . . . . . . . . 27
4.24.3.2. VCard Property Definition . . . . . . . . . . . . 27
4.25. ResourceNotes . . . . . . . . . . . . . . . . . . . . . . 28
4.25.1. LDAP Attribute Definition . . . . . . . . . . . . . . 28
4.25.2. VCard Property Definition . . . . . . . . . . . . . . 28
5. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.1. LDAP Examples . . . . . . . . . . . . . . . . . . . . . . 28
5.1.1. Location Resource . . . . . . . . . . . . . . . . . . 28
5.1.2. Role Resources Group . . . . . . . . . . . . . . . . . 29
5.2. VCard Examples . . . . . . . . . . . . . . . . . . . . . . 30
5.2.1. Location Resource . . . . . . . . . . . . . . . . . . 30
5.2.2. Role Resources Group . . . . . . . . . . . . . . . . . 31
6. Security Considerations . . . . . . . . . . . . . . . . . . . 32
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 32
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 33
9. Normative References . . . . . . . . . . . . . . . . . . . . . 33
Joy, et al. Expires November 1, 2010 [Page 4]
Internet-Draft Schema for Resources April 2010
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.
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].
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 Kind, described in Section 4.1, and Unique ID,
described in Section 4.2, 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] and VCARD properties defined in vCard Format Specification
[I-D.ietf-vcarddav-vcardrev] can be used to include contact
information for the resource.
3.1. LDAP Resource ObjectClass Definition
In LDAP, a resource object SHOULD be defined as an objectclass
with attributes as defined in Section 4. 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]
Joy, et al. Expires November 1, 2010 [Page 5]
Internet-Draft Schema for Resources April 2010
( 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) )
4. Resource Attributes
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
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 )
Joy, et al. Expires November 1, 2010 [Page 6]
Internet-Draft Schema for Resources April 2010
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].
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
4.2.1. LDAP Attribute Definition
uid attribute as defined in Section 2.39 of [RFC4519].
4.2.2. VCard Property Definition
UID property as defined in Section 7.7.7 of
[I-D.ietf-vcarddav-vcardrev].
4.3. Common Name
Description:
Full name of the resource. Not required for a resource
scheduling query.
ValueType:
String value.
Example value:
Room One
4.3.1. LDAP Attribute Definition
cn attribute as defined in Section 2.3 of [RFC4519].
4.3.2. VCard Property Definition
FN property as defined in Section 7.2.1 of
[I-D.ietf-vcarddav-vcardrev].
Joy, et al. Expires November 1, 2010 [Page 7]
Internet-Draft Schema for Resources April 2010
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
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 )
4.4.2. VCard Property Definition
NICKNAME property as defined in Section 7.2.3 of
[I-D.ietf-vcarddav-vcardrev].
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
4.5.1. LDAP Attribute Definition
description attribute as defined in Section 2.5 of [RFC4519].
4.5.2. VCard Property Definition
NOTE property as defined in Section 7.7.2 of
[I-D.ietf-vcarddav-vcardrev].
Joy, et al. Expires November 1, 2010 [Page 8]
Internet-Draft Schema for Resources April 2010
4.6. Organizational Unit
Description:
Organizations the resource belongs to. Not required for a
resource scheduling query.
ValueType:
String value.
Example value:
EngineeringDepartment
4.6.1. LDAP Attribute Definition
ou attribute as defined in Section 2.20 of [RFC4519].
4.6.2. VCard Property Definition
ORG property as defined in Section 7.6.4 of
[I-D.ietf-vcarddav-vcardrev].
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
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 )
4.7.2. VCard Property Definition
CATEGORIES property as defined in Section 7.7.1 of
[I-D.ietf-vcarddav-vcardrev].
Joy, et al. Expires November 1, 2010 [Page 9]
Internet-Draft Schema for Resources April 2010
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
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].
4.8.2. VCard Property Definition
MEMBER property as defined in Section 7.6.5 of
[I-D.ietf-vcarddav-vcardrev].
4.9. Admittance Info
Description:
Information required to gain access to the resource.
ValueType:
Object value.
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) )
4.9.2. Restricted Access
Description:
Is access to the resource restricted? Can be used for a
resource scheduling query.
ValueType:
Joy, et al. Expires November 1, 2010 [Page 10]
Internet-Draft Schema for Resources April 2010
Boolean value.
Example value:
True
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 )
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
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
4.9.3.1. LDAP Attribute Definition
Joy, et al. Expires November 1, 2010 [Page 11]
Internet-Draft Schema for Resources April 2010
( 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 )
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
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
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 )
4.10.2. VCard Property Definition
Purpose: To specify URL pointing to Disabled Access
Information.
Joy, et al. Expires November 1, 2010 [Page 12]
Internet-Draft Schema for Resources April 2010
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
4.11. Capacity
Description:
Capacity of the resource. Can be used for a resource
scheduling query.
ValueType:
Integer.
Example value:
10
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 )
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
Joy, et al. Expires November 1, 2010 [Page 13]
Internet-Draft Schema for Resources April 2010
4.12. Inventory Info
Description:
Information on resources available as part of this resource.
ValueType:
Object value.
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) )
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
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 )
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).
Joy, et al. Expires November 1, 2010 [Page 14]
Internet-Draft Schema for Resources April 2010
Cardinality: (0,n)
ABNF:
INVENTORYLIST-param = "VALUE=text" / any-param
INVENTORYLIST-value = text
Example:
INVENTORYLIST:projector, phone
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
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 )
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
Joy, et al. Expires November 1, 2010 [Page 15]
Internet-Draft Schema for Resources April 2010
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
4.13.1. LDAP Attribute Definition
owner attribute as defined in Section 2.21 of [RFC4519].
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
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
Joy, et al. Expires November 1, 2010 [Page 16]
Internet-Draft Schema for Resources April 2010
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 )
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
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/
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] respectively.
4.15.2. VCard Property Definition
Calendar access property CAPURI as defined in Section 2.3.3 of
[RFC2739].
Joy, et al. Expires November 1, 2010 [Page 17]
Internet-Draft Schema for Resources April 2010
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/
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]
respectively.
4.16.2. VCard Property Definition
FBURL attribute as defined in Section 2.3.1 of [RFC2739] and
further explained in Section 7.9.1 of [I-D.ietf-vcarddav-vcardrev].
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
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] 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.
Joy, et al. Expires November 1, 2010 [Page 18]
Internet-Draft Schema for Resources April 2010
4.17.2. VCard Property Definition
Scheduling Address property CALADRURI as defined in Section
2.3.2 [RFC2739] and further explained in Section 7.9.2 of
[I-D.ietf-vcarddav-vcardrev]. 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.
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
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 )
4.18.2. VCard Property Definition
TimeZone property TZ as defined in Section 7.5.1 of
[I-D.ietf-vcarddav-vcardrev].
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
Joy, et al. Expires November 1, 2010 [Page 19]
Internet-Draft Schema for Resources April 2010
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 )
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
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
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 )
Joy, et al. Expires November 1, 2010 [Page 20]
Internet-Draft Schema for Resources April 2010
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
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]
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
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 )
4.21.2. VCard Property Definition
Purpose: To specify how much time in advance the resource
can be booked.
Type value: duration.
Joy, et al. Expires November 1, 2010 [Page 21]
Internet-Draft Schema for Resources April 2010
The format is based on the [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).
Cardinality: (0,1)
ABNF:
BOOKINGSTART-param = "VALUE=text" / any-param
BOOKINGSTART-value = text
Example:
BOOKINGSTART:-P3M
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]
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
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 )
4.22.2. VCard Property Definition
Purpose: To specify how much time in advance the resource
booking is closed.
Joy, et al. Expires November 1, 2010 [Page 22]
Internet-Draft Schema for Resources April 2010
Type value: duration.
The format is based on the [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).
Cardinality: (0,1)
ABNF:
BOOKINGEND-param = "VALUE=text" / any-param
BOOKINGEND-value = text
Example:
BOOKINGEND:-P5D
4.23. Scheduling Approval Info
Description:
Information regarding approval of a scheduling request to the
resource.
ValueType:
Object value.
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) )
4.23.2. Auto accept
Description:
No approval required. Auto accepted. Not required for a
resource scheduling query.
ValueType:
Boolean value.
Example value:
True
Joy, et al. Expires November 1, 2010 [Page 23]
Internet-Draft Schema for Resources April 2010
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 )
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
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
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 )
Joy, et al. Expires November 1, 2010 [Page 24]
Internet-Draft Schema for Resources April 2010
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
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
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 )
4.23.4.2. VCard Property Definition
Purpose: To specify URL pointing to Scheduling Manager
Information.
Type value: URI.
Cardinality: (0,n)
ABNF:
Joy, et al. Expires November 1, 2010 [Page 25]
Internet-Draft Schema for Resources April 2010
SCHEDADMININFO-param = "VALUE=uri" / any-param
SCHEDADMININFO-value = uri
Example:
SCHEDADMININFO:http://www.example.com/SchedAdmin1.vcf
4.24. Cost
Description:
Scheduling costs for this resource.
ValueType:
Object value.
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)
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
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 )
Joy, et al. Expires November 1, 2010 [Page 26]
Internet-Draft Schema for Resources April 2010
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
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
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 )
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
Joy, et al. Expires November 1, 2010 [Page 27]
Internet-Draft Schema for Resources April 2010
Example:
COSTINFO:http://www.example.com/cost.html
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.
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 )
4.25.2. VCard Property Definition
NOTE property as defined in Section 6.7.2 of
[I-D.ietf-vcarddav-vcardrev].
5. Examples
5.1. LDAP Examples
5.1.1. Location Resource
Joy, et al. Expires November 1, 2010 [Page 28]
Internet-Draft Schema for Resources April 2010
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.
5.1.2. Role Resources Group
Joy, et al. Expires November 1, 2010 [Page 29]
Internet-Draft Schema for Resources April 2010
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.
5.2. VCard Examples
5.2.1. Location Resource
Joy, et al. Expires November 1, 2010 [Page 30]
Internet-Draft Schema for Resources April 2010
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
5.2.2. Role Resources Group
Joy, et al. Expires November 1, 2010 [Page 31]
Internet-Draft Schema for Resources April 2010
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
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.
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 needs to be registered. In addition, the
following new VCard Properties need to be registered by IANA.
Joy, et al. Expires November 1, 2010 [Page 32]
Internet-Draft Schema for Resources April 2010
New VCard Properties Table:
+---------------------+---------------------------+
| VCard Property Name | VCard Property Definition |
+---------------------+---------------------------+
| RESTRICTEDACCESS | Section 4.9.2.2 |
| ADMISSIONINFO | Section 4.9.3.2 |
| SPECIALACCESS | Section 4.10.2 |
| CAPACITY | Section 4.11.2 |
| INVENTORYLIST | Section 4.12.2.2 |
| INVENTORYINFO | Section 4.12.3.2 |
| RESOURCEOWNER | Section 4.13.2 |
| RESOURCEMANAGER | Section 4.14.2 |
| MAXINSTANCE | Section 4.20.2 |
| BOOKINGSTART | Section 4.21.2 |
| BOOKINGEND | Section 4.22.2 |
| AUTOACCEPT | Section 4.23.2.2 |
| APPROVALINFO | Section 4.23.3.2 |
| APPROVERINFO | Section 4.23.4.2 |
| FREE | Section 4.24.2.2 |
| COST | Section 4.24.3.2 |
+---------------------+---------------------------+
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.
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.
[ISO.8601.2004] International
Organization for Standardization
, " Data
elements and interchange formats --
Information interchange --
Representation of dates and
times ", 2004.
Joy, et al. Expires November 1, 2010 [Page 33]
Internet-Draft Schema for Resources April 2010
[RFC2119] Bradner, S., "Key words for use in RFCs
to Indicate Requirement Levels",
BCP 14, RFC 2119, March 1997.
[RFC2739] Small, T., Hennessy, D., and F. Dawson,
"Calendar Attributes for vCard and
LDAP", RFC 2739, January 2000.
[RFC4519] Sciberras, A., "Lightweight Directory
Access Protocol (LDAP): Schema for User
Applications", RFC 4519, June 2006.
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/
Joy, et al. Expires November 1, 2010 [Page 34]
| PAFTECH AB 2003-2026 | 2026-04-23 09:03:52 |