I sent a vCalendar message to Outlook which results in a new Event in Outlook Calendar. How to set "Show As" field? (Free/Busy/Tentative/Out of Office)
I saw this line in the .ics file created by Outlook 2010
X-MICROSOFT-CDO-BUSYSTATUS:FREE
so it looks like Microsoft has "extended" the vcal spec to suit their purposes. I can confirm that adding that line does work when a feed is viewed in Outlook and seems to cause no harm when consumed by the iPhone's calendar app.
It turns out that in the standard there's a place for this, missed by Sean:
4.2.9 Free/Busy Time Type
Parameter Name: FBTYPE
Purpose: To specify the free or busy time type.
Format Definition: The property parameter is defined by the following notation:
fbtypeparam = "FBTYPE" "=" ("FREE" / "BUSY" / "BUSY-UNAVAILABLE" / "BUSY-TENTATIVE" / x-name ; Some experimental iCalendar data type. / iana-token) ; Some other IANA registered iCalendar data type.
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.Example: The following is an example of this parameter on a FREEBUSY property.
FREEBUSY;FBTYPE=BUSY:19980415T133000Z/19980415T170000Z
Which status field do you mean? Do you mean when replying to a meeting request or when sending information about a meeting?
Either way, the answer is in the vCalendar standard document. I think you mean the STATUS field. Wikipedia has an example of this field as:
BEGIN:VCALENDAR
VERSION:1.0
BEGIN:VEVENT
CATEGORIES:MEETING
STATUS:TENTATIVE
DTSTART:19960401T033000Z
DTEND:19960401T043000Z
SUMMARY:Your Proposal Review
DESCRIPTION:Steve and John to review newest proposal material
CLASS:PRIVATE
END:VEVENT
END:VCALENDAR
http://en.wikipedia.org/wiki/VCalendar#vCalendar_1.0
The standards document for the format is: http://www.ietf.org/rfc/rfc2445.txt
You might also try creating an event in outlook, saving it as a vCard, and then opening the vCard in notepad. This will show you how outlook saves the information.
The documentation leads me to believe that you can only set a Busy or Tentative status:
4.8.1.11 Status
Property Name: STATUS
Purpose: This property defines the overall status or confirmation for
the calendar component.Value Type: TEXT
Property Parameters: Non-standard property parameters can be
specified on this property.Conformance: This property can be specified in "VEVENT", "VTODO" or
"VJOURNAL" calendar components.Description: In a group scheduled calendar component, the property is
used by the "Organizer" to provide a confirmation of the event to the
"Attendees". For example in a "VEVENT" calendar component, the "Organizer" can indicate that a meeting is tentative, confirmed or cancelled. In a "VTODO" calendar component, the "Organizer" can indicate that an action item needs action, is completed, is in process or being worked on, or has been cancelled. In a "VJOURNAL" calendar component, the "Organizer" can indicate that a journal entry is draft, final or has been cancelled or removed.Format Definition: The property is defined by the following notation:
status = "STATUS" statparam] ":" statvalue CRLF statparam = *(";" xparam) statvalue = "TENTATIVE" ;Indicates event is ;tentative. / "CONFIRMED" ;Indicates event is ;definite. / "CANCELLED" ;Indicates event was ;cancelled. ;Status values for a "VEVENT"
Since RFC 2445 and 5545 both do not support the statuses OOO and Tentative, you can use the property X-MICROSOFT-CDO-INTENDEDSTATUS: https://msdn.microsoft.com/en-us/library/ee203636(v=exchg.80).aspx
Not sure if things have changed over the years, but I was able to use this to automatically set things to be Tentative:
X-MICROSOFT-CDO-BUSYSTATUS:TENTATIVE
I use python to import win32, for this is one attribute called BUSYSTATUS, the value can define the status of shows FREE=0,1=TENTIVE,2=BUSY
import win32com.client as win32
outlook = win32.Dispatch('outlook.application')
myItem = outlook.CreateItem(1)
myItem.MeetingStatus =(1) ## this means it is an appointment
myItem.BUSYSTATUS=0 ## SHOW AS 0=FREE,1=TENTIVE,2=BUSY
© 2022 - 2024 — McMap. All rights reserved.