One document matched: draft-vcard-schedulable-00.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
<!ENTITY RFC2739 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2739.xml'>
<!ENTITY RFC3339 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3339.xml'>
<!ENTITY RFC4589 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4589.xml'>
<!ENTITY RFC6350 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.6350.xml'>
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt"?>
<?rfc rfcedstyle="yes" ?>
<?rfc toc="yes"?>
<?rfc tocdepth="6"?><!-- default = 3 -->
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<!-- <?rfc strict="yes"?> -->
<!-- <?rfc comments="yes"?> -->
<!-- <?rfc inline="yes"?> -->
<rfc category="std" ipr='trust200902' docName='draft-vcard-schedulable-00'>
<front>
<title abbrev="Schedulable Objectclass for vCard">Schedulable Objectclass for vCard</title>
<author initials="C." surname="Joy" fullname="Ciny Joy">
<organization abbrev="Oracle">Oracle Corporation</organization>
<address>
<postal>
<street>
4210 Network Circle
</street>
<city>
Santa Clara
</city>
<region>
CA
</region>
<code> 95054 </code>
<country>
USA
</country>
</postal>
<email>
ciny.joy@oracle.com
</email>
<uri>
http://www.oracle.com/
</uri>
</address>
</author>
<author initials="C." surname="Daboo" fullname="Cyrus Daboo">
<organization abbrev="Apple Inc.">
Apple Inc.
</organization>
<address>
<postal>
<street>
1 Infinite Loop
</street>
<city>
Cupertino
</city>
<region>
CA
</region>
<code> 95014 </code>
<country>
USA
</country>
</postal>
<email>
cyrus@daboo.name
</email>
<uri>
http://www.apple.com/
</uri>
</address>
</author>
<author initials="M." surname="Douglass" fullname="Michael Douglass">
<organization abbrev="RPI">Rensselaer Polytechnic Institute</organization>
<address>
<postal>
<street>110 8th Street</street>
<city>Troy</city>
<region>NY</region>
<code>12180</code>
<country>USA</country>
</postal>
<email>douglm@rpi.edu</email>
<uri>http://www.rpi.edu/</uri>
</address>
</author>
<date month='January' year='2013' />
<area>
Applications
</area>
<abstract>
<t>
This specification describes a new property objectclass value for
the vcard objectclass property defined in [REF] allowing schedulable
entities to be marked as such.
</t>
</abstract>
</front>
<middle>
<section title='Introduction'>
<t>
The schedulable object class defines a number of properties which are
required or useful for schedulable entities.
</t>
<t>
A schedulable entity may be scheduled for meetings (usually a person) or
for use (usually a resource). The properties specified here allow a client
to discover such an entity and initiate a scheduling request.
</t>
<t>
Some of the properties and values may be used by calendar servers to
determine the appropriate action when a scheduling request is received.
For example, do we auto-accept the request if the entity is available?
</t>
</section>
<section title='Conventions Used in This Document'>
<t>
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in <xref target="RFC2119" />.
</t>
</section>
<section title='Schedulable Objectclass Value'
anchor="schedulable_objectclass_value">
<t>
This specification defines a new value for the OBJECTCLASS property
deined in [TODO]. The value is registered according to the procedure
in Section 10.2.6 of <xref target='RFC6350' />.
</t>
<t>
<list style="hanging">
<t hangText="Value:">
schedulable
</t>
<t hangText="Purpose:">
To specify the entity with this objectclass is schedulable.
</t>
<t hangText="Conformance">
This value MAY be used with the OBJECTCLASS property. If used the
properties, parameters and values of the vcard MUST conform to the
requirements of this specification.
</t>
<t hangText="Example:">
OBJECTCLASS:schedulable
</t>
</list>
</t>
</section>
<section title='Current vCard Properties for use with OBJECTCLASS:schedulable.'
anchor="current_properties">
<t>
The following properties MUST be specified in a vCard
representing a calendaring or schedulable resource:
<list style="symbols">
<t>FN</t>
<t>UID</t>
<t>KIND</t>
<t>CALADRURI or EMAIL</t>
</list>
</t>
<section title='CALADRURI' anchor="res_caladr">
<t>
The CALADRURI value is the address that would be used by
a Scheduling and Calendaring application to schedule the
resource.
</t>
<t>
Its value MUST be a uri string, in most cases a mailto:
uri. The EMAIL property value of the resource should be
used for scheduling, in the absence of this property.
</t>
</section>
</section>
<section title='New vCard Properties for use with OBJECTCLASS:schedulable.'
anchor="new_properties">
<t>
The following new properties are defined for use with
OBJECTCLASS:schedulable.
</t>
<t>
Format and cardinality of new vCard properties are defined as
described in Section 3.3 of <xref target='RFC6350' />.
</t>
<section title='AUTOSCHEDULE' anchor="auto">
<t>
<list style="hanging">
<t hangText="Purpose:">
Specify if the resource is automatically scheduled with
no approval process.
</t>
<t hangText="ValueType:">
Text value from the auto schedule values table.
</t>
<t hangText="Cardinality:">
*1
</t>
<t hangText="ABNF:">
<figure>
<artwork type="abnf">
AUTOSCHEDULE-param = "VALUE=text" / any-param
AUTOSCHEDULE-value = text
</artwork>
</figure>
</t>
<t hangText="Default value:">
If the property is absent or unknown, resource bookings
are auto accepted, if it does not
result in a booking conflict and auto declined if it does.
</t>
<t hangText="Default value:">
AUTO
</t>
<t hangText="Example value:">
AUTO
</t>
</list>
</t>
<texttable>
<preamble>Auto Schedule Values Table:</preamble>
<ttcol align='left'>Auto schedule value</ttcol>
<ttcol align='left'>Scheduling action</ttcol>
<c>NONE</c>
<c>no auto scheduling</c>
<c>ACCEPT-IF-FREE</c>
<c>auto accept invitations, if no conflict</c>
<c>DECLINE-IF-BUSY</c>
<c>auto decline invitations that result in a conflict</c>
<c>AUTO</c>
<c>auto accept and auto decline based on booking
conflict</c>
<c>ALWAYS-ACCEPT</c>
<c>auto accept all invitations</c>
<c>ALWAYS-DECLINE</c>
<c>auto decline all invitations</c>
</texttable>
</section>
<section title='BOOKINGINFO' anchor="bookinfo">
<t>
<list style="hanging">
<t hangText="Purpose:">
Provide the complete information on scheduling a
resource if access rights are set
or approval is required.
</t>
<t hangText="ValueType:">
URI value. It MAY also be a free-form text value.
</t>
<t hangText="Cardinality:">
*
</t>
<t hangText="ABNF:">
<figure>
<artwork type="abnf">
BOOKINGINFO-param = "VALUE=" ("text" / "uri") /
any-param
BOOKINGINFO-value = uri / text
</artwork>
</figure>
</t>
<t hangText="Default value:">
None
</t>
<t hangText="Example value:">
http://www.example.com/room1_booking.html
</t>
</list>
</t>
</section>
<section title='BOOKINGRESTRICTED' anchor="bookrestrict">
<t>
<list style="hanging">
<t hangText="Purpose:">
Specify if there are restrictions to booking the
resource specified by access rights in the system.
More information is provided by the BOOKINGINFO
<xref target="bookinfo" />
property.
</t>
<t hangText="ValueType:">
Boolean value.
</t>
<t hangText="Cardinality:">
*1
</t>
<t hangText="ABNF:">
<figure>
<artwork type="abnf">
BOOKINGRESTRICTED-param = "VALUE=boolean" / any-param
BOOKINGRESTRICTED-value = boolean
</artwork>
</figure>
</t>
<t hangText="Default value:">
FALSE.
</t>
<t>
Absence of this property indicates no restriction to
booking the resource.
</t>
<t hangText="Example value:">
TRUE
</t>
</list>
</t>
</section>
<section title='BOOKINGWINDOWSTART' anchor="bwin_start">
<t>
<list style="hanging">
<t hangText="Purpose:">
Defines how much time in advance the resource can be
booked.
</t>
<t hangText="ValueType:">
Duration value.
</t>
<t>
The format is based on the
<xref target="ISO.8601.2004" />
duration representation basic format with designators
for the duration of time.
The format can represent nominal durations (weeks and days) and
accurate
durations (hours, minutes, and seconds).
The syntax is further defined in Appendix A, "Duration" section of
<xref target='RFC3339' />.
</t>
<t hangText="Cardinality:">
<vspace />
*1
</t>
<t hangText="ABNF:">
<figure>
<artwork type="abnf">
BOOKINGWINDOWSTART-param = "VALUE=text" / any-param
BOOKINGWINDOWSTART-value = text
</artwork>
</figure>
</t>
<t hangText="Special Notes:">
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.
</t>
<t>
If this property value is defined, the resource may be
booked for an event at a certain time, only if the
current time is equal to or after the date and time
calculated by subtracting this value from the event's
proposed start time. If this property is absent, then
the resource may be booked at any time before the end of
the booking window.
</t>
<t hangText="Default value:">
None
</t>
<t hangText="Example value:">
P3M
</t>
</list>
</t>
</section>
<section title='BOOKINGWINDOWEND' anchor="bwin_end">
<t>
<list style="hanging">
<t hangText="Purpose:">
Defines how much time in advance the resource booking is
closed.
</t>
<t hangText="ValueType:">
Duration value.
</t>
<t>
The format is based on the
<xref target="ISO.8601.2004" />
duration representation basic format with designators
for the duration of time.
The format can represent nominal durations (weeks and days) and
accurate
durations (hours, minutes, and seconds).
The syntax is further defined in Appendix A, "Duration" section of
<xref target='RFC3339' />.
</t>
<t hangText="Cardinality:">
*1
</t>
<t hangText="ABNF:">
<figure>
<artwork type="abnf">
BOOKINGWINDOWEND-param = "VALUE=text" / any-param
BOOKINGWINDOWEND-value = text
</artwork>
</figure>
</t>
<t hangText="Special Notes:">
<vspace />
The value of this property is used to calculate the
latest date
and time when a resource can be reserved for an event starting on
a specific date and time.
<vspace />
If the current time is equal to or before the value
obtained by
subtracting BookingWindowEnd from the start date and time of the
event, then the resource may be booked. If this property is absent,
then the resource may be booked anytime from booking
window start
to the start of the event.
<vspace />
BookingWindow Start and End together provide the window
of time a
resource can be booked, relative to the start time of the event.
<vspace />
<figure>
<artwork>
If: BookingWindowStart = BwS,
BookingWindowEnd = BwE,
Current Time = CT and
Event Start Time = ST,
Then a resource can be booked at a certain time only if
CT is equal to or after (ST - BwS)
and CT is equal to or before (ST - BwE)
</artwork>
</figure>
</t>
<t hangText="Default value:">
<vspace />
None
</t>
<t hangText="Example value:">
<vspace />
P5D
</t>
</list>
</t>
</section>
<section title='MAXINSTANCES' anchor="max_inst">
<t>
<list style="hanging">
<t hangText="Purpose:">
Maximum number of instances of an event, the resource
can be scheduled for from NOW.
</t>
<t hangText="ValueType:">
Integer value.
</t>
<t hangText="Cardinality:">
*1
</t>
<t hangText="ABNF:">
<figure>
<artwork type="abnf">
MAXINSTANCES-param = "VALUE=integer" / any-param
MAXINSTANCES-value = integer
</artwork>
</figure>
</t>
<t hangText="Special Notes:">
Value of 0 indicates no limits. Value of 1 indicates
that no recurring bookings are allowed. If this property
is absent there is no limit to the number of instances
it may be booked for at any moment.
</t>
<t hangText="Default value:">
0
</t>
<t hangText="Example value:">
60
</t>
</list>
</t>
</section>
<section title='MULTIBOOK' anchor="multibook">
<t>
<list style="hanging">
<t hangText="Purpose:">
Number of simultaneous bookings allowed.
</t>
<t hangText="ValueType:">
Integer value.
<vspace />
Value of 0 indicates no limits.
</t>
<t hangText="Cardinality:">
*1
</t>
<t hangText="ABNF:">
<figure>
<artwork type="abnf">
MULTIBOOK-param = "VALUE=integer" / any-param
MULTIBOOK-value = integer
</artwork>
</figure>
</t>
<t hangText="Special Notes:">
Value of 0 indicates no limits. If this property is
absent the resource may be booked only for one event at
a particular moment.
</t>
<t hangText="Default value:">
1
</t>
<t hangText="Example value:">
1
</t>
</list>
</t>
</section>
</section>
<section title='New Parameter Values' anchor="paramvals">
<section title='RELATED TYPE Values' anchor="reltypevals">
<t>
This document specifies the following additional values
that can be used as the value for the TYPE parameter of
the RELATED property defined in Section 6.6.6 of
<xref target='RFC6350' />.
<list style="symbols">
<t>schedule-admin: an entity that performs scheduling
approval, when scheduling the entity associated with
this vCard, if approval required.</t>
</list>
</t>
</section>
</section>
<section title='Examples'>
<section title='Schedulable'>
<t>
A schedulable entity can be scheduled for meetings (as a person) or
for use (as a resource). For a scheduling system to be able to
usefully manage the schedule it needs specific information.
</t>
<t>
At the very least there MUST be some form of calendar user address.
It's useful to know whether requests can be auto accepted if the slot
is available.
</t>
<figure>
<artwork>
BEGIN:VCARD
VERSION:4.0
UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1
FN:J. Doe
N:Doe;J.;;;
EMAIL:jdoe@example.edu
TEL;VALUE=uri:tel:+1-555-555-5555
OBJECTCLASS:schedulable
CALADRURI:jdoe@example.edu
AUTOSCHEDULE:ACCEPT-IF-FREE
END:VCARD
</artwork>
</figure>
</section>
</section>
<section title="Security Considerations" anchor="SECURITY_CONSIDERATIONS">
<t>
As this document only defines schema for representing entities
for calendaring and scheduling and does not refer to the actual storage
mechanism itself, or the calendaring and scheduling protocol,
no special security considerations are required as part of this document.
</t>
</section><!-- SECURITY_CONSIDERATIONS -->
<section title='IANA Considerations' anchor ='iana_registry'>
<section title='New VCard Objectclass Value Registration'>
<t>
A objectclass value is be defined according to the process specified
in Section 10.2.6 of <xref target='RFC6350' />.
</t>
</section>
<section title='VCard Property and Value Registration'>
<t>
The following new VCard Properties need to be registered by IANA.
</t>
<texttable>
<preamble>New VCard Properties Table:</preamble>
<ttcol align='left'>VCard Property Name</ttcol>
<ttcol align='left'>VCard Property Definition</ttcol>
<c>AUTOSCHEDULE</c>
<c>
<xref target="auto" />
</c>
<c>BOOKINGINFO</c>
<c>
<xref target="bookinfo" />
</c>
<c>BOOKINGRESTRICTED</c>
<c>
<xref target="bookrestrict" />
</c>
<c>BOOKINGWINDOWSTART</c>
<c>
<xref target="bwin_start" />
</c>
<c>BOOKINGWINDOWEND</c>
<c>
<xref target="bwin_end" />
</c>
<c>MAXINSTANCES</c>
<c>
<xref target="max_inst" />
</c>
<c>MULTIBOOK</c>
<c>
<xref target="multibook" />
</c>
</texttable>
<t>
The following new VCard Parameter Values need to be registered by
IANA.
</t>
<texttable>
<preamble>New VCard Properties Table:</preamble>
<ttcol align='left'>VCard Property Name</ttcol>
<ttcol align='left'>VCard Parameter Name</ttcol>
<ttcol align='left'>VCard Parameter Value</ttcol>
<c>RELATED</c>
<c>TYPE</c>
<c>
schedule-admin
<xref target="reltypevals" />
</c>
</texttable>
</section>
</section>
<section title='Acknowledgments'>
<t>
This specification is a result of discussions that took place within the
Calendaring and Scheduling Consortium's Resource Technical Committee. The
authors thank the participants of that group.
</t>
</section>
<section title='Recommendations for Calendaring Systems'>
<t>
While this document does not mandate how each of the defined
property values must be used by calendaring systems, here are
some recommendations:
<list style="numbers">
<t>
BOOKINGWINDOWSTART (<xref target="bwin_start" />),
BOOKINGWINDOWEND (<xref target="bwin_end" />)
and MULTIBOOK (<xref target="multibook" />)
information should be used in freebusy calculations.
A query for a time slot that falls outside the booking window or one
that already has the maximum allowed number of simultaneous
bookings, MUST be returned as BUSY_UNAVAILABLE.
</t>
<t>
Calendaring systems that support the AUTOSCHEDULE
()<xref target="auto" />)
property, SHOULD automatically mark the attendee PARTSTAT
for a resource as ACCEPTED, if its auto schedule value is AUTO
and the scheduling is successful. If scheduling administrator
approval is required, the PARTSTAT could be automatically
marked as TENTATIVE. Rooms SHOULD have this property defined.
</t>
<t>
Information from other properties, for example the capacity if a
resource can be used by calendaring systems to warn end users if the
number of attendees exceed the capacity value. Rooms SHOULD
have CAPACITY defined.
</t>
</list>
</t>
<t>
Individual calendar servers may regard the values of these
properties set in a directory server or a different database as
advisory and could further limit what it allows.
</t>
</section>
</middle>
<back>
<references title='Normative References'>
&RFC2119;
&RFC2739;
&RFC3339;
&RFC4589;
&RFC6350;
<reference anchor="ISO.8601.2004">
<front>
<title>
Data elements and interchange formats --
Information interchange --
Representation of dates and times
</title>
<author>
<organization>
International Organization for Standardization
</organization>
</author>
<date year="2004"/>
</front>
</reference><!-- ISO.8601.2004-->
</references>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-23 20:38:24 |