[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Clarification for Free/Busy



Title: Message
I am hoping that someone can clarify how to map from a VEVENT component's properties to what should be returned for a Free/Busy request.
 
RFC 2445 states unambiguously that TRANSP is the property that is to be used to return Free/Busy status. From "4.8.2.7 Time Transparency":
 
Description: Time Transparency is the characteristic of an event that
    determines whether it appears to consume time on a calendar. Events
    that consume actual time for the individual or resource associated
    with the calendar SHOULD be recorded as OPAQUE, allowing them to be
    detected by free-busy time searches. Other events, which do not take
    up the individual's (or resource's) time SHOULD be recorded as
    TRANSPARENT, making them invisible to free-busy time searches.
 

This seems clear until I read the description of the free busy time type parameter, FBTYPE (a parameter of FREEBUSY, which is a property of a VFREEBUSY component). From "4.2.9 Free/Busy Time Type" (fbtype):
 
Description: The parameter specifies the free or busy time type. The
    value FREE indicates that the time interval is free for scheduling.
    The value BUSY indicates that the time interval is busy because one
    or more events have been scheduled for that interval. The value
    BUSY-UNAVAILABLE indicates that the time interval is busy and that
    the interval can not be scheduled. The value BUSY-TENTATIVE indicates
    that the time interval is busy because one or more events have been
    tentatively scheduled for that interval. If not specified on a
    property that allows this parameter, the default is BUSY.
 
The above clearly states that there are four (4) levels of free/busy:
 
FREE
BUSY
BUSY-UNAVAILABLE
BUSY-TENTATIVE
 
What I'm missing is a way to map from an Event's TRANSP property which has only two states (FREE or BUSY) to these four states.
 
Is the intention that free/busy should be reported by combining TRANSP with some other property or properties? If I just look at the value "tentative", I see that there are actually two places in an Event where I could potentially derive that value: PARTSTAT and STATUS. I don't see any explicit instruction in RFC 2445 for this.
 
Let me rephrase this a bit in the hope of getting a more exact answer. And instead of looking at a VEVENT and deciding what the FBTYPE should be, can we look at what the desired FBTYPE is and work backwards?
 
What does the VEVENT look like that would generate, for example, the following property in a VFREEBUSY component:
 
FREEBUSY;FBTYPE=BUSY-TENTATIVE:20031201T130000Z/20031201T140000Z
 
or to get even more explicit let's take several cases:
 
1. An attendee has been invited to an event and replied with a tentative acceptance. What does the Attendee's copy of that VEVENT look like in order to return
 FREEBUSY;FBTYPE=BUSY-TENTATIVE: <dates >
 
2. An attendee has been invited to an event and replied with a decline. If the attendee retains that event (maybe he want to be able to change his mind later?), what does his copy of that VEVENT look like? I assume that he should report that timeslot as being "FREE":
 FREEBUSY;FBTYPE=FREE: <dates >
 
3. An attendee has been invited to an event and replied with an acceptance. The organizer has then canceled the event, but the Attendee retains a copy (for whatever reason). What does the Attendee's copy of that VEVENT look like in order to return
 FREEBUSY;FBTYPE=FREE: <dates >
 
4. What does anyone's (organizer or attendee) VEVENT copy look like to generate:
 FREEBUSY;FBTYPE=BUSY-UNAVAILABLE: <dates >
 

In case it's not clear, I'm looking for someone to help me out by telling me that the associated VEVENT would look like:
 
TRANSP: <value >
STATUS: <value >
ATTENDEE: <whatever >
 
or any appropriate fields and values that are involved.
 
 
I'd appreciate any help the list can give.