On this platform, any services can be sold to customers and service execution and quality can be tracked by staff with quality assurance and revisions in the form of a fool proof workflow.
The workflow is fairly complex, and involves client registration, client request for services, provider registration, provider assignment, quality checking loops for the website staff, client acceptance/rejection loops etc., all coded into the web based application. Many holes in requirements were detected (and then communicated to the client) through use of UML state and sequence diagrams.
Special attention was paid to user-friendliness by judicious use of web 2.0 technologies like AJAX.
Features
- Custom CMS - auto-show pages in appropriate menu. Page view privileges by user-type.
- Customer registration, account executive assignment by round robin to customer. CIM profile management of customer Credit Cards (multiple cards permitted and manageable per customer) and account on authorize.net . permits platform to securely auto-bill customer without the customer entering credit card number repeatedly.
- Transaction failure notification by email to customer, incomplete order details auto-notification and timed reminders to customer.
- Send emails based on templates. Template management built into the platform.
- Service management system which can be used by admin to add/update services.
- Services can be grouped into packages for the purpose of bulk-sales by administrative pages.
- Services belong to departments, which have Head of Department
- Extensive search system, which returns results grouped into types - users, services, content.
- 8 different user types like admin, account executve, quality manager, vendor, etc., apart from normal users of the website. The admin can add and manage these users.
- Order workflow management - customer.s order is assigned by HoD to vendor. Vendor execution is monitored by Quality Manager. Once quality manager gives an OK, the account executive of the customer notifies customer of order completion. All messaging between various users - HoD, Vendor, Quality Manager, Account Executive, Customer - is automatic, and synchronized with order status.
- Ticketing system built into order workflow management. Also permits revision requests.
- Message Center for each user type, and email messaging at each step of order processing to notify relevant user-type of action to be taken.
- Common pages used across usertypes to avoid duplication of code, which display content according to user-type. For example, if admin views orders page, he can see all orders. An account executive can see orders of customers assigned to him. A customer can see only his own orders etc.
- Ajax used judiciously so that users can copy and send URLs to each other and have them see the same output, while retaining speed of execution (doing everything with AJAX means that URLs do not contain sufficient information to recreate the page on another browser)
- Authorize.net CIM (Customer Information Management) Implementation. With CIM, Authorize.net stores our customer-credit card numbers in it's own secure database, and we only store authorize.net reference id's of these credit cards. This allows our customers to avoid re-entering credit card information, and also allows us to maintain a database which does not carry any actual credit-card-numbers.
- Credit card transaction failure notification : if an autobill transaction fails, the customer will be automatically notified of this failure
- An automatic reminder system to complete and submit incomplete orders.
- Service Marketing Pages - since services can be added dynamically, marketing pages for these services can be created and posted using this sub-system.
- Service-details and customization questionnaire - since each dynamically added service needs to collect different information from people requesting this service, a seperate information request questionnaire is needed for each service. This questionnaire too is dynamically created/updated through the use of a simple AJAX UI.
Technologies used : Java, jsp, Javamail, AJAX, linux shell scripts.