BEA Systems, Inc.

theory.smart.ebusiness.troubleticket
Class TroubleTicketWorkflow

java.lang.Object
  |
  +--theory.smart.axiom.workflow.StateMachine
        |
        +--theory.smart.ebusiness.troubleticket.TroubleTicketWorkflow

public class TroubleTicketWorkflow
extends StateMachine
implements Workflow

This is the mechanism by which a process for handling customer issues is described.

------------------------------------------------------
These are the states provided by this StateMachine:
------------------------------------------------------

[accepted]
The ticket has been read and accepted as a genuine problem/issue. This is the main working state for the ticket.
[assigned]
The ticket is assigned to a particular service agent
[closed]
The ticket is resolved by a customer service agent or closed by the customer.
[feedback]
customer service agent is waiting for feedback from customer (question, etc)
[fixed]
[open]
The problem has been reported to the customer but has not been delivered to customer service.
[opened]
[read]
The ticket is read for the first time
[rejected]
The ticket is rejected after reading it for the first time.
[start]   Initial State
Customer opens a new ticket
------------------------------------------------------
These are the transitions provided by this StateMachine:
------------------------------------------------------

     accept
 [read]------------->[accepted]
The agent analyzes the trouble ticket and adds comments. The agent acknowledges that there is an issue that will require research.
     assign
 [open]------------->[assigned]
The problem is assigned to a particular customer service representative. A journal entry is made with the notes.
     customerClose
 [accepted]------------->[closed]
The customer can at anytime choose to close the ticket. This is an acknowledgement by the customer that the problem is resolved.
     customerClose
 [assigned]------------->[closed]
The customer can at anytime choose to close the ticket. This is an acknowledgement by the customer that the problem is resolved.
     customerClose
 [feedback]------------->[closed]
The customer can at anytime choose to close the ticket. This is an acknowledgement by the customer that the problem is resolved.
     customerClose
 [open]------------->[closed]
The customer can at anytime choose to close the ticket. This is an acknowledgement by the customer that the problem is resolved.
     customerClose
 [read]------------->[closed]
The customer can at anytime choose to close the ticket. This is an acknowledgement by the customer that the problem is resolved.
     getFeedbackFromCustomer
 [feedback]------------->[accepted]
The customer service representative reads the customer's response and continues to work on the problem.
     journal
 [accepted]------------->[accepted]
The agent analyzes the problem and provides additional feedback without changing the state. A journal entry is added with the notes.
     open
 [start]------------->[open]
The customer describes a problem and refers it to customer service.
     read
 [assigned]------------->[read]
The assigned agent reads the ticket and adds any comments. Invoking this method acknowledges receipt of the ticket.
     reject
 [read]------------->[rejected]
The customer service representative determines that the problem report is not a valid one and provides feedback to the customer.
     requestFeedbackFromCustomer
 [accepted]------------->[feedback]
This method is use to request additional information from the customer as to the nature of the problem.
     resolve
 [accepted]------------->[closed]
The customer service representative determines that the problem has been resolved and provides the customer with a solution.

See Also:
Workflow, Serialized Form

Constructor Summary
TroubleTicketWorkflow()
          Use WorkflowHome.create("theory.smart.ebusiness.troubleticket.TroubleTicketWorkflow") to instantiate the workflow.
 
Methods inherited from class theory.smart.axiom.workflow.StateMachine
doTransition, getContext, getCurrentStateName, getInitialStateName, getStateNames, getTransitionNames, lookAheadTransition, reset, setContext
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TroubleTicketWorkflow

public TroubleTicketWorkflow()
Use WorkflowHome.create("theory.smart.ebusiness.troubleticket.TroubleTicketWorkflow") to instantiate the workflow.

BEA Systems, Inc.

Copyright © 2000 BEA Systems, Inc. All Rights Reserved