Schema for representing resources for calendaring and scheduling services
draft-cal-resource-schema-03
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 June 2, 2011.
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.
General Considerations
4.
Resource Object
4.1.
LDAP Resource ObjectClass Definition
5.
Resource Attributes
5.1.
Common Name
5.1.1.
LDAP Attribute Definition
5.1.2.
VCard Property Definition
5.2.
Kind
5.2.1.
LDAP Attribute Definition
5.2.2.
VCard Property Definition
5.3.
Unique ID
5.3.1.
LDAP Attribute Definition
5.3.2.
VCard Property Definition
5.4.
Nick Name
5.4.1.
LDAP Attribute Definition
5.4.2.
VCard Property Definition
5.5.
Description
5.5.1.
LDAP Attribute Definition
5.5.2.
VCard Property Definition
5.6.
Organizational Unit
5.6.1.
LDAP Attribute Definition
5.6.2.
VCard Property Definition
5.7.
Categories
5.7.1.
LDAP Attribute Definition
5.7.2.
VCard Property Definition
5.8.
Group Member
5.8.1.
LDAP Attribute Definition
5.8.2.
VCard Property Definition
5.9.
Admittance Info
5.9.1.
LDAP ObjectClass Definition
5.9.2.
Restricted Access
5.9.2.1.
LDAP Attribute Definition
5.9.2.2.
VCard Property Definition
5.9.3.
Admittance Info URL
5.9.3.1.
LDAP Attribute Definition
5.9.3.2.
VCard Property Definition
5.10.
Accessibility
5.10.1.
LDAP Attribute Definition
5.10.2.
VCard Property Definition
5.11.
Capacity
5.11.1.
LDAP Attribute Definition
5.11.2.
VCard Property Definition
5.12.
Inventory Info
5.12.1.
LDAP ObjectClass Definition
5.12.2.
Inventory List
5.12.2.1.
LDAP Attribute Definition
5.12.2.2.
VCard Property Definition
5.12.3.
Inventory URL
5.12.3.1.
LDAP Attribute Definition
5.12.3.2.
VCard Property Definition
5.13.
Owner Info
5.13.1.
LDAP Attribute Definition
5.13.2.
VCard Property Definition
5.14.
Resource Manager Info
5.14.1.
LDAP Attribute Definition
5.14.2.
VCard Property Definition
5.15.
Calendar URL
5.15.1.
LDAP Attribute Definition
5.15.2.
VCard Property Definition
5.16.
FreeBusy URL
5.16.1.
LDAP Attribute Definition
5.16.2.
VCard Property Definition
5.17.
Scheduling Address
5.17.1.
LDAP Attribute Definition
5.17.2.
VCard Property Definition
5.18.
Time Zone
5.18.1.
LDAP Attribute Definition
5.18.2.
VCard Property Definition
5.19.
Multiple Bookings
5.19.1.
LDAP Attribute Definition
5.19.2.
VCard Property Definition
5.20.
Maximum Instances
5.20.1.
LDAP Attribute Definition
5.20.2.
VCard Property Definition
5.21.
BookingWindow Start
5.21.1.
LDAP Attribute Definition
5.21.2.
VCard Property Definition
5.22.
BookingWindow End
5.22.1.
LDAP Attribute Definition
5.22.2.
VCard Property Definition
5.23.
Scheduling Approval Info
5.23.1.
LDAP ObjectClass Definition
5.23.2.
Auto schedule
5.23.2.1.
LDAP Attribute Definition
5.23.2.2.
VCard Property Definition
5.23.3.
Approval Info URL
5.23.3.1.
LDAP Attribute Definition
5.23.3.2.
VCard Property Definition
5.23.4.
Scheduling Admin Contact
5.23.4.1.
LDAP Attribute Definition
5.23.4.2.
VCard Property Definition
5.24.
Cost
5.24.1.
LDAP ObjectClass Definition
5.24.2.
Nocost
5.24.2.1.
LDAP Attribute Definition
5.24.2.2.
VCard Property Definition
5.24.3.
Cost URL
5.24.3.1.
LDAP Attribute Definition
5.24.3.2.
VCard Property Definition
5.25.
Related
5.25.1.
LDAP Attribute Definition
5.25.2.
VCard Property Definition
6.
Examples
6.1.
LDAP Examples
6.1.1.
Location Resource
6.1.2.
Role Resources Group
6.2.
VCard Examples
6.2.1.
Location Resource
6.2.2.
Role Resources Group
7.
Security Considerations
8.
IANA Considerations
8.1.
LDAP Objectclass and Attribute Registration
8.2.
VCard Property Registration
9.
Acknowledgments
10.
Normative References
1.
Introduction
This specification defines a schema for representing resources to ease the discovery and scheduling of resources between any calendar client and server.
LDAP and vCard mappings of the schema are described in this document. 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] (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.).
3.
General Considerations
Data values must have valid representation for the chosen format with respect to escape characters, line folding, and so on.
4.
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 5 (Resource Attributes).
The cn attribute, described in Section 5.1 (Common Name) 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.
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,” August 2010.) [I‑D.ietf‑vcarddav‑vcardrev] can be used to include contact information for the resource.
4.1.
LDAP Resource ObjectClass Definition
In LDAP, a resource object SHOULD be defined as an objectclass with attributes
as defined in Section 5 (Resource Attributes).
This objectClass MUST be an auxiliary class. Its Superior class is 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.).
Definition of the CalendarResource ObjectClass:
( 1.3.6.1.1.x.1.1
NAME 'CalendarResource'
DESC 'Calendar Resource Object Class'
SUP calEntry
AUXILIARY
MUST (cn)
MAY (kind $ nickname $ description $ ou $ categories $
member $ uniquemember $ accessibilityurl $ capacity $
owner $ resourcemanager $ timezoneid $
multiplebookings $ maxinstances $
bookingwindowstart $ bookingwindowend $
vcarduid $ related) )
5.
Resource Attributes
5.1.
Common Name
- Description:
-
Full name of the resource. This attribute MUST be defined for a resource object.
- ValueType:
-
String value.
- Example value:
-
Room One
5.1.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.). This attribute MUST be present in a CalendarResource object.
5.1.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,” August 2010.).
5.2.
Kind
- Description:
-
The kind of object represented.
- 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
5.2.1.
LDAP Attribute Definition
Definition of the kind LDAP attribute:
( 1.3.6.1.1.x.0.1
NAME 'Kind'
DESC 'Kind of Object'
EQUALITY caseIgnoreMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
SINGLE-VALUE )
5.2.2.
VCard Property Definition
Property KIND that specifies the kind of object represented, as defined in Section 6.1.5 of [I‑D.ietf‑vcarddav‑vcardrev] (Perreault, S. and P. Resnick, “vCard Format Specification,” August 2010.).
5.3.
Unique ID
- Description:
-
A Unique Identifier.
- ValueType:
-
Single string value.
- Example value:
-
room1-id1
5.3.1.
LDAP Attribute Definition
Definition of the vcarduid LDAP attribute:
( 1.3.6.1.1.x.0.1
NAME 'VcardUid'
DESC 'VCard UniqueID'
EQUALITY caseExactMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
SINGLE-VALUE )
5.3.2.
VCard Property Definition
UID property as defined in Section 6.7.7 of [I‑D.ietf‑vcarddav‑vcardrev] (Perreault, S. and P. Resnick, “vCard Format Specification,” August 2010.).
5.4.
Nick Name
- Description:
-
A short or popular name for the resource.
- ValueType:
-
String value.
- Example value:
-
TheOne
5.4.1.
LDAP Attribute Definition
Definition of the nickname LDAP attribute:
( 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 )
5.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,” August 2010.).
5.5.
Description
- Description:
-
Description of the resource.
- ValueType:
-
String value.
- Example value:
-
Room 1 in Building X
5.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.).
5.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,” August 2010.).
5.6.
Organizational Unit
- Description:
-
Organizations the resource belongs to.
- ValueType:
-
String value.
- Example value:
-
EngineeringDepartment
5.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.).
5.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,” August 2010.).
5.7.
Categories
- Description:
-
Categories the resource falls under or tags for easy discovery of the resource.
- ValueType:
-
String value.
- Example value:
-
Rooms, EngineeringResources
5.7.1.
LDAP Attribute Definition
Definition of the categories LDAP attribute:
( 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 )
5.7.2.
VCard Property Definition
CATEGORIES property as defined in Section 6.7.1 of [I‑D.ietf‑vcarddav‑vcardrev] (Perreault, S. and P. Resnick, “vCard Format Specification,” August 2010.).
5.8.
Group Member
- Description:
-
List of unique resources in a group of resources object.
- ValueType:
-
URL value.
- Example value:
-
http://www.example.com/printer1.html
http://www.example.com/printer2.html
5.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.).
5.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,” August 2010.).
5.9.
Admittance Info
- Description:
Information required to gain access to the resource.
- ValueType:
Object value.
5.9.1.
LDAP ObjectClass Definition
Definition of the admittanceinfo LDAP objectclass:
( 1.3.6.1.1.x.1.2
NAME 'AdmittanceInfo'
DESC 'Calendar Resource Admittance Info Class'
SUP CalendarResource
AUXILIARY
MAY (admittanceurl $ restricted) )
5.9.2.
Restricted Access
- Description:
-
Is access to the resource restricted?
- ValueType:
-
Boolean value.
- Example value:
-
TRUE
5.9.2.1.
LDAP Attribute Definition
Definition of the restricted LDAP attribute:
( 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 )
5.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
5.9.3.
Admittance Info URL
- Description:
-
URL pointing to complete information for accessing the resource including getting accessibility rights, special entrances, and so on.
- ValueType:
-
URL value.
- Example value:
-
http://www.example.com/room1_admittance.html
5.9.3.1.
LDAP Attribute Definition
Definition of the admittanceurl LDAP attribute:
( 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 )
5.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
5.10.
Accessibility
- Description:
-
Special resource accessibility info for the physically disabled.
- ValueType:
-
URL value.
- Example value:
-
http://www.example.com/room1_specialaccess.html
5.10.1.
LDAP Attribute Definition
Definition of the accessibilityurl LDAP attribute:
( 1.3.6.1.1.x.0.6
NAME 'accessibilityURL'
DESC 'Cal Resource accessibility Info URL'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
5.10.2.
VCard Property Definition
- Purpose:
- To specify URL pointing to Disabled Access Information.
- Type value:
- URI.
- Cardinality:
- (0,n)
- ABNF:
-
ACCESSIBILITYINFO-param = "VALUE=uri" / any-param
ACCESSIBILITYINFO-value = uri
- Example:
-
ACCESSIBILITYINFO:http://www.example.com/room1_specialaccess.html
5.11.
Capacity
- Description:
-
Capacity of the resource.
- ValueType:
-
Integer.
- Example value:
-
10
5.11.1.
LDAP Attribute Definition
Definition of the capacity LDAP attribute:
( 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 )
5.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
5.12.
Inventory Info
- Description:
-
Information on resources available as part of this resource.
- ValueType:
-
Object value.
5.12.1.
LDAP ObjectClass Definition
Definition of the inventoryinfo LDAP attribute:
( 1.3.6.1.1.x.1.3
NAME 'InventoryInfo'
DESC 'Calendar Resource Inventory Info Class'
SUP CalendarResource
AUXILIARY
MAY (inventorylist $ inventoryurl) )
5.12.2.
Inventory List
- Description:
-
List of resources available as part of this resource.
- ValueType:
-
String value. One or more text values separated by a COMMA character.
- Example value:
-
Printer, Projector
5.12.2.1.
LDAP Attribute Definition
Definition of the inventorylist LDAP attribute:
( 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 )
5.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
5.12.3.
Inventory URL
- Description:
-
A URL pointing to other resource URLs part of this resource.
- ValueType:
-
URL value.
- Example value:
-
http://www.example.com/room1_inventory.html
5.12.3.1.
LDAP Attribute Definition
Definition of the inventoryurl LDAP attribute:
( 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 )
5.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
5.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.
- ValueType:
-
URL value.
- Example value:
-
http://www.example.com/room1_ownerinfo.html
5.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.).
5.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
5.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.
- ValueType:
-
URL value.
- Example value:
-
http://www.example.com/room1_managerinfo.html
5.14.1.
LDAP Attribute Definition
Definition of the resourcemanager LDAP attribute:
( 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 )
5.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
5.15.
Calendar URL
- Description:
-
URL to access calendar data of the resource.
- ValueType:
-
URL value.
- Example value:
-
http://www.example.com/calendar/home/Room1/calendar/
5.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.
5.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.).
5.16.
FreeBusy URL
- Description:
-
URL to read freebusy information of the resource's calendar.
- ValueType:
-
URL value.
- Example value:
-
http://www.example.com/freebusy/home/Room1/
5.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.
5.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,” August 2010.).
5.17.
Scheduling Address
- Description:
-
Address used for scheduling the resource by a Calendaring and Scheduling service.
- ValueType:
-
String value.
- Example value:
-
mailto:room1@example.com
5.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.
5.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,” August 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.
5.18.
Time Zone
- Description:
-
TimeZone Identifier for the timezone the resource is in.
- ValueType:
-
String value.
- Example value:
-
America/New_York
5.18.1.
LDAP Attribute Definition
Definition of the timezoneid LDAP attribute:
( 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 )
5.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,” August 2010.).
5.19.
Multiple Bookings
- Description:
-
Number of simultaneous bookings allowed.
- ValueType:
-
Integer value.
Value of 0 indicates no limits.
- Example value:
-
1
5.19.1.
LDAP Attribute Definition
Definition of the multiplebookings LDAP attribute:
( 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 )
5.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
5.20.
Maximum Instances
- Description:
-
Maximum number of instances of an event, the resource can be scheduled for from NOW.
- ValueType:
-
Integer value.
Value of 0 indicates no limits.
- Example value:
-
60
5.20.1.
LDAP Attribute Definition
Definition of the maxinstances LDAP attribute:
( 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 )
5.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
5.21.
BookingWindow Start
- Description:
-
Defines how much time in advance the resource can be booked. 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.
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.
- 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
5.21.1.
LDAP Attribute Definition
Definition of the bookingwindowstart LDAP attribute:
( 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 )
5.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:
-
BOOKINGWINDOWSTART-param = "VALUE=text" / any-param
BOOKINGWINDOWSTART-value = text
- Example:
-
BOOKINGWINDOWSTART:P3M
5.22.
BookingWindow End
- Description:
-
Defines how much time in advance the resource booking is closed.
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.
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.
BookingWindow Start and End together provide the window of time a
resource can be booked, relative to the start time of the event.
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)
- 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
5.22.1.
LDAP Attribute Definition
Definition of the bookingwindowend LDAP attribute:
( 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 )
5.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:
-
BOOKINGWINDOWEND-param = "VALUE=text" / any-param
BOOKINGWINDOWEND-value = text
- Example:
-
BOOKINGWINDOWEND:P5D
5.23.
Scheduling Approval Info
- Description:
-
Information regarding approval of a scheduling request to the resource.
- ValueType:
-
Object value.
5.23.1.
LDAP ObjectClass Definition
Definition of the schedapprovalinfo LDAP objectclass:
( 1.3.6.1.1.x.1.4
NAME 'SchedApprovalInfo'
DESC 'Calendar Sched Approval Class'
SUP CalendarResource
AUXILIARY
MAY (autoschedule $ approvalinfourl $ schedadmin) )
5.23.2.
Auto schedule
- Description:
-
No approval required. Automatically scheduled.
- ValueType:
-
Boolean value.
- Example value:
-
TRUE
5.23.2.1.
LDAP Attribute Definition
Definition of the autoschedule LDAP attribute:
( 1.3.6.1.1.x.0.16
NAME 'Autoschedule'
DESC 'Cal Scheduling no approval required'
EQUALITY booleanMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
5.23.2.2.
VCard Property Definition
- Purpose:
-
To specify if invitations should be automatically scheduled.
- Type value:
- Boolean.
- Cardinality:
- (0,1)
- ABNF:
-
AUTOSCHEDULE-param = "VALUE=boolean" / any-param
AUTOSCHEDULE-value = "TRUE" / "FALSE"
- Example:
-
AUTOSCHEDULE:TRUE
5.23.3.
Approval Info URL
- Description:
-
URL pointing to complete information on scheduling request approval
process for the resource.
- ValueType:
-
URL value.
- Example value:
-
http://www.example.com/room1_approval.html
5.23.3.1.
LDAP Attribute Definition
Definition of the approvalinfourl LDAP attribute:
( 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 )
5.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
5.23.4.
Scheduling Admin Contact
- Description:
-
Contact information for the scheduling approvers, if approval required.
- ValueType:
-
URL value.
- Example value:
-
http://www.example.com/SchedAdmin1.vcf
5.23.4.1.
LDAP Attribute Definition
Definition of the schedadmin LDAP attribute:
( 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 )
5.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
5.24.
Cost
- Description:
-
Scheduling costs for this resource.
- ValueType:
-
Object value.
5.24.1.
LDAP ObjectClass Definition
Definition of the cost LDAP objectclass:
( 1.3.6.1.1.x.1.5
NAME 'CalendarResourceCost'
DESC 'Calendar Resource Cost Object Class'
SUP CalendarResource
AUXILIARY
MAY (nocost $ costurl)
5.24.2.
Nocost
- Description:
-
No cost for using the resource. Can be used for a resource scheduling query.
- ValueType:
-
Boolean value.
- Example value:
-
TRUE
5.24.2.1.
LDAP Attribute Definition
Definition of the nocost LDAP attribute:
( 1.3.6.1.1.x.0.19
NAME 'Nocost'
DESC 'Free or Priced resource'
EQUALITY booleanMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
5.24.2.2.
VCard Property Definition
- Purpose:
- To specify if resource usage is free.
- Type value:
- A single boolean value.
- Cardinality:
- (0,1)
- ABNF:
-
NOCOST-param = ; no parameter allowed
NOCOST-value = boolean
- Example:
-
NOCOST:TRUE
5.24.3.
Cost URL
- Description:
-
URL pointing to complete pricing information for usage of the resource.
- ValueType:
-
URL value.
- Example value:
-
http://www.example.com/cost.html
5.24.3.1.
LDAP Attribute Definition
Definition of the costurl LDAP attribute:
( 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 )
5.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
5.25.
Related
- Description:
-
Specify a relationship with another resource.
- ValueType:
-
URL value.
- Example value:
-
http://www.example.com/printer1.html
5.25.1.
LDAP Attribute Definition
Definition of the related LDAP attribute:
( 1.3.6.1.1.x.0.21
NAME 'Related'
DESC 'Related URL'
EQUALITY uniqueMemberMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.34 )
5.25.2.
VCard Property Definition
The property RELATED as defined in Section 6.6.6 of [I‑D.ietf‑vcarddav‑vcardrev] (Perreault, S. and P. Resnick, “vCard Format Specification,” August 2010.).
6.
Examples
6.1.
LDAP Examples
6.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
kind: location
vcarduid: 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
accessibilityurl: 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
autoschedule: FALSE
approvalinfourl: http://www.example.com/room1_approval.html
schedadmin: cn=RoomOwner,ou=Engineering,dc=example,dc=com
nocost: FALSE
costurl: http://www.example.com/cost.html
6.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
kind: group
vcarduid: 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
autoschedule: FALSE
approvalinfourl: http://www.example.com/driversX_approval.html
schedadmin: cn=TransportationManager,ou=Transportation,dc=example,dc=com
nocost: FALSE
costurl: http://www.example.com/driversXcost.html
6.2.
VCard Examples
6.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
RESTRICTEDACCESS: TRUE
ADMISSIONINFO: http://www.example.com/room1_admittance.html
ACCESSIBILITYINFO: 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
BOOKINGWINDOWSTART:P3M
BOOKINGWINDOWEND: P3D
AUTOSCHEDULE: FALSE
APPROVALINFO: http://www.example.com/room1_approval.html
SCHEDADMININFO: http://www.example.com/SchedAdmin1.vcf
NOCOST: FALSE
COSTINFO: http://www.example.com/cost.html
END:VCARD
6.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
BOOKINGWINDOWSTART:P3M
BOOKINGWINDOWEND: P3D
AUTOSCHEDULE: FALSE
APPROVALINFO: http://www.example.com/driversX_approval.html
SCHEDADMININFO: http://www.example.com/DriversX_SchedAdmin.vcf
NOCOST: FALSE
COSTINFO: http://www.example.com/driversXcost.html
END:VCARD
7.
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.
8.
IANA Considerations
8.1.
LDAP Objectclass and Attribute Registration
New LDAP objectclasses and attributes defined in this document need to be registered by the Internet Assigned Numbers Authority (IANA) as requested in the following template. Once the assignment is done, this document needs to be updated with the right OID numbers for all the newly defined objectclasses and attributes.
Subject: Request for LDAP Descriptor Registration
Descriptor (short name): See table below
Object Identifier: See table below
Person & email address to contact for further information:
Ciny Joy <ciny.joy@oracle.com>
Usage: See table below
Specification: draft-cal-resource-schema
Author/Change Controller: IESG
New LDAP ObjectClass and Attributes Table:
8.2.
VCard Property Registration
The following new VCard Properties need to be registered by IANA.
New VCard Properties Table:
9.
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.
10. Normative References
[I-D.ietf-vcarddav-vcardrev] |
Perreault, S. and P. Resnick, “vCard Format Specification,” draft-ietf-vcarddav-vcardrev-13 (work in progress), August 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). |
Authors' Addresses