A processor usable medium having processor readable code embodied therein for enabling group calendaring between a plurality of users on a system, the system comprising a database which stores a profile for each potential invitee of the system, the invitee profiles comprising user profiles wherein each user profile comprises information regarding available and unavailable times for that user, the processor readable code in said processor usable medium comprising:
- processor readable code for causing a server to receive a request for allocation of a time interval for one or more of the plurality of invitees from a remote terminal;
- processor readable code for causing the server to gather the profiles for the one or more requested invitees;
- processor readable code for causing a processor to determine whether those invitees are available during the requested time interval;
- and
- processor readable code for causing a processor to determine a next best time interval if all of the requested invitees are not available using a weighting function.