Skip to main content
Verify the version tags to ensure you are consuming the intended content or, complete the latest version.

Case hierarchy design: Warranty and recall

Case design

Consider the following requirements for an automobile manufacturing company automating a warranty claim application. Two primary processes are supported by the application: a Warranty Claim process and a Recall process.

A customer brings a car to the dealership for a warranty claim because something is not working correctly. The dealer assesses the problem with the car, enters the claim details into the application, and then receives verification from the application that the repair is covered under warranty. The dealer is subsequently compensated for the work by the car manufacturer.

Every warranty claim includes one or more claim tasks. Each claim task represents the work that must be completed to resolve the claim. Most warranty claims are simple and have a single Pay Dealer claim task. Some warranty claims require more complex processing if disputes are involved.

Recalls are separate from warranty claims. Recalls cover the entire process from initially notifying customers when a recall is necessary to compensate the dealer for the work completed to support the recall. One particular type of claim task is a Part Return. This claim task stands apart from others in that it requires an additional set of business rules, and the process is different.

The following table summarizes the process requirements.

Warranty Application Requirements: Processes that MUST be supported
Process Description
Warranty Claim Full Process: spans from customer initialization to resolution
 * Claim Task one or more for each claim
 * Part Return specific task with additional business rules
Recall Full Process: spans from initial notification to final compensation to dealer
Case Design
The nouns and actions mentioned in the problem description are shown as labeled boxes. Arrows were drawn to show chronological relationships. An Auto Manufacturer exists before an Auto can exist before a customer can purchase that Auto. An Auto owned by a customer can then be brought to a dealer for a warranty claim. The warranty claim yields one or many claim tasks, one of which can be a parts return. A decision is made whether the box is long-lived data as opposed to shorter-lived actions processes by a case.
 

Design a case structure to support this application.

Solution

At least two cases are possible: Recall and Warranty Claim.

Recall has no dependencies but does have a distinct process. You might represent Recall as a stand-alone case.

You have several design options for the Warranty Claim case.

One option is to create a stand-alone Warranty Claim case with conditional subprocesses spawned for each type of claim task. This approach is easy to implement, but it limits extensibility and the ability to specialize the claim tasks.

Another option is to create the Warranty Claim case with a subcase for each claim task. This design option offers the flexibility to create specialized claim tasks such as Parts Return. The Warranty Claim case is the parent, or cover, case of the Claim Task case since the Warranty Claim depends on all Claim tasks resolving before the warranty Claim case can be resolved.

The Parts Return case type being implemented as a pattern-inheriting subclass of the ClaimTask class indicates that PartsReturn is a specific type of ClaimTask case. It is important not to confuse subclasses and subcases as being synonymous. The hierarchy for subcases is established within the Case Type rule. Subcase hierarchy is a case type structure decision with respect to different cases. A subclass, on the other hand, indicates that an is-a relationship exists. Class relationship is a class structure decision with respect to different classes.

Case vs Class Hierarchy
This figure illustrates the difference between Case Type Hierarchy, on the left, and Class Hierarchy, on the right. The indent on the left represents a child case relationship. An indent on the right represents a pattern inheritance relationship.
 

Not enough information is provided in the requirements to determine which solution is more suitable for the Claim Task case design. If there are many specialization or extensibility requirements for the application, the latter design for the Claim Task case is more suitable.


This Topic is available in the following Module:

If you are having problems with your training, please review the Pega Academy Support FAQs.

Did you find this content helpful?

100% found this content useful

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice