1. The users enter the site (validate.jsp). The user is displayed a form asking for XXXXX and YYYYY. In the case of user being logged in, the XXXXX and YYYYY stored in the profile are available for selection with a set of text fields to enter other than what are already stored in profile.
  2. The submitted form is validated, if any error is found the user is redirected to the form with error message displayed. If the XXXXX and the YYYYY are valid a call to ZZZ is made to get customer details.
  3. In the case of any communication error with ZZZ, or any other system error the user is directed to error page with a relevant error message (error.jsp).
  4. In the case of a customer is determined by ZZZ as PRODUCT1 customer or out of scope a manual route is taken. Else the various options are displayed to the user with the current one pre-selected (options.jsp).
  5. Depending upon the customer choice ZZZ is called to confirm the choice. The customer has an option to cancel the PRODUCT2 option, in that case ask the customer to speak to a service adviser.
  6. In case of customer require changes to PRODUCT3 confirm changes to PRODUCT3 (options.jsp).
  7. In case of customer having multiple NNN on his account the user has to select one line for PRODUCT3 option (options.jsp).
  8. The customer is then displayed the dynamic quote and the detailed form. The customer has a choice of confirming this change or cancelling it (confirm.jsp).
  9. If the customer can be automated as determined by ZZZ then the change is committed to ZZZ else it is committed to workflow (commit.jsp).
  10. In the case of PRODUCT1 customers the options are shown and the selected one is sent to workflow for processing (product1.jsp).