Workflow is a whole other issue I'll need to worry about later I'm sure. Right now it's just trying to figure out a data model for work orders/technicians/customers/locations etc.
The trick is we're trying to provide a service that scales/integrates with other solutions. So if you want to give us all the information and manage it from our system (i.e. you're a small company) we support that. If you're a big company that should be able to provide feeds but doesn't want to commit to anything (because you're slow and it's "hard") give us as much as you can and you'll gain access to whatever services we can provide with the information you've made available. e.g. give us customer info and we can call them with an ETA; don't want to provide that, you don't get that feature.
The tough part is building the system so people that don't want to provide all the info and fully utilize the system still can use it for something and don't have to sift through 90% empty fields that aren't relevant to them.
My current thought is the turning the overall system into sort of an enterprise mash-up application. We provide basic services for field service but use API's to (internally as well) to allow for a highly customizable system that utilizes all sorts of modules. Something like Google Gadgets but using enterprise gadgets.
Needless to say, my head hurts at night.