@startuml class org.accordproject.calendar_0_2_0.CalendarComponent << (A,green) >> { + String uid } class org.accordproject.calendar_0_2_0.UniqueComponent << (A,green) >> { + String[] attendee + String[] comment + DateTime dtstamp + String organizer + String[] requestStatuses + String url } org.accordproject.calendar_0_2_0.UniqueComponent --|> org.accordproject.calendar_0_2_0.CalendarComponent class org.accordproject.calendar_0_2_0.RecurringComponent << (A,green) >> { + String[] attachements + String[] categories + String classType + String[] contacts + DateTime created + String description + DateTime lastModified + Integer priority + String[] related + Integer sequence + String summary } org.accordproject.calendar_0_2_0.RecurringComponent --|> org.accordproject.calendar_0_2_0.UniqueComponent class org.accordproject.calendar_0_2_0.VAlarm << (A,green) >> { + String alarmAction + String attachment + String[] attendees + String description + Duration duration + Integer repeat + String summary } org.accordproject.calendar_0_2_0.VAlarm "1" *-- "1" org.accordproject.time_0_3_0.Duration : duration org.accordproject.calendar_0_2_0.VAlarm --|> org.accordproject.calendar_0_2_0.CalendarComponent class org.accordproject.calendar_0_2_0.VEvent << (A,green) >> { + DateTime dtend + Duration duration + DateTime end + Boolean isAllDay + GeoCoordinates geo + String location + String[] resources + String transparency + Boolean isActive } org.accordproject.calendar_0_2_0.VEvent "1" *-- "1" org.accordproject.time_0_3_0.Duration : duration org.accordproject.calendar_0_2_0.VEvent "1" *-- "1" org.accordproject.geo_0_2_0.GeoCoordinates : geo org.accordproject.calendar_0_2_0.VEvent --|> org.accordproject.calendar_0_2_0.RecurringComponent class org.accordproject.calendar_0_2_0.VFreebusy << (A,green) >> { + DateTime dtstart + DateTime dtend + DateTime start + DateTime end } org.accordproject.calendar_0_2_0.VFreebusy --|> org.accordproject.calendar_0_2_0.UniqueComponent class org.accordproject.calendar_0_2_0.VJournal << (A,green) >> { } org.accordproject.calendar_0_2_0.VJournal --|> org.accordproject.calendar_0_2_0.RecurringComponent class org.accordproject.calendar_0_2_0.VTodo << (A,green) >> { + DateTime completed + DateTime due + Duration duration + GeoCoordinates geo + String location + Integer percentComplete + String[] resources + String todo } org.accordproject.calendar_0_2_0.VTodo "1" *-- "1" org.accordproject.time_0_3_0.Duration : duration org.accordproject.calendar_0_2_0.VTodo "1" *-- "1" org.accordproject.geo_0_2_0.GeoCoordinates : geo org.accordproject.calendar_0_2_0.VTodo --|> org.accordproject.calendar_0_2_0.RecurringComponent @enduml