Good afternoon,
I just finished with a very similar job to what you are asking for:
In this particular case, each user had it's own private calendar, but shared calendars could be posted by anyone. Tasks could be posted in any calendar, apart from the personal one, and the admin of the task could add the involved workers.
Each task had a title, date, optional timing, a similar app to dropbox to attach any documents needed and a location setter, to specify the place where the task should be done.
The company I developed this software for also needed some transportation apps so I created a simple "routing" application which optimized all the waypoints in any given route. I added the option to see where the driver is at any given time and it can be saved as a task.
I hope I can help you out, and to hear from you soon.
Eduard Marti