Triumvirate is a PHP web application package for brokering communication between service providers and service consumers. Typical real world applications would be for cleaning, lawn care, or other maintenance services.
For services such as cleaning, landscaping and lawn care, road repair, lighting maintenance, and many others, the customer (service consumer) only knows what, where, and how he wants his work done. The worker (service provider) only knows what he can do, how long it will take him, and what support he needs to get the task accomplished. Each of these parties need to express their concerns to the other, but they really don't have an effective means of doing so. Since consumers and providers often use completely different vocabularies to describe the same real world events, needs, and problems, it is obvious that a third party needs to provide the translation of these communications one to the other. Additionally, the broker can prioritize needs, resolve scheduling conflicts, and separate real problem issues from minor complaints.
The broker strikes a contract with the customer to provide services and another one with the worker to pay for services. The broker receives work orders from the customer and assigns work to the worker through his Services Broker Portal. The worker does the work and enters logs and weekly (or some other period) time sheets through his Service Provider Portal. The customer enters requests for service changes and complaints relating to the service through his Service Consumer Portal. The broker edits log entries made by the worker and complaints made by the customer before the other party gets a chance to see them. This assures that no party causes unnecessary friction through the use of language that another party can misunderstand.
Rather than a messy set of emails flying through the ether the users involved have an online application that is accessible from anywhere they have a web browser. All log entries, problems, resolutions, news items, and communications of any kind are stored in an online database where they can be reviewed at will.
Triumvirate has features for handling news, special instructions, temporary work assignments, and other items of interest to the users involved. Through the use of modular PHP and flexible HTML coding Triumvirate will be expandable to handle nearly any kind of service provider/consumer situation that one can imagine.
This project is currently in the planning stage, although some functionality is already undergoing alpha test. The main thrust of current development is the design and specification of the Service Consumer's view. This seems a little backward from typical Model-View-Controller design, but the true driving force here is the end user's needs. A system which doesn't have the end customer's ease of use in mind will be relegated to the dustbin, since you can't sell services to somebody who isn't interested in using them.
There is still a great deal of discussion regarding functionality going on in the planning of Triumvirate modules. For instance, should the Broker's reports to the Consumer be in the form of push or pull? How much information should the Consumer have access to? What is the best configuration for presentation of this data to the Consumer?
All these and other questions are still being worked out. The low level functionality of record design, manipulation, and storage continues, but it may be necessary to revisit some designs later if the high level usage warrents such change.