Meeting Scheduling
The scheduling features of Bedework are almost complete; there is enough support to carry out simple scheduling. The flow of meeting requests and responses is defined by the relevant RFCs (2446, 2447) and the CalDAV scheduling extensions.
Calendar users and addresses
The potential attendees for a meeting may be internal to the system, that is they are Bedework users, or external. This is determined by their calendar user address (CUA) which looks like an email address. The Bedework system is identified by one or more email domains, for example cal.mysite.edu and an address in those domains is considered internal otherwise it is external.
...
Bedework also allows the configuration option of preserving the domain part of a CUA. If we are not preserving the domain then a Bedework CUA of jim@cal.mysite.edujim@cal.mysite.eduwould map on to a Bedework user jim. For single domain systems this is more convenient.
Special Calendars: Inbox and Outbox
Each user has an inbox and an outbox. These are calendars with some special characteristics. Incoming scheduling requests always go to the inbox. They may arrive there via CalDAV, through uploading meeting requests or via an email interface. Scheduling responses to external users will go to the outbox. The may be immediately processed and at some point removed from the outbox.
...
Incoming meeting requests will be placed in the default scheduling calendar: this can be configured in the user preferences of the personal web client. To respond to a meeting request, click on the event in the calendar.
Automatic processing
There are user preferences which indicate meeting requests can be automatically processed. If time is available for the incoming request it will be accepted, otherwise it will be declined. It is also possible to indicate that acceptances will be automatically processed; a meeting will have the attendee status updated automatically when the incoming response is an acceptance.
Scheduling resources
Bedework supports simple scheduling of resources. This is enabled with a degree of automatic processing of meeting requests to special resources. For example, if a room has the principal /principals/resources/vcc311 then that principal can be added as an attendee to a meeting which is intended to be in that room. The aggregated freebusy for the attendees will be displayed which includes the free time in that room.
The meeting request will be processed and added to the room's calendar, effectively booking the room for that period.
Special Calendars: Deleted
This is here to allow users to subscribe to a calendar to which the have only read access but still be able to 'delete' events they do not want to see. For example, a user may subscribe to a 'films' calendar and delete those they are not interested in. On deletion of such an event we add an entry to the deleted calendar which acts as a mask on retrieval.
...