Sunteți pe pagina 1din 126

System Architect Essentials

8.1
Exercise Guide
© 2018
Pegasystems Inc., Cambridge, MA
All rights reserved.

Trademarks

For Pegasystems Inc. trademarks and registered trademarks, all rights reserved. All other trademarks or service marks are property of their
respective holders.

For information about the third-party software that is delivered with the product, refer to the third-party license file on your installation media
that is specific to your release.

Notices

This publication describes and/or represents products and services of Pegasystems Inc. It may contain trade secrets and proprietary information
that are protected by various federal, state, and international laws, and distributed under licenses restricting their use, copying, modification,
distribution, or transmittal in any form without prior written authorization of Pegasystems Inc.

This publication is current as of the date of publication only. Changes to the publication may be made from time to time at the discretion of
Pegasystems Inc. This publication remains the property of Pegasystems Inc. and must be returned to it upon request. This publication does not
imply any commitment to offer or deliver the products or services described herein.

This publication may include references to Pegasystems Inc. product features that have not been licensed by you or your company. If you have
questions about whether a particular capability is included in your installation, please consult your Pegasystems Inc. services consultant.

Although Pegasystems Inc. strives for accuracy in its publications, any publication may contain inaccuracies or typographical errors, as well as
technical inaccuracies. Pegasystems Inc. shall not be liable for technical or editorial errors or omissions contained herein. Pegasystems Inc. may
make improvements and/or changes to the publication at any time without notice.

Any references in this publication to non-Pegasystems websites are provided for convenience only and do not serve as an endorsement of these
websites. The materials at these websites are not part of the material for Pegasystems products, and use of those websites is at your own risk.

Information concerning non-Pegasystems products was obtained from the suppliers of those products, their publications, or other publicly
available sources. Address questions about non-Pegasystems products to the suppliers of those products.

This publication may contain examples used in daily business operations that include the names of people, companies, products, and other third-
party publications. Such examples are fictitious and any similarity to the names or other data used by an actual business enterprise or individual is
coincidental.

This document is the property of:

Pegasystems Inc.
One Rogers Street
Cambridge, MA 02142-1209
USA
Phone: 617-374-9600
Fax: (617) 374-9620
www.pega.com

DOCUMENT: System Architect Essentials Exercise Guide


SOFTWARE VERSION: Pega 8
UPDATED: 11 2018
CONTENTS

Before you begin ii


Completing the exercises iii
Business use case: Assistance request iv
Exercise: Configuring a case type 6
Exercise: Designing a data model 24
Exercise: Configuring data validation 36
Exercise: Configuring reference data 43
Exercise: Designing a user interface 57
Exercise: Configuring and sending correspondence 71
Exercise: Designing a business report 78
Exercise: Testing and maintaining an application 96
SAE 8 Solution Build 105
Before you begin
System Architect Essentials overview
In this course, you learn the core principles of application development on Pega Platform™. Business
users and delivery team members use these principles to plan and deliver business applications faster
and more accurately for maximum business value.
You learn how to perform the most common application development tasks to prepare yourself for
your first Pega development project.
The exercises in this course are based on Pega Platform 8. You may notice slight navigation changes in
the Pega Platform in subsequent releases.

Objectives
After completing this course, you should be able to:
l Explain the benefits of using the Pega model-driven application design and development approach
l Model the life cycle of a case that mirrors the way business people think about how work is
completed
l Identify the high-level responsibilities associated with Pega Platform for both Pega business
architects and system architects
l Describe Pega's Direct Capture of Objectives approach to increasing the speed and accuracy of
application delivery
l Validate case data to ensure that user entries match required patterns
l Configure a Wait shape to enforce a case processing dependency
l Configure user views and data elements during case life cycle creation
l Use the Clipboard tool to review case data in memory
l Set property values automatically using data transforms and declare expressions
l Create data types to model data objects in a Pega application
l Automate decision-making to improve process efficiency
l Design responsive user forms for use on any platform or browser
l Design reports to deliver key insights to business users
l Incorporate and manage reference data to allow applications to adapt to changing business
conditions
l Delegate rules to the business to adapt cases types to changing business policies
l Test your application design to analyze rule behavior and identify configuration errors

Prerequisites
l Some experience developing software applications is helpful, but not required.

ii
©2018 Pegasystems
Completing the exercises
When learning new concepts or skills, there is no substitute for learning by doing.
This course includes exercises that provide practical, hands-on experience to help you apply your new
skills immediately.
The exercises help reinforce the learning objectives of each lesson. They include a scenario that
describes a business problem that needs to be solved and an overview of the tasks you need to
perform to complete the exercise.
To help you complete the exercises, two levels of support are provided:
l Your Assignment — specifies the high level steps you need to perform to solve the business
problem provided in the scenario.
l Detailed Steps — shows the series of steps needed to complete the exercise.
It is our goal that you can complete the exercises using the scenario and the tasks noted in your
assignment. Use the detailed steps to check your work, or as a last resort to complete the exercise.

Exercise environment
The exercise system for this course is available online and accessed through the Open Exercise
System link on each exercise page. Use the credentials provided in each exercise scenario.
Click the Open Exercise System link to log in to your exercise environment. Enter the credentials
provided in the scenario. After you complete an exercise, log out of the exercise environment. Ensure
you use the correct credentials to log in for each exercise.
Note:  The exercise environment provides a pre-built Pega Platform application configured specifically
for this course. This allows you to focus on the key tasks of each exercise without having to complete
ancillary tasks.

Exercise guide reference


While individual exercises are included for each lesson online, you may find it useful to download and
print out the complete exercise guide. This is available in the related content section on the right side
of this lesson.

iii
©2018 Pegasystems
Business use case: Assistance request
InsCorp Insurance Company is adding a roadside assistance coverage option to their auto insurance
portfolio through a new business subsidiary named Go-Go Road. Roadside assistance coverage helps
drivers with a disabled vehicle. During roadside assistance, a service professional performs minor
mechanical repairs to enable the car to function again. Coverage includes the following services:
l Towing
l Battery recharge and replacement
l Flat tire repair and replacement
l Fuel delivery
l Lockout service
InsCorp offers two levels of roadside assistance service to customers. Customers with standard-level
coverage pay a low fee as part of their insurance premium and are billed for each service on a per-
incident basis. Customers with gold-level coverage pay a higher fee as part of their insurance premium
and are not charged on a per-incident basis.
Customers request roadside assistance from the Go-Go Road website, through a mobile application, or
by calling a customer service representative (CSR). When the application starts, display the Roadside
Assistance Landing page. Users select an appropriate service request from the landing page. After the
case is created, it is expected that the case should be resolved within two hours, with a deadline of
four hours.
The roadside assistance process consists of four stages: Submission, Validation, Service, and
Resolution.
1. In the Submission stage, users create the request. Users review customer information including the
coverage level, identify the service location, and provide a description of the vehicle. Customers with
standard-level coverage also provide credit card details for invoicing.
2. In the Validation stage, a CSR reviews the submitted information to verify that the claimant making
the request has roadside assistance coverage. The CSR is expected to complete their approval
within five minutes. If the approval not completed after 15 minutes, the application notifies the
customer service manager.
If approved, the CSR views a list of contracted service providers and assigns a provider to the case.
The application then emails a notification to the customer that reads, <name of the service provider>
has been dispatched to your location, and should arrive within one hour.
If rejected, the application resolves the request. The application emails a rejection notification to the
customer that reads, We are sorry to inform you that service request <case ID> for <type of service
requested> service is not covered.
3. In the Service stage, the application creates a service case so that service providers can specify the
services provided to the customer.
Service providers should see a list of the services and the unit costs of each. Service providers can
enter the quantity of each service performed. The form should automatically display the total cost of
each service based on the quantity and unit cost and calculate a total cost for all the services
provided.
4. In the Resolution stage, requests from customers with gold-level coverage are resolved

iv
©2018 Pegasystems
automatically. Requests from customers with standard-level coverage are processed for invoicing. A
CSR reviews the details of the request and submits it. The application emails a copy of the invoice
that reads, Your <type of card provided> card has been billed <total cost of service> for your service. The
invoice lists the services provided to the customer and the cost of each service.
CSRs are expected to complete their review within 15 minutes. If the CSR does not complete the
review after 30 minutes and every 15 minutes that follow, the application notifies the customer
service manager email that the review is outstanding.
Customers may cancel their service request at any time. A cancellation resolves the request and emails
a notification to the customer that reads, Your roadside assistance case <case ID> has been canceled at
your request.
Managers must be provided with the following reports:
l A report that shows the number and work status of requests worked on in the previous 30 days.
Managers should be able to view this information in a bar chart that displays the number of
requests for each day.
l A report, organized by state, that lists service providers, service type, case counts, and average
service costs of assistance request cases.
l A report, organized by state, that shows in a map chart the average service cost of resolved
assistance request cases opened in the last 90 days. Managers should be able to click a state on the
map and see the related information provided in the preceding report.
InsCorp wants to configure a Pega application to make service requests accessible to covered drivers
while they are on the road. Your assignment is to build a Pega application that satisfies the
requirements identified by InsCorp. The following diagram illustrates the overall process the
application automates.

Important: The exercises direct you to log in to different versions of your application. These
application versions provide records for you to use in exercises. These records support the exercise
task and represent work that other team members would perform on an project. In each exercise, you
can examine these staged records to identify how they support the application requirements.

v
©2018 Pegasystems
Exercise: Configuring a case type
Scenario
InsCorp is launching a roadside assistance service as a coverage option for automobile insurance
policies. Customers initiate assistance request cases. GoGoRoad, the subsidiary of InsCorp, manages
the case. Contracted vendors perform assistance services. Design the case workflow to support a
review of the case type with project stakeholders.
The following table provides the credentials you need to complete the exercise.

Role Operator ID Password


Application Developer author_cm@gogoroad rules

Your assignment
Create and configure the Assistance request case type by completing the following tasks.
l Create the Assistance request case type.
l Design the case life cycle, including alternate stages, for the Assistance request case type.

Stage Process Step Step type


Submission Submission Enter customer information Collect
information
Identify location Collect
information
Identify vehicle Collect
information
Enter payment Enter payment information Collect
information information
Validation Validate request Validate request Approve/Reject
Assign service provider Select service provider Collect
information
Notify customer of assigned Send email
provider
Service Provide service Create Service case Create case
Wait for service completion Wait
Resolution Invoice customer Review service summary Collect
information
Send receipt to customer Send email
Cancellation Cancellation Send cancellation email to Send email
customer

6
©2018 Pegasystems
Approval Approval Rejection Send rejection email to customer Send email
Rejection

l Add status changes to the case life cycle.

Case status Applied to


Open Submission stage
Pending-Qualification Validation stage
Pending-Fulfillment Service stage
Resolved-Completed Completion of the Resolution stage
Resolved-Withdrawn Completion of the Cancellation stage
Review service summary Review a summary of the service provided

l Add instructions to the case life cycle.

Step name Instruction


Enter customer information Identify the customer requesting service
Identify location Identify the location of service
Identify vehicle Identify the vehicle requiring service
Enter payment information Enter payment information for customers with standard coverage
Select service provider Assign a service provider to the request
Review service summary Review a summary of the service provided

l Add the Cancel request process as a case-wide optional action to cancel assistance requests.
Update the process to advance a case to the Cancellation stage if the user elects to cancel their
assistance request.
l Add service level agreements to the Assistance request case, the Validate request step, and the
Review service summary step.

Apply to Goal Deadline Passed deadline


Interval Urg. Notify Interval Urg. Notify Interval Urg. Notify
Case 02:00:00 25 04:00:00 45
type
Validate 00:05:00 40 00:15:00 30
request
Review 00:15:00 20 Assignee 00:30:00 10 Manager 00:15:00 10 Manager
service
summary

All times are in hh:mm:ss format. For the Review service summary SLA, configure the passed
deadline interval to repeat indefinitely.
l Route the Validate request, Select service provider, and Review service summary steps to the
CSR@GoGoCM work queue.
l Configure the Assistance request case type to create a Service case during the Service stage. Pause

7
©2018 Pegasystems
processing on the Assistance request case until the Service case is resolved.

Detailed steps
Create the Assistance Request case type
1. Log in to App Studio as the user author_cm@gogoroad using the password rules.
2. In App Studio, from the left navigation panel, click Case types to view the Case Type Explorer. A list
of case types defined for your application is displayed.
3. From the Case Type Explorer, click New to open a dialog for creating a new case type.
4. In the Case type name field, enter Assistance request to provide a name for your case type.
5. Click Next to dismiss the dialog. A new case type record named Assistance request is displayed in
the work area.

Add stages to the Assistance Request case life cycle


1. On the Assistance request case type, click the Workflow tab to begin modeling the Assistance
request work flow.
2. Click Add life cycle. A case life cycle with one stage is displayed.
3. In the text field of the first stage, enter Submission as the name of the first stage.
4. In the contextual properties panel on the right, ensure that Automatically move to next stage is
selected to advance the case automatically.

5. In the Set case status on stage entry field, enter or select Open to change the status of a case
when it enters the Submission stage.
6. To the right of the Submission stage, click + STAGE to create a second stage in the case life cycle.
7. In the empty stage name field, enter Validation to name the second stage.

8
©2018 Pegasystems
8. In the contextual properties panel on the right, ensure that Automatically move to next stage is
selected to advance the case automatically.

9. In the Set case status on stage entry field, enter or select Pending-Qualification to change the
status of a case upon entering the Validation stage.
10. To the right of the Validation stage, click + STAGE to create a third stage in the case life cycle.
11. In the empty stage name field, enter Service to name the third stage.
12. In the contextual properties panel on the right, ensure that Automatically move to next stage is
selected to advance the case automatically.

13. In the Set case status on stage entry field, enter or select Pending-Fulfillment to change the status
of a case upon entering the Service stage.
14. To the right of the Service stage, click + STAGE to create a fourth stage in the case life cycle.
15. In the empty stage name field, enter Resolution to name the fourth stage.
16. In the contextual properties panel on the right, select Resolve the case to resolve the case when
the stage completes.
17. In the Resolution status field, ensure that Resolved-Completed is selected to indicate that the case
was resolved with a successful outcome.

18. Click Save to save your progress on the Assistance request work flow. A red line is displayed across
the bottom of the chevron for the Resolution stage to indicate that the stage resolves an open case.

9
©2018 Pegasystems
Add steps to the case life cycle
1. Under the Submission stage, hover the pointer over + PROCESS and then click + STEP to create a
process with a single step in the stage.
2. Select the Collect Information step type to create a step to collect user input.
3. Type Enter customer information as the name of the step.
4. Click + STEP > Collect information to add a second step to the process and enter Identify location as
the name of the step.
5. Add a third Collect information step to the process and enter Identify vehicle as the name of the step.
6. Under the Submission stage chevron, enter Submit request to change the name of the process.
7. Hover the pointer over the Submission stage chevron to display three vertical dots to toggle the
stage menu.
8. Click the stage menu and select Add process > New process to add a second process to the
Submission stage.
9. Change the name of the second process to Enter payment information.
10. On the Enter payment information process, click the + Submission (1) step and enter Enter payment
information as the name of the step. The Submission stage matches the following image.

11. Under the Validation stage, hover the pointer over + PROCESS and then click + STEP to create a
process with a single step in the stage.
12. Select the Collect Information step type to create a step to collect user input.
13. Enter Select service provider as the name of the step.

10
©2018 Pegasystems
14. Select + STEP > More > Automations > Send email > Select to add to the process a step to send
an email.
15. Click the Send email step and enter Notify customer of assigned provider as the name of the shape.
16. Under the Validation stage chevron, enter Assign service provider as the name of the process. The
Validation stage matches the following image.

17. In the Resolution stage, add a single process with the following two steps to the stage.

Step number Step type Step name


1 Collect information Review service summary
2 Send email Send receipt to customer

18. Under the Resolution stage chevron, enter Invoice customer as the name of the process. The
Resolution stage matches the following image.

19. Click Save to save your progress on the Assistance request work flow.
20. Close the Assistance request case type.

11
©2018 Pegasystems
Tip: The next set of steps requires that you switch from App Studio to Dev Studio. When you change
back to App Studio, the open Assistance request case type does not reflect any configuration
performed in Dev Studio. To ensure that the Assistance Request case type reflects any
configuration changes completed using a different studio, close the case type before changing over
to another studio.

Add instructions to assignments in the case life cycle


1. From the App Studio header, click App Studio > Dev Studio to switch to a different studio to enter
instructions for each assignment.
2. In Dev Studio, from the left navigation panel, click Case types to view the Case Type Explorer. A list
of case types defined for your application is displayed.
3. From the Case Type Explorer, click Assistance request to open the Assistance request case type.
4. On the case type, in the Submission stage, click the Enter customer information step.
5. In the contextual properties panel on the right, in the Instructions field, enter Identify the customer
requesting service.
Important: When entering an instruction, do not end the instruction with a period. Adding a period
to the instruction text causes an error when processing a case. To avoid an error, add double
quotation marks (") to the beginning and end of an instruction that includes a period.
6. For the remaining assignments in the case life cycle, enter the instructions according to the
following table.

Step name Instruction


Identify location Identify the location of service
Identify vehicle Identify the vehicle requiring service
Enter payment information Enter payment information for customers with standard coverage
Select service provider Assign a service provider to the request
Review service summary Review a summary of the service provided

7. Click Save to save your progress on the Assistance request work flow.


8. Close the Assistance Request case type.

Add a service level agreement to the case type


1. From the Dev Studio header, click Dev Studio > App Studio to switch studios and configure service
level agreements (SLAs) for the Assistance request case type.
2. In App Studio, from the left navigation panel, click Case types > Assistance request to open the
Assistance request case type.
3. On the Assistance request case type, click the Settings tab to configure case-level settings.
4. On the Settings tab, click Goal & Deadline to display the Goal & Deadline panel.
5. On the Goal & Deadline panel, enable the Consider goal and deadline option to display fields for
configuring a goal and deadline for Assistance request cases.

12
©2018 Pegasystems
6. Under Goal, enter the following values:
a. In the Days field, enter 0.
b. In the HH:MM:SS field, enter 02:00:00.
c. In the Urgency field, enter 25.
7. Under Deadline, enter the following values:
a. In the Days field, enter 0.
b. In the HH:MM:SS field, enter 04:00:00.
c. In the Urgency field, enter 45.

Add a service level agreement to the Review service summary


assignment
1. Click the Workflow tab to return to the case work flow.
2. On the Resolution stage, click the Review service summary step.
3. In the contextual properties panel on the right, click the Goal & Deadline tab to configure an SLA
for the step.
4. On the Goal & Deadline tab, enable the Consider goal and deadline option to display fields for
configuring a goal and deadline to the step.
5. Under Goal, enter the following values:
a. In the Days field, enter 0.
b. In the HH:MM:SS field, enter 00:15:00.
c. In the Urgency field, enter 20.
d. Enable the Assignee option to notify the assigned case worker if the goal interval lapses before
the step is completed.
Note: Pega Platform provides a default message to send when an SLA interval lapses, or you can

13
©2018 Pegasystems
create a custom message. For this exercise, the default message is sufficient.

6. Click Deadline to configure behavior for the deadline interval.


a. In the Days field, enter 0.
b. In the HH:MM:SS field, enter 00:30:00.
c. In the Urgency field, enter 10.
d. Select the Manager option to notify the manager of the assigned case worker if the goal interval

14
©2018 Pegasystems
lapses before the step is completed.

7. Click Save to save your progress on the Assistance request case type.
8. Close the Assistance Request case type.

Add a passed deadline interval to the service level


1. From the App Studio header, click App Studio > Dev Studio to switch studios and configure the
passed deadline interval for the Review service summary step.
2. In Dev Studio, from the left navigation panel, click Case types > Assistance request to open the
Assistance request case type.
3. On the Resolution stage, click the Review service summary step.
4. In the contextual properties panel on the right, click the Goal & Deadline tab to complete the
configuration of the SLA for the step.
5. Click Open SLA to open the service level agreement record and configure the passed deadline
interval.
6. On the service level agreement, scroll down to locate the Passed deadline area of the record.
7. In the Limit passed deadline events to field, enter 0 to repeat the interval until the step is
completed.
8. In the Mins field, enter 15 to set the passed deadline interval to 15 minutes.
9. In the Amount to increase urgency field, enter 10 to increase the urgency of the assignment by
10 each time the interval lapses.
10. Under Actions, click Select Action to add an escalation action to the interval.

15
©2018 Pegasystems
11. From the Perform Action drop-down, select Notify Manager to send a notification to the manager of
the assigned case worker each time the passed deadline interval lapses.

12. Click Save to complete the configuration of the SLA for the Review service summary step.
13. Click the Assistance Request tab to return to the case type.
Note: After you add a passed deadline interval to an SLA, you can no longer configure the goal and
deadline from the case type. Instead, Pega Platform displays the message "This item has advanced
configuration" when you attempt to view the goal and deadline from the case type.
14. Close the Assistance Request case type.

Add an alternate stage to the case life cycle for cancellations


1. From the Dev Studio header, click Dev Studio > App Studio to switch studios and add a cancellation
stage to the case life cycle.
2. In App Studio, from the navigation panel, click Case types > Assistance request to open the
Assistance request case type.
3. To the right of the Resolution stage, click + STAGE to add another stage to the case life cycle.
4. In the empty field, enter Cancellation to name the stage.
5. On the Cancellation stage, click the Stage menu and select Set as alternate stage. The case life
cycle updates to display the Cancellation stage below the Submission stage.
6. In the contextual properties panel on the right, select Resolve the case to resolve the case when
the stage completes.
7. In the Resolution status field, enter Resolved-Withdrawn to set the status when the user cancels
the assistance request.
8. Enable the Resolve open child cases option to close any open child cases when the user cancels
the assistance request.
9. In the Resolution status of child cases field, enter or select Resolved-Withdrawn to set the status
of the child case when the user cancels the assistance request.
10. Under the Cancellation stage, select + STEP > More > Automations > Send email > Select to add to
the process a step to send an email.
11. Click the Send email step and enter Send cancellation email to customer as the name of the shape.

16
©2018 Pegasystems
12. Click Save to save your progress on the Assistance request work flow. A red line is displayed across
the bottom of the chevron for the Cancellation stage to indicate that the stage resolves an open
case.

Add and configure the Cancel Request process as a case-wide optional


action
1. Above the case life cycle, click the Optional actions switch to display the optional actions
configured for the case type.
Note: You may need to scroll the case life cycle to the right to display the Optional actions switch
on-screen.
2. Under Case wide actions, click + ACTION > More > Processes to display a listing of available
processes.
3. From the list of processes, select Cancel request to choose the Cancel request process, which has
been created for you.
Note: The initial version of the process consists of a single step with a field that asks the user to
confirm the cancellation of the assistance request. In this exercise, you add logic to process the
response to the question.
4. Click Select to add the Cancel request process to the case work flow as a case wide action.
Tip: Click Preview to view an image of the process before adding the process to the case work flow.
5. Select + STEP > More > Automations > Change to a stage > Select to add to the process a step to
change the case stage.
6. With the Change Stage step selected, enter Change to Cancellation stage to rename the step.
7. In the contextual properties panel on the right, from the Stage drop-down, select Cancellation to
identify the stage to which to move the case.
8. Hover the pointer over the Cancel request process.
9. To the right of the process name, click the Process icon to open the Process Modeler.
10. In the Process Modeler, click the Add a flow shape icon and select Decision to add a decision
shape to the process.
11. On the decision shape, double-click [Decision] to edit the shape name.
12. Enter Is request canceled? to rename the shape.
13. In the contextual properties panel on the right, under When, click Click to add condition to identify
the condition that applies to the first decision outcome. A condition builder is displayed in a modal
dialog.
14. In the condition builder, from the Field drop-down, select Do you want to cancel your request? as the
field to evaluate

17
©2018 Pegasystems
15. In the Value field, enter yes to select the value returned when the user opts to cancel their request.

16. Click OK to complete the condition and return to the Process Modeler.

Update the process to advance a case to the Cancellation stage


1. Under the condition you just configured, from the Go to drop-down, select Change to Cancellation
stage to change the stage if the user cancels the request.
2. From the Otherwise go to drop-down, select [End] to complete the process if the user decides to
continue with the case.
3. Reposition the Cancel request connector to lead to the decision shape, rather than the Change to
Cancellation stage step.
4. Reposition the process shapes so that no arrows overlap, similar to the example in the following
image.

5. Click Save to complete the configuration of the Cancel request process.


6. Click Stages & steps to return to the case type optional actions and confirm that the case work flow
displays the updated process.

18
©2018 Pegasystems
Note: When you add a decision to a process, you can no longer edit the steps from the case work
flow. To edit a process that contains a decision shape, click CONFIGURE PROCESS or the Process
icon.

Add start conditions to the Enter payment information and Invoice


customer processes
1. Click the Life cycle switch to return to the case life cycle.
2. In the Submission stage, click the Enter payment information process.
3. In the contextual properties panel on the right, from the Start process (otherwise skip) drop-
down, select Custom condition. A Gear icon is displayed to the right of the drop-down.
4. Click the Gear icon to display the condition builder in a modal dialog.
5. In the condition builder, next to When, from the Field drop-down, select Coverage level.
6. From the Comparator drop-down, select is not equal to.
7. From the Value field, enter Gold to test whether the customer has elected the Gold coverage level.

8. Click OK to complete the configuration of the condition and return to the case life cycle.
9. On the Resolution stage, select the Invoice customer process.
10. Repeat steps 3-8 to add a condition to the Invoice customer process that starts the process only if
the customer has not elected Gold coverage level.
11. Click Save to save your progress on the Assistance request work flow.

Add an approval step to the Validation stage


1. On the Validation stage, click the Stage menu and select Add process > New process to add a
process to the Validation stage.
2. Change the name of the process to Validate request.
3. On the Validate request process, click + STEP > Approve/Reject to add to the process an
approve/reject step.
4. In the empty field, enter Validate request to name the step.
5. In the contextual properties panel on the right, click the Flow tab to configure the outcomes for the
shape.
6. Under If REJECTED then, from the drop-down list, select Change stage. The To drop-down is
displayed in the contextual properties panel.

19
©2018 Pegasystems
7. From the To drop-down, select Approval Rejection to move the case to the Approval Rejection stage if
the user rejects the case.
8. In the Set status field, enter or select Stopped to change the case status when the case is rejected.
9. In the contextual properties panel, click the Goal & Deadline tab to configure an SLA for the
approve/reject step.
10. On the Goal & Deadline tab, enable the Consider goal and deadline option to display fields for
configuring a goal and deadline to the step.
11. Under Goal, enter the following values:
a. in the Days field, enter 0.
b. In the HH:MM:SS field, enter 00:05:00.
c. In the Urgency field, enter 40.
12. Click Deadline to configure behavior for the deadline interval.
a. In the Days field, enter 0.
b. In the HH:MM:SS field, enter 00:15:00.
c. In the Urgency field, enter 30.
13. On the Validate request process, to the right of the Validation (1) step, click the Delete icon to delete
the step.
14. Hover the pointer over the process name to display a selection handle to the left of the process
name.
15. Click the selection handle and drag the Validate request process above the Assign service provider
process in the Validation stage.

16. On the Approval Rejection stage, in the contextual properties panel on the right, in the Resolution
status field enter or select Resolved-Rejected to set the status when the user rejects the assistance
request.

20
©2018 Pegasystems
17. On the Approval Rejection stage, select + STEP > More > Automations > Send email > Select to
add to the process a step to send an email.
18. Click the Send email step and enter Send rejection email to customer as the name of the shape.
19. Click Save to save your progress on the Assistance request work flow.
20. Close the Assistance Request case type.

Route assignments in the case life cycle


1. From the App studio header, click App Studio > Dev Studio to switch studios and configure
assignment routing for the Assistance request case type.
2. In Dev Studio, from the navigation panel, click Case types > Assistance request to open the
Assistance request case type.
3. On the Validation stage, select the Validate request step to route the case for approval.
4. In the contextual properties panel on the right, from the Route to drop-down, select Work queue.
5. In the field below the Route to drop-down, enter or select CSR@GoGo to route the approval to the
work queue for customer service representatives.
6. On the Validation stage, select the Select service provider step to route the assignment.
7. In the contextual properties panel on the right, route the step to the CSR@GoGowork queue.
8. On the Resolution stage, select the Review service summary step to route the assignment.
9. In the contextual properties panel on the right, route the step to the CSR@GoGowork queue.
10. Click Save to save your progress on the Assistance request work flow.
11. Close the Assistance Request case type.

Create a Service case as a child case


1. From the Dev Studio header, click Dev Studio > App Studio to switch studios and add the Service
case to the Assistance request case work flow.
2. In App Studio, from the navigation panel, click Case types > Assistance request to open the
Assistance request case type.
3. Under the Service stage, hover the pointer over + PROCESS and then click + STEP to create a process
with a single step in the stage.
4. Select More > Automations > Create case > Select to add to the process a Create case step.
5. Type Create Service case as the name of the step.
6. In the contextual properties panel on the right, from the Create the following case drop-down,
select Service to create a Service case. A pop-up window is displayed that informs you that the
Service case will be set as a child case.
7. Click OK to dismiss the pop-up.
8. Click + Step > More > Automations > Wait > Select to add to the process a step to pause case
processing.
9. Change the name of the step to Wait for service completion.
10. In the contextual properties panel on the right, from the drop-down list below Wait for (Case type)

21
©2018 Pegasystems
select Service to set a dependency on the Service case.
Note: In this exercise, the Assistance request case type creates a single Service child case and
there is no difference between the Any and All options.
11. Click the To be resolved radio button to pause the assistance request until the Service case is
resolved.
12. Enter Provide service as the name of the process. The Service stage matches the following image.

13. Click Save to complete the Assistance request work flow.

Verify your work


Test the Assistance request case life cycle
1. Click Save and run to create an Assistance request case. The New: Assistance request form is
displayed.
2. Click Done to advance the case to the Enter customer information step. Confirm that the case status
is set to Open. In the Case Details area, confirm that the goal and deadline are set to 1 hour and 3
hours, respectively.
Note: The SLA intervals are displayed using only the largest time units configured, and begin to
count down as soon as the case is created. This causes the intervals to display as 1 hour and 3
hours, rather than the configured 2 hours and 4 hours.
3. Click No, advance this case to advance the case to the Identify location step.
4. Click No, advance this case to advance the case to the Identify vehicle step.
5. Click No, advance this case to advance the case to the Enter payment information step.
6. Click No, advance this case to advance the case to the Approval step. Confirm that the case status
is set to Pending-Qualification.
7. From the Actions menu, select Approval to approve or reject the case. Confirm that the assignment
is routed to the CSR@GoGo work queue. Confirm that the goal interval of 4 minutes is displayed in
the green band below the case ID. Confirm that the deadline interval of 14 minutes is displayed
below the form title.
8. Click Approve to approve the case and advance to the Select service provider step.

22
©2018 Pegasystems
9. From the Actions menu, select Select service provider to open the Select service provider step.
Confirm that the assignment is routed to the CSR@GoGo work queue.
10. Click No, advance this case to advance the case to the Service stage and create a Service child
case.
11. Click Submit to resolve the Service case.
12. Click the Assistance request case ID above the Service case ID to return to the parent case.
Confirm that the status of the Assistance request case is set to Pending-Fulfillment, that the current
assignment is to review the summary of the service, and that an email is added to the case as an
attachment.
13. Under Assignments, in the Review a summary of the service provided (Resolution) row, click Begin
to advance to the Review service summary step. Confirm that the assignment is routed to the work
queue for CSRs, rather than the current operator. Confirm that the goal interval of 14 minutes is
displayed in the green band below the case ID. Confirm that the deadline interval of 29 minutes is
displayed below the form title.
14. Click No, advance this case to resolve the Assistance request case. Confirm that the status of the
case is set to Resolved-Completed, and that a second email is added to the case as an attachment.

Test the Cancel request optional action


1. Click Save and run to create another Assistance request case. The New: Assistance request form is
displayed.
2. Click Done to advance the case to the Enter customer information step.
3. From the Actions menu, select Add work > Cancel request to display the Cancel request form.
4. Select No, I want to continue, then click Submit to rescind the cancellation.
5. From the Actions menu, click Enter customer information to return to the Enter customer
information step.
6. From the Actions menu, select Add work > Cancel request to display the Cancel request form.
7. Select Yes, cancel my request, then click Submit to advance the case to the Cancellation stage.
Confirm that the case status is set to Resolved-Withdrawn and that an email is added to the case as
an attachment.

Test the Assistance request rejection configuration


1. Click Save and run to create another Assistance request case. The New: Assistance request form is
displayed.
2. Click Done to advance the case to the Enter customer information step.
3. From the Actions menu, click Change stage to skip the remaining steps in the Submission stage
and display the Change stage form. Confirm that the default action on the form is to advance the
case to the next stage.
4. Click Submit to advance the case to the Validation stage.
5. From the Actions menu, select Approval to approve or reject the case.
6. Click Reject to reject the case and advance to the Approval Rejection stage. Confirm that the case
status is set to Resolved-Rejected and that an email is added to the case as an attachment.

23
©2018 Pegasystems
Exercise: Designing a data model
Scenario
GoGoRoad offers customers two levels of roadside assistance coverage. Customers with standard
coverage are charged for the services performed by a service provider, while gold-level customers are
not charged for services. To ensure that customers with standard coverage are billed for only the
services provided, stakeholders request that the application display a list of the services performed by
the service provider. The list should include the name of the service performed, the unit cost of the
service, the number of times the service was performed, and the total cost for each service. The
application should then calculate and display the total cost of the services performed.
In addition, stakeholders also request that the application capture identifying information about the
vehicle. Assistance request cases should capture the make, model, model year, and color of a vehicle.
The service provider uses this information to provide the correct replacement parts, such as a battery,
during the service.
The following table provides the credentials you need to complete the exercise.

Role Operator ID Password


Application Developer author_dm@gogoroad rules

Your assignment
Configure elements of the data model for the Assistance Request case type.
l Define a field group named Vehicle information to capture a description of the vehicle requiring
service. Define the following text fields for the field group: Make, Model, Model year, and Color.
Add the field group to the Identify vehicle step.
l Define a field group list named Selected services to capture services performed to fulfill the
assistance request case. Base the field group on the Services offered data type already defined in
the application.
Add the Selected services field group list to the Review service summary step and display the fields
in the following order: Service, Unit cost, Quantity, Line total.
Note: The Services offered data type is used to define the Services provided field group list, which
is defined for the Service case type. For this exercise, you can reuse this data type, as it contains the
fields needed to satisfy the requirement.
l Configure a data transform to copy any service with a quantity greater than 0 from the Service case
to the Assistance Request case. Add the data transform to the Perform service process of the
Service case type, after the Select services step.
l Configure the Assistance request case type to calculate an invoice total based on the services
performed by the service provider. Display the invoice total on the Review service summary step.

24
©2018 Pegasystems
Detailed steps
Create the Vehicle information field group to identify the vehicle to
service
1. Log in as the user author_dm@gogoroad using password rules.
2. In App Studio, from the left navigation panel, click Case types to view the Case Type Explorer, which
lists the case types defined for your application.
3. From the Case Type Explorer, click Assistance request to open the Assistance request case type.
4. In the Submission stage, click the Identify vehicle step to define fields for the step.
5. In the contextual properties panel on the right, click Configure view to open a dialog to configure
the user view for the step.
6. In the Field field, enter Vehicle information to name the field to add to the user view.
7. Press the Tab key to highlight the Type drop-down.
8. From the Type drop-down, select Field group to configure the field group.
9. Select Create default view to create the default user view for the field group.

10. Click Open to create the Default user view for the field group.
11. In the first Field field, enter Make to name the field to add to the user view.
12. Click Add field to add the following three fields to the user view.
a. In the second Field field, enter Model to name the field to add to the user view.
b. In the third Field field, enter Model year to name the field to add to the user view.

25
©2018 Pegasystems
c. In the Field field, enter Color to name the field to add to the user view.

13. Click Submit to complete the configuration of the Default user view.
14. Click Save to update the configuration of the Assistance request case type.

Create the Selected services field group list to list the services
performed by the service provider
1. In the Resolution stage, click the Review service summary step to define fields for the step.
2. In the contextual properties panel on the right, click Configure view to open a dialog to configure
the user view for the step.
3. In the Field field, enter Selected services to name the field to add to the user view.
4. Press the Tab key to highlight the Type drop-down.
5. From the Type drop-down, select Field group (list) to configure the field group as a list.
6. To the right of the Options drop-down, in the unnamed drop-down list, select Services offered to
select the data type as the definition for the field group list. The contents of the dialog update to
display the fields defined for the Services offered data type.

26
©2018 Pegasystems
7. To the right of the row for the Description field, click the Delete icon to remove the field from the
view.

8. Click Submit to update the configuration of the user view.

Reorder the columns of the Services offered field group list


1. In the upper-right corner of App Studio, click Save to update the configuration of the Assistance
request case type.
Important: Due to an issue in the exercise system, you must first click Save to update your
configuration, then click Save and run to create your case. Clicking Save and run without first
clicking Save may prevent the fields on the Vehicle information form from displaying.
2. In the upper-right corner of App Studio, click Save and run to create a case to view the Review
service summary form.
3. On the New: Assistance request form, click Done to advance the case to the Enter customer
information step.
4. From the Actions drop-down, select Change stage to move the case to a different stage.
Tip: Use the Change stage action to move the case to another stage and skip any intermediate
steps. The Change stage action is a standard action added by default to each case type as an
optional action.
5. From the Next stage drop-down, select Choose a stage. A second drop-down list is displayed to the
right that lists the stages defined for the Assistance request case type.

27
©2018 Pegasystems
6. From the drop-down list of stage names, select Resolution to advance the case to the Resolution
stage and display the Review service summary form.

7. Click Submit to switch the case to the Resolution stage.


8. From the Actions drop-down, select Review service summary to display the Review service summary
form.
9. On the Review service summary form, in the upper-right corner of the Selected services field group,
click the orange pencil icon to display the Configure form panel to the right of the Case details area.

28
©2018 Pegasystems
10. In the Configure form panel, position the pointer over the Selected services table and click Modify
this list to rearrange the columns in the list.

11. Position the pointer over each column name to display the selection handle to the left of the column
name.
12. Using the selection handle, click the button and drag the columns into the following order: Service,
Unit cost, Quantity, Line total.

Note: As you move each column, the form updates to reflect the new column order.
13. In the Configure form header, click the three dots in the upper-right corner to open the More
options menu.
14. From the More options menu, click Configure form to display the Review service summary user
view.
15. In the row for the Service field, from the Options drop-down, select Read-only to prevent users
from editing the contents of the field.

29
©2018 Pegasystems
16. In the row for the Unit cost field, from the Options drop-down, select Read-only to prevent users
from editing the contents of the field.
17. In the row for the Quantity field, from the Options drop-down, select Read-only to prevent users
from editing the contents of the field.

18. Click Done to complete the configuration of the Selected services list.
19. In the Configure form header, click the X to close the panel and commit your changes to the user
view.

Create the Invoice total property calculated as the sum of the items
in the Selected services field group
1. In App Studio, from the left the navigation panel, click Case types > Assistance request to open
the Assistance request case type.
2. In the Resolution stage, click the Review service summary step to define fields for the step.
3. In the contextual properties panel to the right, click Configure view to open a dialog to configure
the user view for the step.
4. Click Add field to add a field to the user view.
5. In the Field field, enter Invoice total to name the field to add to the user view.
6. Press the Tab key to highlight the Type drop-down.
7. From the Type drop-down, select Currency to configure the field to display currency values.
8. From the Options drop-down, select Calculated (read only) to define a calculation for the field. A
Gear icon is displayed to the right of the row.
9. Click the Gear icon to open the Calculation modal dialog.
10. In the Calculation dialog, from the Function drop-down, select Sum of to calculate the sum of a list.

30
©2018 Pegasystems
11. From the Field drop-down, select Line total to calculate the invoice total as the sum of the Line total
fields for each item in the list.

12. Click Submit to complete the definition of the calculation and return to the user view.
13. Click Submit to complete the configuration of the user view.
14. Click Save to update the configuration of the Assistance request case type.
15. To the right of the Save button, click the X to close the Assistance Request case type.

Configure a data transform to copy services provided from a Service


case to an Assistance request case
1. From the App Studio header, click App studio > Dev Studio to switch studios and configure a data
transform to copy data from the Service case to the Assistance request case.
2. In Dev Studio, from the left navigation panel, click Case types > Service to open the Service case
type.
3. Position the pointer over the Perform service process and click the Configure Process icon to
configure the process.
4. In the upper-right corner of the process, click Open process to open the Perform service flow
record in the Process Modeler.
5. In the Process Modeler, right-click the Select services connector and select View properties to
display the Connector properties dialog.
6. In the Connector properties dialog, in the Set properties area, click Apply data transform to add a
data transform to the connector. The dialog updates to display a Data transform field.

31
©2018 Pegasystems
7. In the Data transform field, enter CopySelectedServices to name the data transform.

8. To the right of the Data transform field, click the crosshairs icon to open the Data Transform
Record Configuration form.
9. On the Data Transform Record Configuration form, click Create and open to display a new data
transform record.
10. On the data transform record, from the Action drop-down, select For Each Page In to iterate over
the items in a list. A second, indented row labeled 1.1 is displayed on the record.
11. In the row labeled 1, in the Target field, enter or select .Services to iterate over the items in the
Services list.
12. In the Source column, select the Also use each page as source context check box to use the
Services page as the source context to resolve property references.
13. In the row labeled 1.1, from the Actions drop-down, select When to configure the condition for
selecting a row. A third, indented row labeled 1.1.1 is displayed on the record.
14. In the row labeled 1.1, in the Target field, enter .Quantity>0 to only select rows with a quantity
greater than zero.
15. In the row labeled 1.1.1, from the Actions drop-down, select Append to to append the contents of
the selected row to a different list.
16. In the row labeled 1.1.1, in the Target field, enter pyWorkCover.SelectedServices to copy the
contents of the selected row to the Selected services field group in the Assistance request parent
case.
17. In the row labeled 1.1.1, from the Relation drop-down, select current source page to copy the
contents of the selected row in the Services field group in the Service case.

18. Click the Pages & Classes tab to define the pyWorkCover page so that the data transform can
resolve the Selected services property reference.
19. In the Page name field, enter pyWorkCover as the name of the page to define.

32
©2018 Pegasystems
20. In the Class field, enter or select GoGoDM-GoGoRoadDM-Work-AssistanceRequest to define the
pyWorkCover page as instance of the Assistance request case type.

21. Click Save to complete the configuration of the data transform.


22. Click the open PerformService tab in Pega to return to the Perform services flow record.
23. In the Connector properties dialog, click Submit to complete the configuration of the Select services
connector to run the CopySelectedServices data transform.
24. Click Save to complete the configuration of the Perform services flow record.

Verify your work


1. From the Create menu, select New > Assistance request to create a new case.
2. On the New: Assistance request form, click Done to advance the case to the Enter customer
information step.
3. On the Enter customer information form, click Advance this case to advance to the Identify location
step.
4. On the Identify location form, click Advance this case to advance to the Identify vehicle step.
5. On the Identify vehicle form, verify that the Vehicle information group contains the four fields
Make, Model, Model year, and Color.

6. From the Actions drop-down, select Change stage to move the case to a different stage.

33
©2018 Pegasystems
7. From the Next stage drop-down, select Choose a stage. A second drop-down list is displayed to the
right that lists the stages defined for the Assistance request case type.
8. From the drop-down list of stage names, select Service to advance the case to the Service stage and
display the Select services form.
9. Click Submit to switch the case to the Services stage.
10. On the Select services form, enter the quantities provided in the following table. Verify that the total
cost is USD 100.

Service Quantity
Tire repair 2
Battery charge 1
Gasoline 1

11. Click Submit to complete the Select services form and resolve the Service case.
12. In the case header, click Assistance request (A-[#]) to return to the Assistance request parent
case. The Assignments table lists the Review service summary step as the current task.
13. In the Assignments table, to the right of the Review service summary task, click Begin to open the
Review service summary form.
14. On the Review service summary form, verify that the Selected services table displays the three rows
filled out in the Service case and that the value of the Invoice total field is 100 USD.

Note: The empty first line in the list is a result of the Selected services list initialization. The empty
line is added to the field group list by the pySetFieldDefaults data transform in the AssistanceRequest
class. Pega Platform automatically configures the data transform to initialize any page or page list
that you create when you configure a user view or the data model for a case type. To prevent the
empty line from appearing in the list, open the data transform and delete the line that sets the
value of .SelectedServices(1).pyLabel.

34
©2018 Pegasystems
Tip: A read-only list should not present the user with controls to add or remove items from the list.
You can remove the Add item and Delete controls by editing the section record that displays the
list. Editing a section record is covered in a different lesson.

35
©2018 Pegasystems
Exercise: Configuring data validation
Scenario
Customers with standard coverage pay by credit card for services performed by a service provider. To
ensure that credit card transactions are processed correctly, stakeholders have identified several
requirements for payment information.
The following table provides the credentials you need to complete the exercise.

Role Operator ID Password


Application Developer author_val@gogoroad rules

Your assignment
Enforce the following validation requirements on payment information collected during the Enter
payment information step.
l Customers can pay for service with either a MasterCard or Visa credit card. Other credit card types
are not accepted in the initial release of the application.
l Credit card numbers must not contain special characters. Apply the isLetterOrDigit edit validate
record to the card number field.
Note: Credit card numbers should contain only numeric digits. However, security restrictions
placed on your exercise environment restrict the usage of a custom Edit Validate record. For this
exercise, use the isLetterOrDigit edit validate record as a substitute.
l The expiration date must be in the future. Expired cards are rejected and the process cannot
continue until the user provides a valid expiration date.
l Entry is required in all three fields on the Enter payment information step.

Detailed steps
Create the Payment information field group to collect credit card
information
1. Log in to App Studio as the user author_val@gogoroad using password rules.
2. In App Studio, from the left navigation pane, click Case types to view the Case Type Explorer, which
lists the case types defined for your application.
3. In the Case Type Explorer, click Assistance request to open the Assistance request case type.
4. In the Submission stage, click the Enter payment information step to define fields for the step.
5. In the contextual properties panel to the right, click Configure view to open a dialog to configure
the user view for the step.
6. In the Field field, enter Payment information to name the field to add to the user view.

36
©2018 Pegasystems
7. Press the Tab key to move the pointer to the Type drop-down.
8. From the Type drop-down, select Field group to configure the field group.
9. To the right of View , from the Options drop-down, select Create default view to create the default
user view for the field group.

10. Click Open to create the Default user view for the field group.
11. In the Field field, enter Card type to name the field to add to the user view.
12. Press the Tab key to move the pointer to the Type drop-down.
13. From the Type drop-down, select Picklist to configure the field as a list.
14. Click Add field to add a field to the user view.
15. In the Field field, enter Card number to name the field to add to the user view.
16. Click Add field to add a field to the user view.
17. In the Field field, enter Expiration date to name the field to add to the user view.
18. Press the Tab key to move the pointer to the Type drop-down.
19. From the Type drop-down, select Date only to configure the field group.

Configure a picklist for the Card type field


1. To the right of the Card type row, click the Gear icon to open the Display as modal dialog.
2. In the List choices field, enter MasterCard to add the first item to the list of choices.
3. Click + Add choice to add a second entry to the list. An empty field is displayed below the current
field.

37
©2018 Pegasystems
4. In the empty field, enter Visa to complete the list.

5. Click Submit to return to the Default user view.

Indicate that the three fields on the Enter payment information form
are required
1. In the Card type row, from the Options drop-down, select Required.
2. In the Card number row, from the Options drop-down, select Required.
3. In the Expiration date row, from the Options drop-down, select Required.

4. Click Submit to complete the configuration of the Default user view.


5. Click Save to update the configuration of the Assistance request case type.
6. Close the Assistance Request case type.

38
©2018 Pegasystems
Configure a validate rule to validate that the value of the Expiration
date field is in the future
1. From the App Studio header, click App Studio > Dev Studio to switch studios and enter instructions
for each assignment.
2. In Dev Studio, from the left navigation panel, click Case types > Assistance request to open the
Assistance request case type.
3. Hover the pointer over the Enter payment information process and click the Configure process
icon to display the process as a flow diagram.
4. In the upper-right corner of the process, click Open process to open the Enter payment information
flow record in the Process Modeler.
5. In the Process Modeler, right-click the Enter payment information connector and select Open flow
action to configure the Enter payment information flow action.
6. On the Enter payment information flow action, click the Validation tab to add a validation condition
to the flow action.
7. In the Validate field, enter ValidateExpirationDate to configure a validate rule to verify that the
expiration date is entered correctly.
8. To the right of the Validate field, click the crosshairs icon to create the validate record. The
Validate record configuration form is displayed.
9. On the Validate record configuration form, click Create and open to accept the default values and
display the validate record form.
10. On the validate record, in the Property field, enter or select .PaymentInformation.ExpirationDate to
validate the contents of the Expiration date field.
11. Under Conditions, click Add to configure a validation condition to apply to the Expiration date field.
12. In the Select a function field, select [a datetime] is in the [past/future] to validate a date value. Two
fields are displayed before the function field.
13. In the empty field below the validation function, enter or select .PaymentInformation.ExpirationDate
to test the value in the Expiration date field.

39
©2018 Pegasystems
14. In the Message field, enter "Expiration date is not valid." as the message to display if the user enters
an invalid expiration date.

15. Click Submit to complete the configuration of the validation condition.


16. Click Save to complete the configuration of the validate rule.
17. Click the Enter payment information tab to return to the Enter payment information flow action
record.
18. Click Save to complete the configuration of the flow action.

Add an edit validate rule to the Card number field to prevent the
input of special characters
1. In Dev Studio, from the left the navigation panel, click App to view the Application Explorer, which
lists the records defined for each class of your application.
2. In the Application Explorer, expand AssistanceRequest > Data Model > Property >
PaymentInformation to list the properties defined for the Payment information field group.

40
©2018 Pegasystems
3. Under the Payment information field group, click CardNumber to open the Card number property
record.

4. On the Card number property record, click the Advanced tab to configure the property to apply an
Edit validate rule.
5. In the Use Validate field, enter or select isLetterOrDigit to apply the edit validate rule to the contents
of the Card number field.
6. Click Save to complete your configuration of the Card number record.

Verify your work


1. From the Create menu, select New > Assistance request to create a new case.
2. On the New: Assistance request form, click Done to advance the case to the Enter customer
information step.
3. On the Enter customer information form, click Advance this case to advance to the Identify location
step.
4. On the Identify location form, click Advance this case to advance to the Identify vehicle step.
5. On the Identify vehicle form, click Submit to advance to the Enter payment information step.

41
©2018 Pegasystems
6. On the Enter payment information form, click Submit to attempt to advance the case. Verify that the
application prevents the case type from advancing and displays an error on each field that indicates
an entry is required.

7. On the Enter payment information form, click the Card type drop-down and verify that the drop-
down lists two allowed values: MasterCard and Visa.
8. In the Card number field, enter the string 1234ABCD%^&*5678.
9. In the Expiration date field, click the Calendar control to select the date September 30, 2017.
10. On the Enter payment information form, click Submit to attempt to advance the case. Verify that the
application prevents the case type from advancing and displays an error on the Card number and
Expiration date fields that indicates that the values in each field are invalid.

11. In the Card number field, enter the string 1111222233334444.


12. In the Expiration date field, click the Calendar control to select the date September 30, 2020.
13. Click Submit and confirm that the case advances to the Validation stage.

42
©2018 Pegasystems
Exercise: Configuring reference data
Scenario
InsCorp is launching the GoGoRoad roadside assistance service for customers in the Boston, New York,
Chicago, Denver, and Seattle metropolitan areas and eastern Texas. In each service area, roadside
assistance is offered by a limited set of service providers contracted by GoGoRoad. To fulfill assistance
request cases, Customer Service Representatives (CSRs), must be able to select a contracted service
provider near the location reported by the customer.
The following table provides the credentials you need to complete the exercise.

Role Operator ID Password


Application Developer author_ie@gogoroad rules

Your assignment
Configure elements of the data model for the Identify location and Select service provider steps.
l Create the Service address field group. Configure the field group with three fields: Street, City, and
State. Configure the Identify location user view to capture the location at which the service is
performed.
l Configure the Service provider data type to model information about the service providers that
perform roadside assistance for customers. Add the following fields to the data type: Name, Street,
City, State, Latitude, Longitude, Address, LatLong.
l Add local data storage to the data type to store a listing of service providers who agree to fulfill
roadside assistance requests. Download the Service-provider-list.csv file listed in the Related
files section to import the list of service providers.
l Configure a declare expression to calculate the Address value by concatenating values in the
Street, City, and State fields into a single text string.
l Configure a declare expression to calculate the LatLong value by concatenating the latitude and
longitude for each provider into a text single string.
l Configure a data page to return a list of service providers. Filter the list to return only those
providers located in the same state as the service address. Configure the Service provider property
to source data from the data page of filtered results.

43
©2018 Pegasystems
Detailed steps
Create the Service address field group to capture the location of the
customer
1. Log in as the user author_ie@gogoroad using password rules.
2. In App Studio, from the left navigation panel, click Case types to view the Case Type Explorer, which
lists the case types defined for your application.
3. In the Case Type Explorer, click Assistance request to open the Assistance request case type.
4. In the Submission stage, click the Identify location step to define fields for the step.
5. In the contextual properties panel to the right, click Configure view to open a dialog to configure
the user view for the step.
6. In the Field field, enter Service address to name the field to add to the user view.
7. Press the Tab key to move the pointer to the Type drop-down.
8. From the Type drop-down, select Field group to configure the field group.
9. To the right of View , from the Options drop-down, select Create default view to create the default
user view for the field group.

10. Click Open to create the Default user view for the field group.
11. In the Field field, enter Street to name the field to add to the user view.
12. Click Add field to add a field to the user view.
13. In the Field field, enter City to name the field to add to the user view.
14. Click Add field to add a field to the user view.

44
©2018 Pegasystems
15. In the Field field, enter State to name the field to add to the user view.

16. Click Submit to complete the configuration of the Default user view.
17. Click Save to update the configuration of the Assistance request case type.
18. Close the Assistance Request case type.

Create the Service provider data type with fields


1. In App Studio, from the left navigation panel, click Data to view the Data Explorer, which lists the
data types defined for your application.
2. In the Data Explorer, click New to open a dialog to create a new data type for service provider
information.
3. In the untitled dialog, in the Create new data type field, enter Service provider.

45
©2018 Pegasystems
4. On the lower right, click Next to accept the default values for the remaining options and create the
data type.

5. On the Service provider data type, on the Data model field, click Add field to add a field to the data
type for the name of the service provider.
6. In the empty field, enter Name to name the field.
7. On the Service provider data type, on the Data model field click Add field to add a field to the data
type for the street address of the service provider.
8. In the empty field, enter Street to name the field.
9. On the Service provider data type, on the Data model field click Add field to add a field to the data
type for the city of the service provider.
10. In the empty field, enter City to name the field.
11. On the Service provider data type, on the Data model field click Add field to add a field to the data
type for the state of the service provider.
12. In the empty field, enter State to name the field.
13. On the Service provider data type, on the Data model field click Add field to add a field to the data
type for the latitude coordinate for the service provider.

46
©2018 Pegasystems
14. In the empty field, enter Latitude to name the field and configure the field type as follows.
a. Press the [Tab] key to move the pointer to the Type drop-down.
b. From the Type drop-down list, select Decimal to configure the property type.
15. On the Service provider data type, on the Data model field click Add field to add a field to the data
type for the longitude coordinate for the service provider.
16. In the empty field, enter Longitude to name the field and configure the field type as follows.
a. Press the [Tab] key to move the pointer to the Type drop-down.
b. From the Type drop-down list, select Decimal to configure the property type.
17. On the Service provider data type, on the Data model field click Add field to add a field to the data
type for the full address for the service provider.
18. In the empty field, enter Address to name the field.
19. On the Service provider data type, on the Data model field click Add new to add a field to the data
type for the latitude and longitude coordinates for the service provider.
20. In the empty field, enter LatLong to name the field.

Define expressions to calculate the Address and LatLong values


1. On the Service provider data type, in the Address row, click the Gear icon to open a pop-up dialog
to define an expression to concatenate the full address.
2. In the pop-up dialog, select the This is a calculated field (read-only) check box to display the
Calculation field and configure a calculation.

47
©2018 Pegasystems
3. In the Calculation field, enter .Street + " " + .City + " " + .State to concatenate the address
components.

4. On the lower right, click Submit to complete the calculation.


5. In the LatLong row, click the Gear icon to open a pop-up dialog to define an expression to
concatenate the latitude and longitude values into a single string.
6. In the pop-up dialog, select the This is a calculated field (read-only) check box to display the
Calculation field and configure a calculation.

48
©2018 Pegasystems
7. In the Calculation field, enter .Latitude + "," + .Longitude to concatenate the coordinate components.

8. On the lower right, click Submit to complete the calculation.

Add reference data to the Service provider data type


1. On the Service provider data type, click the Records tab to add reference data to the data type.
2. On the Records tab, on the upper left, click Import to open the Upload file dialog to import the
initial set of service provider records.
3. In the Upload file dialog, click Choose File to select the file to upload with the Open dialog.
4. In the Open dialog, select the file you downloaded at the beginning of the exercise.
5. Click Open to select the file and return to the Upload file dialog.
6. On the Upload file dialog, click Next>> to advance to the second step in the import process.
7. Click Next>> to accept the default values and advance to the third step in the import process.
8. Click Start validation to validate the list entries to import.
9. When validation completes, click Continue import to import the file contents.

49
©2018 Pegasystems
10. When the file import completes, click Finish to return to the data type. The Records tab now
displays the contents of the imported file, similar to the partial listing in the following image.

Configure a data page to return a filtered list of data providers


1. From the App Studio header, click App Studio > Dev Studio to switch studios to filter the data page
results.
2. In Dev Studio, from the left navigation panel click, Data types to view the Data Type Explorer, which
lists the data types defined for your application.
3. From the Data Type Explorer, expand the Service provider data type to display the data pages
defined for the data type.
4. From the data page list, click List Service provider to open the List Service provider data page.
5. In the record header, click Save > Save as to display the Save As Data Page form to create a copy of
the List Service provider data page.
6. In the Label field, enter Filtered service provider list to name the data page to create.
7. Click Create and open to create the new data page.
8. On the data page record, in the Data Sources area, to the right of the Name field, click the
crosshairs icon to open the DataTableEditorReport report definition, which generates the list of
service providers.
9. In the report definition record header, click Save > Save as to display the Save As Report Definition
form to create a copy of the DataTableEditorReport report definition.
10. In the Label field, enter Filtered service provider list to name the report definition to create.
11. Click Create and open to create the new report definition.
12. On the report definition form, click the Parameters tab to define a parameter to pass the state
portion of the service location to the report definition.
13. On the Parameters tab, in the Name field, enter State to name the parameter.
14. In the Description field, enter Limit service providers to the specified state to describe the purpose of
the parameter.

50
©2018 Pegasystems
15. From the Data type drop-down, select Text to pass a text string as the value of the parameter.

16. Click the Query tab to create a filter condition based on the parameter.
17. On the Query tab, in the Edit filters area, in the Column source field, enter or select .State to filter
the list of service providers by state.
18. In the Value field, enter or select Param.State as the comparison value.

19. In the record header, click Save to update the configuration of the report definition.
Note: Saving the report definition at this point adds a moderate performance warning to the report
definition. In this exercise, add a justification to the warning. The next section of steps configures
your application to pass a parameter value to the report definition.
20. In the report definition record header, click Review/Edit to display a pop-up that lists the warnings
generated for the report.
21. In the pop-up, under the Performance: Moderate warning click Add justification to display a field
to enter a justification for the warning.
22. In the field below the Performance: Moderate warning, enter Parameter passed from property
definition.
23. Click OK to complete the justification and dismiss the pop-up. Verify that the number of warnings
displayed in the record header decreased by one.

Define a parameter to pass the state portion of the service location to


the data page
1. Click the D_FilteredServiceProviderList tab to return to the data page form.
2. On the data page form, click the Parameters tab to define a parameter to pass the state portion of
the service location to the data page.
3. On the Parameters tab, in the Name field, enter State to name the parameter.
4. In the Description field, enter Limit service providers to the specified state to describe the purpose of
the parameter.
5. Click the Definition tab to return to the data page definition.

51
©2018 Pegasystems
6. On Definition tab, in the Data Sources area, in the Name field, enter or select
FilteredServiceProviderList to select the report definition you created.

Important: To select the report definition, first clear the contents of the field. Otherwise, Pega
Platform returns a list of records that matches the contents of the field.
7. Below the Name field, click Parameters to display the Parameters for FilteredServiceProviderList
dialog to specify the value for the parameter expected by the report definition.
8. In the Parameters for FilteredServiceProviderList dialog, in the Value field, enter or select
Param.State to pass the value of the State parameter on the data page to the report definition.

9. On the lower right, click Submit to dismiss the dialog and return to the data page form.
10. Click Save to complete the configuration of the data page.

Create the Service provider page list


1. In Dev Studio, from the left navigation panel, click Case types > Assistance request to open the
Assistance request case type.
2. In the Validate stage, click the Select service provider step.
3. In the contextual properties panel to the right, click Configure view to open a dialog to configure
the user view for the step.
4. In the Field field, enter Service providers to name the field to add to the user view.
5. Press the Tab key to move the pointer to the Type drop-down.
6. From the Type drop-down, select Field group (list) to configure the field group list.
7. In the unnamed field to the right of the Options drop-down, select Service provider to reference the

52
©2018 Pegasystems
Service provider data type as the source for the page list.
Important: The data type field defaults to the name of the field group list. Change the name of the
data type to Service provider to refer to the data type you created earlier in the exercise.
8. Press the Tab key to move the pointer out of the unnamed field. The dialog updates to display a list
of the fields defined for the Service provider data type.
9. To the right of the City row, click the trash can icon to delete the City field from the user view.
10. Repeat the previous step for each row except the Address and Name rows. When you finish, the
field group (list) contains only two fields, Address and Name.

11. In the Name row, from the Options drop-down, select Read-only to display the service provider
name as non-editable text.
12. Click Submit to complete the configuration of the Select service provider user view.
13. Click Save to update the configuration of the Assistance request case type.
14. Close the Assistance Request case type.

Add the Service provider page list to the Select service provider user
view
1. In Dev Studio, from the left navigation panel, click App to view the App Explorer, which lists the rules
defined for each case type in your application.
2. In the App Explorer, expand Assistance request > Data Model > Property to display a list of all of
the properties defined for the Assistance request case type.
3. Under Property, click Service providers to open the Service providers property.
4. On the Service providers property form, under Data access, select Refer to a data page to read the
list values from a data page. The Data Page field is displayed on the property form.
5. In the Data Page field, enter or select D_FilteredServiceProviderList to refer to the data page of
filtered service providers that you created earlier in the exercise. The Parameters area is displayed
on the property form, with a single field labeled State.
6. In the State field, enter or select .ServiceAddress.State to filter the data page based on the state

53
©2018 Pegasystems
identified by the customer when entering the location of service.

1. Click Save to complete the configuration of the property.

Verify your work


1. From the Create menu, select New > Assistance request to create a new case.
2. On the New: Assistance request form, click Done to advance the case to the Enter customer
information step.
3. On the Enter customer information form, click Advance this case to advance to the Identify location
step.
4. On the Identify location form, in the State field, enter MA to identify the location of the service as
Massachusetts.

54
©2018 Pegasystems
Note: Any of the following entries returns a list of valid service providers: MA, NY, IL, TX, CO, and
WA.
5. Click Advance this case to advance to the Identify vehicle step.
6. From the Actions menu, select Change stage to display the Change stage form.
Tip: When testing your case type, use the Change stage optional action to skip steps that do not
affect the test. For example, in this exercise you can skip the Identify Vehicle and Enter payment
information steps.
7. On the Change stage form, click Submit to advance the case to the next stage. The case advances to
the Validation stage.
8. From the Actions menu, select Approval to approve the assistance request.
9. On the Approval form, click Approve to approve the case and advance to the Select service provider
step.
10. From the Actions menu, select Select service provider to view the list of available service providers.
11. On the Select service provider form, verify that the last two characters in the Address field are MA,
matching your entry in step 4.

55
©2018 Pegasystems
Tip: A read-only list should not present the user with controls to add or remove items from the list.
You can remove the Add item and Delete controls by editing the section rule that displays the list.
Editing a section rule is covered in a different lesson.
12. Optional: Repeat the verification procedure using any of the other states listed in the note for step 4
to confirm that the list of service providers updates as expected.

56
©2018 Pegasystems
Exercise: Designing a user interface
Scenario
To improve the user experience for customers, stakeholders request several user interface changes to
the GoGo Road application. The initial screen of the case type should present customers with a call-to-
action consisting of a drop-down list with clear, understandable options. The contents of the drop-
down list and the invoice total should be displayed in larger red text to draw the attention of the
customer. And the customer information fields should be displayed only after the customer enters
their customer ID.
To reduce the time needed for Customer Service Representatives (CSRs) to select a service provider,
stakeholders request that the available service providers be displayed on a map above the list of
providers, with the name and address indicated for each provider and a button to assign a service
provider to the case.
The following table provides the credentials you need to complete the exercise.

Role Operator ID Password


Application Developer author_ui@gogoroad rules

Your assignment
Update the Create user view.
l Change the displayed options from the default values to My vehicle has a flat tire, My vehicle does not
start, I am locked out of my vehicle, and My vehicle is out of gas.
l Add the placeholder with the text My issue is... to the drop-down to guide users.
l Change the drop-down label to the question How can we help you today? to direct customers.
Define a format to style important text as 16-point red letters. Apply the format to the Service type
drop-down label and the Invoice total field.
Design the user view for the Select service provider step.
l Add an address map control to the Select service provider user view. Configure the control to
display a marker for each service provider listed on the form. Display a pop-up containing
information about the provider when the user clicks a marker. Use the Provider information user
view defined for the Service provider data type for the pop-up.
l Add a button to the Provider information user view to set the assigned service provider for the
assistance request case to the selected service provider. Configure the button to call the Set service
provider data transform and perform a Finish assignment action to advance the case. The data
transform and the target property to set have been created for you.
Configure the user view for the Enter customer information step to display the Default user view only
after the user enters a customer ID.
l Add an action set to the Customer ID field to refresh the section when the contents of the field
change.

57
©2018 Pegasystems
l Add a visibility condition to the embedded section to display the section only when the Customer ID
field has a value.

Detailed steps
Update the configuration of the Create user view
1. Log in to App Studio as the user author_ui@gogoroad using password rules.
2. From the App Studio header, click App Studio > Dev Studio to switch studios and update the
contents of the Create user view.
3. From the Dev Studio header, from the Create menu, select New > Assistance request to create a
new case. The New: Assistance request form is displayed. Examine the current configuration of the
New: Assistance request form, noting the lack of user guidance and terms used in the drop-down list.
4. Along the bottom of the window, click the Live UI icon to examine the elements of the form. A pane
opens along the right edge of the window that displays a listing of UI elements.
5. Click the Service type drop-down to display configuration details for the drop-down control.
6. Click the crosshairs icon to open the section record containing the drop-down list.
7. On the section record, click the drop-down list to open the Cell Properties panel for the control.
8. In the Cell Properties panel, ensure the Include placeholder checkbox is selected to add
placeholder text to the drop-down list.
9. In the field to the right of the Include placeholder check box, enter "My issue is......" to identify the
purpose of the drop-down list to customers.

10. In the Cell Properties panel, to the right of the Property field, click the crosshairs icon to open the
property record associated with the drop-down list to update the list values.
11. Under Prompt values, in the Prompt value fields, change the contents of the fields as follows.
a. Update the Prompt value field for the Flat tire row to My vehicle has a flat tire.
b. Update the Prompt value field for the Dead battery row to My vehicle does not start.
c. Update the Prompt value field for the Locked out row to I am locked out of my vehicle.

58
©2018 Pegasystems
d. Update the Prompt value field for the Out of gas row to My vehicle is out of gas.

12. Click Save to update the configuration of the property record.


13. Click the pyEnterCaseDetails tab to return to the section record.
14. In the Cell Properties panel, ensure the Use property default check box is deselected to override
the default field label.
15. In the field to the right of the Use property default check box, enter How can we help you today?.

16. Click Submit to complete the configuration of the drop-down control.


17. Click Save to update the configuration for the section record.

Define a style for Important text


1. From the Application menu, select Skin to open the skin rule for the application.
2. Click the Mixins tab to define a mixin containing the style pattern for Important text.
3. Under Typography, click Create new mixin to display the Create new mixin dialog to define the
mixin.
4. In the Create new mixin dialog, in the Mixin name field, enter Large red text.
5. Click Submit to dismiss the dialog and create the mixin. A panel labeled LARGE RED TEXT is
displayed in the middle of the skin record.
6. In the LARGE RED TEXT panel, in the Font size field, enter 20.

59
©2018 Pegasystems
7. In the Font color field, enter #FF0000 to display the font as red text.

Create a custom format for read-only text input fields


1. Click the Component styles tab to define the formats to apply to drop-down and text field controls.
2. Click Dynamic layouts to open a menu of components.
3. From the menu of components, select Text inputs & Formatted Text to list the formats defined for
text fields.
4. Click Add new style to display the Create a new format dialog to define the Important format.
5. In the Create a new format dialog, in the Format name field, enter Important.
6. Click Submit to create the Important format for text inputs and formatted text. A panel labeled
IMPORTANT is displayed to the right of the list of formats.
7. In the IMPORTANT panel, expand Read-Only Text to define the formatting to apply to read-only
text.
8. Click Use mixin to apply a mixin to the format.
9. Below the Use mixin radio button, click the downward arrow icon to open a pop-up to select a
mixin to apply to the format.

60
©2018 Pegasystems
10. In the pop-up, select the Large red text mixin to apply the mixin and dismiss the pop-up.

Create a custom format for field labels


1. From the menu of components, select Labels & Required fields to list the formats defined for field
labels.
2. Click Add new style to display the Create a new format dialog to define the Important format.
3. In the Create a new format dialog, in the Format name field enter Important.
4. Click Submit to create the Important format for labels and required fields. A panel labeled
IMPORTANT is displayed to the right of the list of formats.
5. In the IMPORTANT panel, under Label click Use mixin to apply a mixin to field labels.
6. Below the Use mixin radio button, click the downward arrowhead icon to open a pop-up to select
a mixin to apply to the format.

61
©2018 Pegasystems
7. In the pop-up, select the Large red text mixin to apply the mixin and dismiss the pop-up.

8. Click Save to update the configuration of the skin record.

Apply a custom format to the Service type drop-down


1. Click the pyEnterCaseDetails tab to return to the section record.
2. Click the Service type drop-down to display configuration details for the drop-down control.
3. Click the Presentation tab to configure the appearance of the control.
4. In the Label format field, enter or select Important to apply the Important format to the control.

5. Click Submit to complete the configuration of the drop-down control.


6. Click Save to update the configuration for the section record.

Apply a custom format to the Invoice total field


1. In Dev Studio, from the left navigation panel, click App to view the App Explorer, which lists the rules
defined for your application.
2. In the App Explorer, expand AssistanceRequest > User Interface > Section to display a list of all
of the sections defined for the Assistance request case type.
3. Under Section, click ReviewServiceSummary to open the Review service summary section.
4. On the Review service summary section form, click the Invoice total field to open the Cell
Properties panel for the control.
5. Click the Presentation tab to configure the appearance of the control.

62
©2018 Pegasystems
6. In the Control format field, enter or select Important to apply the Important format to the control.

7. Click Submit to complete the configuration of the drop-down control.


8. Click Save to update the configuration for the section record.

Add a map to the Select service provider step


1. In Dev Studio, from the left navigation panel, click App to view the App Explorer.
2. In the App Explorer, under AssistanceRequest > User Interface > Section,
click SelectServiceProvider to open the Select service provider section record.
3. On the Select service provider section, on the Design tab click the plus icon to display a pop-up
menu of UI controls that you can add to the section.
4. Click Advanced > Map to add a map control to the section.
5. Hover the pointer over the Map control to display a move pointer.
6. Click and drag the Map control above the Service providers section.
7. Click the Map control to open the Cell Properties panel for the control.
8. In the Cell Properties panel, above the General tab, click Change to display a pop-up menu of UI
controls.
9. Under Custom, click Other to display a text field.
10. In the Map field, enter pxAddressMap to display the control as an Address map control, which allows
you to display markers on the map using latitude and longitude coordinates.
11. Under Marker source, from the Type drop-down, select Data page to add markers to the map.
12. In the Data page field, enter or select D_FilteredServiceProviderListUI to source the marker data
from the filtered list of service providers that you created in a previous exercise. The Cell Properties
panel updates to display the State parameter and VALUE field.
13. In the VALUE field, enter or select .ServiceAddress.State to pass the state of the location of service to
the data page as a parameter to filter the list of service providers.
14. In the Property for location field, enter or select .LatLong to reference the latitude and longitude
coordinates for each service provider.

63
©2018 Pegasystems
15. In the Marker Info Section field, enter or select ProviderInformation to display the user view when a
user clicks a marker on the map.

Tip: Do not click Submit at this time. In the following steps you configure the ProviderInformation
user view used by the map to display service provider information. Wait to click Submit until after
you configure the user view.

Add a button to the Provider Information user view to set the selected
service provider
1. In the Cell Properties panel, to the right of the Marker info section field, click the crosshairs icon
to open the ProviderInformation section.
2. On the ProviderInformation section, on the Design tab, below the Template icon, on the region
header labeled A, click the plus icon to display a pop-up menu of UI controls that you can add to the
section.
3. Click Button to add a button to the section.
4. Click the button to open the Cell Properties panel for the button control.
5. To the right of the Button caption drop-down, in the untitled field, enter Assign to request to
change the label of the button.
6. In the Cell Properties panel, click the Actions tab to add an action to the button.
7. On the Actions tab, click Create an action set to create an action set for the button.
8. Under Action Set 1, click Add an event to display a pop-up menu of events that you can add to the
action set.
9. Under Mouse events, click Click to add a click event to the button control.
10. Click Add an action to display a pop-up menu of actions that you can add to the action set.
11. Under Common actions, click Other: Run data transform to run a data transform when the user
clicks the button.

64
©2018 Pegasystems
12. In the Data transform field, enter or select SetSelectedProvider to identify the data transform to
run when the user clicks the button.

13. Under Action Set 1, click Add an event to display a pop-up menu of events that you can add to the
action set.
14. Click Add an action to display a pop-up menu of actions that you can add to the action set.
15. In the pop-up menu, click All Actions to expand the pop-up and display the full set of available
actions.
16. In the expanded pop-up, under Process work, click Finish assignment to submit the assignment
when the user clicks the button.
17. Click Submit to complete the configuration of the button control.
18. Click Save to update the configuration for the section record.
19. Click the SelectServiceProvider tab to return to the Select service provider section.
20. Click Submit to complete the configuration of the map control.
21. Click Save to update the configuration for the section record.

Configure the Enter customer information step


1. In Dev Studio, from the left navigation panel, click App to view the App Explorer.
2. In the App Explorer, under AssistanceRequest > User Interface > Section,
click EnterCustomerInformation to open the Enter customer information section record.
3. Hover the pointer over the Default section, then click the pencil icon to open the Cell Properties
panel.
4. In the Cell Properties panel, from the Visibility drop-down, select Condition (expression) to create a
visibility condition.
5. To the right of the Visibility drop-down, in the empty field, enter .CustomerID!=''.
Important: The '' in the expression is two single quotation marks, rather than a double-quotation
mark.
Tip: You can use the Expression Builder to configure the expression. Click the Gear icon to the right
of the field to open the Expression Builder.
6. Select the Reserve space when hidden check box to prevent the contents of the user view from

65
©2018 Pegasystems
shifting when the visibility condition is satisfied.

7. Click Submit to complete the configuration for the Default section.


8. Position the cursor over the Customer ID field, then click the pencil icon to open the Cell Properties
panel.
9. In the Cell Properties panel, click the Actions tab to configure an action set to refresh the form
when the user enters a customer ID.
10. On the Actions tab, click Create an action set to create an action set for the button.
11. Under Action Set 1, click Add an event to display a pop-up menu of events that you can add to the
action set.
12. Under Other events, click Change to add a change event to the field.
13. Click Add an action to display a pop-up menu of actions that you can add to the action set.
14. Under Common actions, click Display: Refresh to refresh the form when the user changes the
button.

15. Click Submit to complete the configuration for the Default section.
16. Click Save to update the configuration for the section record.

Verify your work


1. In Dev Studio, from the Launch web interface menu, select Case Worker to open the Case Worker
portal.
Note: To confirm that your application skin is configured correctly, test your case type in a user
portal such as the Case Worker portal, rather than in Dev Studio.

66
©2018 Pegasystems
2. In the Case Worker portal, click + New > Assistance request to create a new assistance request
process. Verify your changes to the drop-down label and contents.

3. Click Done to advance the case to the Enter customer information form.
4. In the Customer ID field, enter hthomas@example.com.
5. Press the Tab key to exit the field. Verify that the Customer area is displayed with information
about the customer.

Note: The Customer data type includes three customer records: hthomas@example.com,
jmitchell@example.com, and sboucher@example.com. Each record is configured with a different
roadside assistance coverage details and coverage level to support testing.
6. Click Submit to advance the case to the Identify location step.
7. In the State field, enter any of the following values: MA, NY, IL, TX, CO, or WA.
8. Click Submit to advance the case to the Identify vehicle step.
9. From the Actions drop-down, select Change stage to display the Change stage form.
10. On the Change stage form, click Submit to advance the case to the next stage. The case advances to
the Validate stage.
11. From the Actions drop-down, select Approval to approve the assistance request.
12. On the Approval form, click Approve to approve the case and advance to the Select service provider
step.
13. From the Actions drop-down, select Select service provider to view the list of available service
providers.

67
©2018 Pegasystems
14. Confirm that the map contains a marker for each listed service provider, as in the following
example.

Note: The service providers and map positioning vary based on your entry in step 7.

68
©2018 Pegasystems
15. Click a marker to display the name and address of the provider in a pop-up.

16. In the pop-up, click Assign to request to assign the provider to the current request.
17. In the lower-right corner of the browser, click the Gear icon to display the runtime toolbar.
18. On the runtime toolbar, click the clipboard icon to open the Clipboard viewer.
19. In the Clipboard viewer, under User pages select pyWorkCover (GoGoUI-GoGoRoadUI-Work-
AssistanceRequest) to display the clipboard page for your case.
Important: Selecting a service provider completes the assignment and advances the task to the
next assignment, which is in the Service case. The Service case is a child case of the Assistance
request case. On the clipboard, pyWorkPage represents the service case, and pyWorkCover
represents the parent Assistance request case.
20. In the right pane of the Clipboard viewer, scroll to the end of the list and confirm that the value of
SelectedProvider matches the pop-up.

21. Click Submit to complete the Select services form and resolve the Service case.
22. In the case header, click Assistance request (A-[#]) to return to the Assistance request parent
case. The Assignments table lists the Review service summary step as the current task.
23. In the Assignments table, to the right of the Review service summary task, click Begin to open the
Review service summary form.
24. On the Review service summary form, verify that the Invoice total field is displayed as red text.

69
©2018 Pegasystems
70
©2018 Pegasystems
Exercise: Configuring and sending
correspondence
Scenario
To inform the customer during an assistance request case, stakeholders have identified several key
points during the case life cycle at which to send correspondence. Design email correspondence to
send to customers after a service provider is assigned to the request, and send a receipt for the service
charge to customers with standard coverage.
The following table provides the credentials you need to complete the exercise.

Role Operator ID Password


Application Developer author_co@gogoroad rules

Your assignment
Configure correspondence for the following case steps.
l Notify customer of assigned provider
Recipient: Customer.EmailAddress
Subject: Help is on the way
Message: <<.ServiceProvider>> has been dispatched to your location, and should arrive within
one hour.
l Send receipt to customer
Recipient: Customer.EmailAddress
Subject: Receipt for roadside assistance
Message: Your <<.PaymentInformation.CardType>> card has been billed <<.InvoiceTotal>> for
your selected service.

<<include ReviewServiceSummary_SelectedServices>>
Note: The remaining emails for case cancellation and case rejection have been configured for you.
Refer to these emails as examples of how to complete the exercise.

71
©2018 Pegasystems
Detailed steps
Send a confirmation email to the customer when a service provider is
dispatched
1. Log in as user author_co@gogoroad with password rules.
2. In App Studio, from the left navigation panel, click Case types to view the Case Types Explorer. A list
of case types defined for your application is displayed.
3. From the Case Types Explorer, click Assistance request to open the Assistance request case type.
4. On the case type, in the Validation stage, click the Notify customer of assigned provider step.
5. In the contextual properties panel on the right, in the Subject field, enter Help is on the way.
6. Under Message, click Compose to display the Compose message pop-up to enter the body of the
email message.
7. In the Compose message pop-up, on the right side of the editor toolbar, click the Insert Property
button to display a pop-up containing the fields defined for Assistant request cases.
8. In the pop-up, select Selected provider to add the property reference to the email.
9. In the rich-text field, enter the following text.
has been dispatched to your location, and should arrive within one hour.

10. Click Done to complete the configuration of the correspondence.


11. Click Save to update the Assistance request case.
12. Close the Assistance request case type.
13. From the App Studio header, click App Studio > Dev Studio to switch to a different studio to
complete the configuration of the email.
Note: App Studio does not support referencing a field on an embedded page to determine the
addressee. Due to the design of your application, you must address your email in Dev Studio.
14. In Dev Studio, from the left navigation panel, click Case types to view the Case Type Explorer. A list
of case types defined for your application is displayed.
15. From the Case Type Explorer, click Assistance request to open the Assistance request case type.
16. On the case type, in the Validation stage, click the Notify customer of assigned provider step.

72
©2018 Pegasystems
17. In the contextual properties panel on the right, from the Send to drop-down, select Field.
18. In the untitled field below the Send to drop-down, enter or select .Customer.EmailAddress to send
the email to the email address from the customer profile.
19. Click Save to update the Assistance request case.

Send a receipt for services performed to the customer


1. On the case type, in the Resolution stage, click the Send receipt to customer step.
2. In the contextual properties panel on the right, from the Send to drop-down, select Field.
3. In the untitled field below the Send to drop-down, enter or select .Customer.EmailAddress to send
the email to the email address from the customer profile.
a. In the Subject field, enter Receipt for roadside assistance.
b. Under Message, select Correspondence to refer to the correspondence template that was
created when the Send Email step was added to the case life cycle.
c. In the Correspondence template field, enter SendReceiptToCustomer to associate the
correspondence record with the step.
4. In the header, click Save to complete the configuration of the case type.
5. To the right of the Correspondence template field, click the crosshairs icon to open a new
window titled Possible rules to open and select the correspondence record.
Important: In Pega Platform, the identifier for a correspondence records includes the
correspondence channel, such as email or SMS. As a result, several correspondence records may
have the same name. To ensure that Pega Platform uses the correct record, you must select the
record in this window.
6. In the Possible rules to open window, expand the entry labeled GOGOCO-GOGOROADCO-
WORK-ASSISTANCEREQUEST!SENDRECEIPTTOCUSTOMER!EMAIL to display all the records that
match the identifier.
7. Select the correspondence record that is displayed to close the window and open the
correspondence record in Dev Studio.
8. In the rich-text editor field, enter Your (CardType) card has been billed (InvoiceTotal) for your service. as
the content of the email.
9. In the rich-text editor, select (CardType).
10. In the rich-text editor, on the editor toolbar click the Insert Property button to open the Property
Parameters dialog and replace the selected text with a property reference.
a. In the Property Parameters dialog, in the Name field, enter or select
.PaymentInformation.CardType to add the method of payment to the email.

73
©2018 Pegasystems
b. Click Save to dismiss the Property Parameters dialog.
11. In the rich-text editor, select (InvoiceTotal).
12. In the rich-text editor, on the editor toolbar click the Insert Property button to open the Property
Parameters dialog and replace the selected text with a property reference.
a. In the Property Parameters dialog, in the Name field, enter or select .InvoiceTotal to add the cost
of the service to the email.

b. Click Save to dismiss the Property Parameters dialog.


13. Position the cursor at the end of the sentence and press [Enter] twice to add two blank lines to the
email.
14. In the rich-text editor, on the editor toolbar, click the Insert Rule button to open the Include a Rule
dialog to select a section record to reference.

74
©2018 Pegasystems
a. From the Type drop-down, select Rule-HTML-Section to specify the type of record to insert.
b. In the Name field, enter or select ReviewServiceSummary_SelectedServices to include in the
email the list of services performed.

c. Click Save to dismiss the Include a Rule dialog.


15. On the correspondence record form, in the header click Save to complete the configuration of the

Verify your work


1. From the Create menu, click New > Assistance request to create a new case.
2. On the New: Assistance request form, click Done to advance the case to the Enter customer
information step.
a. On the Enter customer information form, in the Customer ID field enter hthomas@example.com
to submit the request as a customer with standard-level coverage.
b. Click Submit to advance the case to the Identify location step.
3. On the Identify location form, in the State field, enter one of the following values to generate a list
of service providers: MA, NY, IL, TX, CO, or WA.
a. Click Submit to advance the case to the Identify vehicle step.
b. Click Submit to advance the case to the Enter payment information step.
4. On the Enter payment information form, from the Card type drop-down, select MasterCard.
a. In the Card number field, enter 1111222233334444.
b. In the Expiration date field, use the calendar control to select a date in the future.
c. Click Submit to advance the case to the Approval step.
5. From the Actions menu, select Approval to approve the assistance request.
6. On the Approval form, click Approve to approve the case and advance to the Select service provider
step.

75
©2018 Pegasystems
7. From the Actions menu, select Select service provider to view the list of available service providers.
8. On the Select service provider form, click one of the map markers to display a pop-up containing
provider information.
9. In the pop-up, click Assign to request to assign the service provider to the case. Note the name of
the service provider.
10. Click Submit to advance the case to the Service stage and create a service case. The Select services
form is displayed on-screen.
a. On the Select services form, in the Tire repair row, in the Quantity field, enter 2.
b. In the Gasoline row, in the Quantity field, enter 1.
c. Click Submit to complete the service selection and resolve the Service case.
11. Click the Assistance request case ID above the Service case ID to return to the parent case.
12. Under Assignments, in the Review a summary of the service provided (Resolution) row, click Begin
to advance to the Review service summary step. Confirm that the form displays the Tire repair and
gasoline services you selected, and calculates the invoice total as USD60.
13. Click Submit to resolve the case
14. In the Recent attachments area, verify that two email attachments are listed. Verify that one email is
titled Receipt for roadside assistance. Verify that the other email is titled Help is on the way.

15. Click the email titled Receipt for roadside assistance to view the contents of the email. Verify the
following information in the email.
l The recipient of the email is hthomas@example.com.
l The text of the email reads Your MasterCard card has been billed $60.00 for your service.
l The email lists two Tire repair services and one Gasoline service.

76
©2018 Pegasystems
16. Click the email titled Help is on the way to view the contents of the email. Verify the following
information in the email.
l The recipient of the email is hthomas@example.com.
l The service provider displayed in the email body matches the selection you made on the Select
service provider step.

77
©2018 Pegasystems
Exercise: Designing a business report
Scenario
Stakeholders request a set of reports to assess the business impact of providing roadside assistance.
You have been asked to define reports to track the status of requests over the last 30 days and to track
the average service cost per state of completed cases for the last 90 days.
The following table provides the credentials you need to complete the exercise.

Role Operator ID Password


Application Developer author_rep@gogoroad rules

Your assignment
Create a report category for Assistance request reports, then create three report definitions in the
Assistance request category.
1. Number and status of requests submitted in the past 30 days
Columns:
l Label
l Entered on
l Case status
l Case ID (show data as a count)
Filter:
l Entered on is equal to last 30 days
Chart:
l Column (Clustered)
l Group by: Entered on, then Case status
l Series: Case ID
2. Average service cost by service provider by service type
Columns:
l Service type
l Selected provider
l Case ID (show data as a count)
l Service Cost (show data as an average)
Chart:

78
©2018 Pegasystems
l None
Filters:
l None
3. Average service cost per state for the last 90 days
Columns:
l State
l Case ID (show data as a count)
l Service cost (show data as an average)
Filters:
l Create Date/Time is equal to the Last 90 days
l Case Status is equal to Resolved-Completed
Chart:
l Clustered bar chart
l Group by: Service type
l Aggregate by: Service cost
Drill-down report:
l Average service cost by service provider by service type
Optimize the following properties used in these reports: .ServiceAddress.State, .InvoiceTotal,
.SelectedProvider, and .ServiceType to resolve guardrail warnings about performance impacts.

Before you begin


Before you start the exercise, create 10-20 cases to generate data for your reports. When creating your
cases, vary the coverage level, service type, selected services, service location, and resolution status.
Use the following table as a reference for valid field values in your cases.

Field Valid entries


Customer ID hthomas@example.com, jmitchell@example.com
State MA, NY, IL, CO, TX, WA
Resolution status Resolved-Completed, Resolved-Withdrawn, Resolved-Rejected

Detailed steps
Create a public category for report definitions
1. Log in as user author_rep@gogoroad using password rules.
2. In App Studio, on the Case Manager portal, click Reports to open the Report Browser.

79
©2018 Pegasystems
3. In the Report Browser, click the Create new category tile to display the Create new category
dialog.
4. In the Create new category dialog, in the Category name field, enter AssistanceRequestReports to
name the report category.
5. In the Category description field, enter Reports related to Assistance request cases to describe the
purpose of the category.
6. Confirm that the Category type is set to Public.

7. Click Submit to dismiss the dialog and create the report category.

Create a report to display the number and status of requests


submitted in the past 30 days
1. In the Report Browser, click the Create new report tile to display the Create new report dialog.
2. In the Create new report dialog, from the Case type drop-down, select Assistance request to only
display Assistance request cases in the report results.

80
©2018 Pegasystems
3. From the Report type drop-down, select Summary or Chart to create a summary report.

4. Click Submit to create the report and display the Report Editor.
5. In the Data Explorer, select the Label property.
6. Drag the Label property to the columns in the Report Editor. Position the pointer to the left of the
Entered on column to add the Label column as the first column in the report.

Tip: The Report Editor provides a preview of the report using actual case data. If you have not
created any cases, click the Simulated data switch to display simulated data in the report preview.
7. In the Filter section of the Report Editor, click Created in last 7 days to open the Edit filter pop-up.
8. In the Edit filter pop-up, click Select values to display the Select values pop-up to select the time
period used in the filter.
9. In the Select values pop-up, click Last 30 days to change the comparison in the report filter.
10. Click Submit to complete the configuration of the filter and return to the Edit filter pop-up.

81
©2018 Pegasystems
11. In the Edit filter pop-up, in the Filter caption field, enter Created In Last 30 Days to provide an easy-
to-understand label for the filter.

12. Click Apply changes to complete the configuration of the filter and return to the Report Editor.
13. To the right of the Unresolved case link, click the X icon to remove the filter from the report.

Add a clustered column chart to the report


1. Click Add chart to display a pop-up to create a chart for the report.
2. In the pop-up, click the column chart icon and select Clustered to create a clustered column chart.
3. From the Available columns list, select Total and drag the cursor to the Drop Aggregate column
here field to add the column to the y-axis of the chart.
4. From the Available columns list, select Entered on and drag the cursor to the Drop Group By
column here field to add the column to the x-axis of the chart.

82
©2018 Pegasystems
5. From the Available columns list, select Status and drag the cursor to the Drop any column here
field to add the column to the chart.

83
©2018 Pegasystems
6. Click Apply changes to complete the configuration of the chart and return to the Report Editor. The
Report Editor displays a preview of the report similar to the following example using simulated data.

7. Click Done Editing to complete the configuration of the report and display the Save report as
dialog.
8. In the Save report as dialog, in the Title field, enter Number and status of requests submitted in the
past 30 days.
9. In the Description field, enter Reports on the number and status of requests submitted in the past 30
days in a summary report with a chart to describe the report for users.

84
©2018 Pegasystems
10. From the Category drop-down, select Reports related to Assistance request cases to assign the report
to the public category you created.

11. Click Submit to complete the configuration of the report and view the report results.

85
©2018 Pegasystems
12. In the upper-right corner of the report, click the X icon to close the report and return to the Report
Browser. The report is displayed as a tile to the right of the Create new category tile.

Create a report to display assistance request data summarized by


count and average service cost
1. From the App Studio header, click App Studio > Dev Studio to switch studios to create a report with
non-optimized data.
Note: Reporting on non-optimized data can impact report performance. To prevent users from
creating reports with non-optimized properties, reports default to listing only optimized properties
in the Data Explorer. To work around this limitation, you can create report definitions in Dev Studio.
2. In Dev Studio, from the left navigation panel, click App to view the Application Explorer, which lists
the records defined for your application.
3. In the Application Explorer, right-click AssistanceRequest and select Create > Reports > Report
Definition to create a new report definition record. The Report Definition Record Configuration
form is displayed.
4. In the Label field, enter Average service cost by service provider by service type to name the report.
5. Click Create and open to create the report definition record. The report definition record is
displayed.
6. On the report definition record, in the Edit columns area, in the Column source field, enter
.ServiceType to add a column for the type of service requested by the customer.
7. Click Add column to add a second column to the report. An empty row is displayed in the Edit
columns area.

86
©2018 Pegasystems
8. In the empty row, in the Column source field, enter .SelectedProvider to add a column for the
service provider assigned to the case.
9. Click Add column to add another column to the report. An empty row is displayed in the Edit
columns area.
10. In the empty row, in the Column source field, enter or select .pyID to add a column for the Case ID.
11. In the Column name field, enter Count of cases to change the column heading in the report.
12. Click Add column to add another column to the report. An empty row is displayed in the Edit
columns area.
13. In the empty row, in the Column source field, enter .InvoiceTotal to add a column for the total cost
of the service.

14. In the .pyID row, from the Summarize drop-down, select Count to count the number of cases for
each row of the report.
15. In the .InvoiceTotal row, from the Summarize drop-down, select Average to calculate the average
invoiced total for each row of the report.

16. In the report definition header, click Save to complete the configuration of the report.
Important: The report definition record warns of an impact on performance due to properties that
are not optimized. These warnings are addressed later in the exercise.

87
©2018 Pegasystems
Create a report to display the average service cost per state
Note: This report uses a Map chart, which is not part of the standard Pega Platform installation. Map
charts are provided through a ruleset available on Pega Exchange. For more information on using
Map charts, see the Help topic Adding maps to reports.
1. In the Application Explorer, right-click AssistanceRequest and select Create > Reports > Report
Definition to create a new report definition record. The Report Definition Record Configuration
form is displayed.
2. In the Label field, enter Average service cost per state for the last 90 days to name the report.
3. Click Create and open to create the report definition record. The report definition record is
displayed.
4. On the report definition record, in the Edit columns area, in the Column source field, enter
.ServiceAddress.State to add a column for the state of the service location.
5. Click Add column to add a second column to the report. An empty row is displayed in the Edit
columns area.
6. In the empty row, in the Column source field, enter or select .pyID to add a column for the Case ID.
7. Click Add column to add another column to the report. An empty row is displayed in the Edit
columns area.
8. In the empty row, in the Column source field, enter .InvoiceTotal to add a column for the total cost
of the service.
9. In the .pyID row, from the Summarize drop-down, select Count to count the number of cases for
each row of the report.
10. In the .InvoiceTotal row, from the Summarize drop-down, select Average to calculate the average
invoiced total for each row of the report.

Add filters to the report to only display completed cases created in


the last 90 days
1. In the Edit filter area, in the F1 row, in the Caption field, enter Created In Last 90 Days.
2. In the Column source field, enter or select .pxCreateDateTime to filter the report results on the
creation date of the case.

88
©2018 Pegasystems
3. To the right of the Value field, click Select values to display the Select values pop-up to select the
time period used in the filter.
4. In the Select values pop-up, click Last 90 days to change the comparison in the report filter.
5. Click Submit to complete the configuration of the filter and return to the report definition form.
6. In the Edit filter area, click Add filter to add a second filter labeled F2 to the report.
Tip: When you add additional filters to the report definition, Pega Platform creates a Boolean
expression to combine the filters. The default behavior is to combine the filters with a Boolean AND
operator. To configure the filter logic, edit the contents of the Filter conditions to apply BEFORE
aggregation field. You can use any Boolean operator in your expression, and use parenthesis to
indicate the order of operations.
7. In the F2 row, in the Caption field, enter Case status is Resolved-Completed.
8. In the Column source field, enter or select .pyStatusWork to filter the report results on the status of
the case.
9. In the Value field, enter Resolved-Completed to only display cases with the status Resolved-
Completed.

Add a clustered bar chart to the report


1. Click the Chart tab to configure a chart for the report.
2. On the Chart tab, click Include chart to display the Chart editor to add a chart to the report.
3. In the Chart editor, click the Bar chart icon to display a menu of bar chart types
4. From the menu of bar chart types, select Clustered to create a clustered bar chart for the report.
5. In the Available columns list, select State and drag the field to the Drop Group by column here
field to group the chart results using the State property.
6. In the Available columns list, select Invoice total and drag the field to the Drop Aggregate

89
©2018 Pegasystems
column here field to aggregate the Invoice total property for the report.

Add a drill-down report to the report


1. Click the Report viewer tab to configure the report to be listed in the Report Browser.
2. On the Report viewer tab, under User actions, in the Custom drilldown report field, enter or
select AverageServiceCostByServiceProviderByServiceType to display the previous report you
created when the user clicks a row in the current report,

Add the report to the Report Browser


1. On the Report viewer tab, under User actions, select the Display in report browser check box to
display a drop-down of report categories.

90
©2018 Pegasystems
2. From the drop-down of report categories, select Reports related to Assistance request cases to add the
report to the category in the Report Browser.

3. In the report definition header, click Save to complete the configuration of the report.
Important: The report definition record warns of an impact on performance due to properties that
are not optimized. These warnings are addressed in the next section of the exercise.

Optimize report data


Note: The Number and status of requests submitted in the past 30 days report only uses optimized
properties, and does not require optimization.
1. In the Application Explorer, expand AssistanceRequest > Data Model > Property >
ServiceAddress to list the properties defined for the Service address page.
2. Under ServiceAddress, right-click State and select Optimize for reporting to open the Property
Optimization wizard.
a. In the Property Optimization wizard, confirm that the State property on the ServiceAddress page
is to be optimized. The number of rows to optimize is indicated in parenthesis to the right of
each class and the database table.

Note: The number of rows to optimize is determined by the number of cases stored in the
database table. Your result may vary from the preceding example.
b. Click Next to advance to the Eligible classes step of the wizard.
c. Click Next to advance to the Optimization step of the wizard and optimize the State property.

91
©2018 Pegasystems
d. On the Optimization step of the wizard, click Column Population Jobs Dashboard to open the
System-Database landing page to the Column Population Jobs tab and view the status of the
column population.
Note: Click Refresh to update the contents of the Column Population Jobs tab until the value in
the Status column contains the value Completed.
e. Click the Property Optimization tab to return to the Property Optimization wizard.
f. On the Property Optimization wizard, click Finish to complete the wizard.
3. In the Application Explorer, under Property, right-click InvoiceTotal and select Optimize for reporting
to open the Property Optimization wizard.
a. In the Property Optimization wizard, confirm that the InvoiceTotal property is to be optimized.
The number of rows to optimize is indicated in parenthesis to the right of each class and the
database table.
b. Click Next to advance to the Eligible classes step of the wizard.
c. Click Next to advance to the Optimization step of the wizard and optimize the InvoiceTotal
property.
d. On the Property Optimization wizard, click Finish to complete the wizard.
4. In the Application Explorer, under Property, right-click ServiceType and select Optimize for reporting
to open the Property Optimization wizard.
a. In the Property Optimization wizard, confirm that the ServiceType property is to be optimized.
The number of rows to optimize is indicated in parenthesis to the right of each class and the
database table.
b. Click Next to advance to the Eligible classes step of the wizard.
c. Click Next to advance to the Optimization step of the wizard and optimize the ServiceType
property.
d. On the Property Optimization wizard, click Finish to complete the wizard.
5. In the Application Explorer, under Property, right-click SelectedProvider and select Optimize for
reporting to open the Property Optimization wizard.
a. In the Property Optimization wizard, confirm that the SelectedProvider property is to be
optimized. The number of rows to optimize is indicated in parenthesis to the right of each class
and the database table.
b. Click Next to advance to the Eligible classes step of the wizard.
c. Click Next to advance to the Optimization step of the wizard and optimize the SelectedProvider
property.
d. On the Property Optimization wizard, click Finish to complete the wizard.

92
©2018 Pegasystems
6. Click the System - Database tab to return to the Column Population Jobs Dashboard. Confirm that
the status of the column population job has been set to Completed, refreshing the dashboard if
necessary.

7. Click the AverageServiceCostPerStateForTheLast90Days tab to return to the report definition.


8. In the report definition record header, click Save to re-save the report. Confirm that the
performance warnings for non-optimized properties are no longer indicated for the report.
9. Click the AverageServiceCostByServiceProviderByServiceType tab to return to the report
definition.
10. In the report definition record header, click Save to re-save the report. Confirm that the
performance warnings for non-optimized properties are no longer indicated for the report.

Verify your work


Verify the behavior of the Number and status of requests submitted
in the past 30 days report
1. From the Dev Studio header, click Dev Studio > App Studio to switch studios and run your reports
from the Report Browser.
2. In App Studio, on the Case Manager portal, click Reports to open the Report Browser.
3. In the Report Browser, in the upper right corner, click the Refresh icon to update the Report
Browser to include the reports you created in Dev Studio.

93
©2018 Pegasystems
4. In the Report Browser, click the Number and status of requests submitted in the past 30 days
tile to open the report. The report is displayed with results similar to the following example.

5. In the upper-right corner of the report, click the X icon to close the report and return to the Report
Browser.

Verify the behavior of the Average service cost per state for the last
90 days report
1. In the Report Browser, under All reports, click All reports (#) to display a list of all the available
reports.

94
©2018 Pegasystems
2. In the list of reports, click the Average service cost per state for the last 90 days tile to open the
report. The report is displayed with results similar to the following example.

3. Click one of the rows in the report to open the drill-down report, noting the row you click. The drill-
down report is displayed with results similar to the following example. Confirm that the state
indicated in the filter matches the row you clicked in the previous report.

Tip: You can also open the drill-down report by clicking a bar in the chart.

95
©2018 Pegasystems
Exercise: Testing and maintaining an
application
Scenario
InsCorp is launching the GoGoRoad roadside assistance service for customers in the Boston, New York,
Chicago, Denver, and Seattle metropolitan areas and eastern Texas. In the initial phase, roadside
assistance is offered by a limited set of service providers contracted by GoGoRoad. After the initial roll-
out, GoGoRoad plans to add providers and metropolitan areas. The Customer Service Manager is
concerned that the SLA for reviewing service summaries may need adjustment as the service expands.
In addition, stakeholders are concerned that application performance may suffer as the number of
service providers grows. To maintain application performance, stakeholders require that the list of
available service providers is generated within 200 milliseconds.
The following table provides the credentials you need to complete the exercise.

Role Operator ID Password


Application Developer author@gogoroad rules
Customer Service manager@gogoroad rules
Manager
Application Tester tester@gogoroad rules

Your assignment
Delegate the service level agreement (SLA) for the Review service summary assignment.
l Save a copy of the SLA to the production ruleset GoGoRoadProduction.
l Delegate the SLA to the Managers access group.
Create a test case to verify that the data page containing the filtered list of service providers loads with
data within 200 milliseconds.

Detailed steps
Save the Review service summary SLA to a production ruleset
1. Log in to App Studio as user author@gogoroad using password rules.
2. From the App Studio header, click App Studio > Dev Studio to switch studios.
3. In Dev Studio, from the left navigation panel, click Case types to view the Case Type Explorer, which
lists the case types defined for your application.
4. From the Case Type Explorer, click Assistance request to open the Assistance request case type.

96
©2018 Pegasystems
5. In the Resolution stage, click the Review service summary step to define fields for the step.
6. In the contextual properties panel to the right, click the Goal & Deadline tab to view the SLA for the
assignment.
7. On the Goal & Deadline tab, click Open SLA to open the SLA record configured for the step.
8. In the SLA header, click Save > Save as to display the Service Level Agreement Record Configuration
form and create a copy of the SLA record.
9. From the Add to ruleset drop-down, select GoGoRoadProduction to create the copy of the SLA
record in the production ruleset.

Note: Pega Platform automatically names the SLA record when you configure a goal and deadline.
Do not change the name of the record when saving the SLA to the production ruleset.
10. Click Create and open to save a copy of the SLA and open the SLA record form.
11. In the record header, click Check in to allow other users to update the SLA. The Check In dialog is
displayed.

97
©2018 Pegasystems
12. In the Check In dialog, in the Check-in comments field, enter Copied to production ruleset for
delegation to describe the purpose of the rule update.

13. Click Check in to complete the rule check in and allow other users to update the record.

Delegate the SLA record to the Manager access group


1. On the SLA record, in the record header, click Actions > Delegate to display the Delegate Service
Level Agreement dialog to delegate the SLA record.
2. In the Delegate to access group field, enter or select Manager to delegate the record to the access
group, of which the Customer Service Manager is a member.
3. In the Title field, enter Review service summary SLA to identify the record for users.
4. In the Detailed description field, enter Enforces processing time requirement for service reviews by
CSRs on assistance request cases. to identify the purpose of the record for users.

98
©2018 Pegasystems
5. Confirm that the Manage SLA action is selected by default.

6. Click Delegate to delegate the SLA for maintenance by members of the Manager access group.
7. In the lower-left corner of the window, click the AD icon to open the operator menu.
8. From the operator menu, click Log off to log out of the application.

Unit test the data page of filtered service providers


1. Log in to App Studio as user tester@gogoroad using password rules.
2. From the App Studio header, click App Studio > Dev Studio to switch studios.
3. In Dev Studio, from the left navigation panel, click Data types to view the Data Type Explorer, which
lists the data types defined for your application.
4. From the Data Type Explorer, expand Service provider to view the data pages defined for the
Service Provider data type.
5. From the expanded list, click the Filtered service provider list data page to open the data page
record for generating a filtered list of service providers.
6. In the data page record header, click Action > Run to test the data page. The Run window is
displayed to allow you to test the data page.
7. In the Run window, in the State field, enter MA to test the data page with a filtered set of results.
8. Below the State field, select the Flush all instances of this data page before execution check
box to ensure that the data page regenerates the list of filtered providers, rather than using a
cached list.

99
©2018 Pegasystems
9. In the Run window, click Run to test the data page. The window updates with the results of the test
and displays the Convert to test button.

Create a test case from the test results


1. Click Convert to test to close the Run window and create a test case record in Dev Studio for the
data page that uses the results of your test.
2. On the Edit test case form, under expected results, in the Value field, enter 0.2 to set the passing
threshold for the unit test to 200 ms.
3. Below the Assertion type drop-down, select the Fail the test when this validation fails check box
to fail the test if the data page fails to load within 200 ms.

4. On the Edit test case form, under the Assertion type drop-down with Property selected, click Add
properties to add a property assertion to the unit test. The test case record displays a property
browser.
5. In the Property browser, in the pxResultCount row, click the Plus icon to add the property to the
assertion in the Expected results area of the form.
6. Under Expected results, from the Comparator drop-down, select is greater than.
7. In the Value field, enter 0 to configure the assertion to test whether the page returns at least one
result.

8. Click Done to complete the configuration of the assertion and return to the test case record.
9. On the Edit test case form, click Save to complete the test case and display the Detains pop-up.
10. In the Details pop-up, in the Label field, enter MA service providers returned in 200ms.
11. Click Submit to complete the test case.
12. In the lower-left corner of the window, click the AT icon to open the operator menu.
13. From the operator menu, select Log off to log out of the application.

100
©2018 Pegasystems
Verify your work
Configure the delegated SLA as the Customer Service manager
1. Log in to the Case Manager portal as user manager@gogoroad using password rules.
2. In the Case Manager portal, in the navigation panel, click Configuration to display the Application
configuration landing page, which displays a list of delegated records for the application. Confirm
that the description of the Review service summary SLA matches the description you provided in the
exercise.

3. To the right of the Review service summary SLA, click Edit to edit the service level.
4. On the SLA record form, click Check out to edit the SLA.
Note: The production ruleset is configured with rule check-out enabled. This requires users to
check out a record before the record can be edited and saved. Enabling rule check-out adds a level
of protection from accidental updates to records. The process for checking in records can be
configured to meet organizational requirements. In this exercise, Pega Platform uses the default
check-in process.
5. In the Goal area, in the hh:mm field, enter 0:20 to extend the goal interval to 20 minutes.

6. In the Deadline area, in the hh:mm field, enter 0:40 to extend the deadline interval to 40 minutes.

101
©2018 Pegasystems
7. In the Passed deadline area, in the hh:mm field, enter 0:20 to extend the passed deadline interval
to 20 minutes.
8. Click Save to complete the configuration of the SLA record.
9. Click Check in to make your changes available to all users of the application. The Check In dialog is
displayed.
10. In the Check In dialog, in the Check-in comments field, enter Extended SLA intervals to 20/40/20 min.

11. Click Check in to dismiss the Check In dialog.


12. In the upper-right corner of the window, click the CM icon to open the operator menu.
13. From the operator menu, click Log off to log out of the application.

Confirm the configuration changes on the delegated SLA


1. Log in to App Studio as user author@gogoroad using password rules.
2. In App Studio, in the inset Case Manager portal, click + New to expand the list of available case
types.
3. From the list of available case types, click Assistance Request to create a new assistance request
case. The New: Assistance request form is displayed.
4. Click Done to advance the case to the Enter customer information step.
5. From the Actions menu, click Change stage to skip the remaining steps in the Submission stage
and display the Change stage form.
6. On the Change stage form, from the Next stage drop-down, select Choose a stage.
7. From the stage drop-down, select Resolution to advance the case to the Resolution stage.
8. Click Submit to advance the case to the Resolution stage.

102
©2018 Pegasystems
9. From the Actions menu, click Review service summary display the Review service summary form.
Confirm that the service level intervals displayed are 19 minutes and 39 minutes.

10. In the lower-left corner of the window, click the AD icon to open the operator menu.
11. From the operator menu, click Log off to log out of the application.

Run the data page unit test


1. Log in to App Studio as user tester@gogoroad using password rules.
2. From the App Studio header, click App Studio > Dev Studio to switch studios.
3. In Dev Studio, from the Configure menu, click Application > Quality > Automated Testing > Unit
Testing > Test Cases to open the Application: Unit Testing landing page.
4. To the left of the MA service providers returned in 200ms test case, select the check box to
choose the test case.

5. Click Run selected to run the test case. The landing page displays a progress bar that indicates the
unit test is in-process. When the test completes, the progress bar is dismissed and the test result is
displayed in the Result column. Confirm that the result of the test is Passed.

103
©2018 Pegasystems
6. In the Result column, click Passed to display the test results. Confirm that the data page load time is
less than the 200 ms expected time, as shown in the following example.

Note: The rule run time for your unit test will likely vary from the example shown.
7. In the lower-left corner of the window, click the AT icon to open the operator menu.
8. From the operator menu, click Log off to log out of the application.

104
©2018 Pegasystems
SAE 8 Solution Build
Scenario
Tourist Car Rentals (TCR) is a small rental car company serving customers vacationing in select island
locations. With significant growth in the business, TCR needs to streamline the rental reservation
process. Tourist Car Rentals wants to offer a digital experience where customers can log in or sign up
for a new account and reserve a vehicle for their vacation stay. They defined the scope for an Minimum
Lovable Product (MLP), which adds critical business value for the first rollout. To accomplish this, some
integrations are deferred to incremental releases. The implementation team will use Scrum and work
on a list of user stories that define MLP.
The following table provides the credentials you need to complete the solution build.

Role Operator ID Password


System Architect author@tourist rules

US-101
Description
As a customer, I would like to know the steps when making a rental reservation so that I know the
progress of my case.

Details
Define a Rental Reservation case type which should have the following stages, processes, and steps:

Stage Process Step Step Information


Identify Authenticate Log In Prompt for customer login credentials
Customer Existing
Customer
Create New Collect Enter new account information
Customer Customer
Information
Verify New New account approval step
Customer
Account Email new account information
Setup
Confirmation
Reserve Select Enter Rental Enter rental car information

105
©2018 Pegasystems
Stage Process Step Step Information
Vehicle Vehicle Information
Select Select desired vehicle
Vehicle
Confirm Customer to confirm all reservation details
Reservation
Reserve Email Email reservation confirmation
Vehicle Reservation
Confirmation
Reserve Route all reservation details to Customer Service
Vehicle Representative to manually enter into Reservation
system of record
Fulfillment Fulfillment Create Create child Vehicle Rental case type. *Note, this
Vehicle case type will be configured in a future release.
Rental
Wait for Pause process until all Vehicle Rental cases are
Vehicle resolved
Return
Email Survey Email Survey Invitation
Approval Approval New Account Display account denied
Rejection Rejection Rejected
(alternate)
Reservation Reservation Cancellation Display confirmed cancelled reservation
Withdrawn Withdrawn Confirmation
(alternate)

Configure the life cycle to disable the Create View.

Technical approach
l In App Studio, create a new case type named Rental Reservation.
l Add a life cycle with stages, processes, and steps as listed in the table.
l On the Settings tab, configure the case type to skip the Create view.

Acceptance criteria
Rental reservation cases can progress through five stages and 15 unique steps. All cases skip the
Create view and start at the Log In step.

106
©2018 Pegasystems
US-102
Description
As a customer, I would like to see the current status of my reservation so that I know the progress of my
current reservation.

Details
Set the following case status on stage entry:
l Identify Customer > Open
l Reserve Vehicle > Pending-Qualification
l Fulfillment > Pending-Fulfillment
Set the following case status when all processes in the stage are complete:
l Fulfillment > Resolved-Completed
l Approval Rejection – Resolved-Rejected
l Reservation Withdrawn – Resolved-Withdrawn

Technical approach
On the Workflow tab of the case type, set the identified status for each stage upon entry and
resolution.

Acceptance criteria
I can advance a Rental reservation case through the case life cycle to see one or more of the following
six statuses displayed on the case:
l Open
l Pending-Qualification
l Pending-Fulfillment
l Resolved-Completed
l Resolved-Rejected
l Resolved-Withdrawn

US-103
Description
As a customer I would like to receive guidance on various screens so that I know how to complete each
task.

107
©2018 Pegasystems
Details
Provide the following instructional text on case life cycle steps:

Step Instruction
Log in Please log in to authenticate
Collect Customer Information Enter your account information
Select Vehicle Select your vehicle for your rental
reservation

Technical approach
In Dev Studio, on the Workflow tab of the case type, set the instructions for the three steps in the
preceding table.

Acceptance criteria
Users can see instruction text for the Log in, Collect Customer Information and Select Vehicle steps.

US-104
Description
As a customer, I would like to create a new account providing my personal information so that I can
rent a vehicle.

Details
Configure a data model and user interface to collect new account information from a new customer.
Create a Customer data type and the associated view with the groups and field names in the following
table:

Group Fields
Personal information First Name
Last Name
Date of Birth
Phone
Email Address
Address Information Street
City
State/Region
Postal Code
Licensing Information License Number

108
©2018 Pegasystems
Group Fields
Issuing Authority
Expiration Date
Login Credentials User Name
Password

Technical approach
l In App Studio, configure a new view for the Collect Customer Information step.
l Add a single Rental Customer field group.
l Create a new view called Collect Customer Information that contains the fields found in the previous
table to the Rental Customer field group.
l Change the Collect Customer Information section within the Rental Customer view to use the two-
column template.
l Convert the view to use the full section editor.
l Add two additional dynamic layouts and relocate the fields to one of the four layouts to achieve the
four logical groupings.

Acceptance criteria
Users can create an instance of the rental reservation case and see all data entered on the Collect
Customer Information step on the clipboard.

US-105
Description
As a customer, I would like to be able to log in to the Tourist Car Rentals application by providing my
log in credentials so that I can identify myself to the application.

Details
Configure a login screen with User Name and Password fields. Create the view in the customer class
for reusability. The Password field should be masked so that the data entered cannot be seen.

Technical approach
l In App Studio, configure a new view for the Log In step.
l Add the existing Rental Customer field group.
l Create a new Log In view for the existing Rental Customer field group adding only the existing User
Name and Password fields.
l In Dev Studio, update the control used for the Password field to mask the text.

109
©2018 Pegasystems
Acceptance criteria
A customer can enter their user name and password values during the log in step. The value of the
password field should be masked.

US-106
Description
As a customer, I would like to be able to sign up for a new account or provide my existing login
credentials if I already have an account so that I can authenticate myself to the rental reservation
application.

Details
Add a Boolean property to the login screen. The property allows a customer to optionally identify
themselves as needing to sign up for an account. When selected, hide the User Name and Password
fields. When deselected, display the User Name and Password fields.

Technical approach
l Use App Studio to add a Boolean Enroll field to the Log In view.
l Use Dev Studio to configure a visibility condition on the embedded section based on the value of the
Enroll field.

Acceptance criteria
A customer can select to sign up for a new account, which hides the User Name and Password fields
on the Log In step.

US-107
Description
As a customer, I want to make sure I provide the correct and required customer information so that I
can ensure my rental reservation information is accurate.

Details
Add the following validation to the Collect Customer Information step:
l Require all fields except for Postal Code
l Date of Birth must be in the past
l Expiration Date must be in the future
l Password field must be at least eight characters long and masked

110
©2018 Pegasystems
l Email address must be in a valid email format
l Customer must be at least 25 years of age as of today

Technical approach
l In Dev Studio, open the section for the Collect Customer Information step. Access the cell properties
of each field to configure required and minimum length settings.
l On the Expiration Date and Date of Birth properties apply the IsFutureDate and NotFutureDate
edit validate rules respectively
l Use the following date function in a validation rule to check for customer age:
@DateTimeDifference([DateofBirthProperty]+"T000000.000 GMT",@(Pega-
RULES:DateTime).CurrentDateTime(),"Y")<25

Acceptance criteria
A customer cannot proceed past the Collect Customer Information step until all business validation
criteria has been met.

US-108
Description
As a New Accounts Representative, I want to be able to approve or reject new accounts based on the
driver license information of the applicant, so that approved customers have a valid driver license.

Details
Using single approval, route the work for the Verify New Customer step to an AccountApprovals work
queue.
Configure a view to display the Collect Customer Information step as read-only.
Note: In the initial MLP release, this check is manual and displays the account information on a screen
for the account rep to search via a licensing system of record. A future release will integrate with the
licensing system of record, eliminating this manual step.

Technical approach
l In App Studio, configure the Verify New Customer step to:
Route to the AccountApprovals work queue
Display the existing view used on the Collect Customer Information step as read only
To verify, use the Actions > Approval menu to access the assignment from the work queue.

Acceptance criteria
After customers sign up for a new account, new account requests are routed to from the
AccountApprovals work queue. Cases processed from this work queue display all entered account

111
©2018 Pegasystems
information to facilitate approvals. Approved requests proceed to the Enter Rental Reservation step.
Rejected account requests move to the Approval Rejection stage with a resolved-completed status.

US-109
Description
As a customer, I want to persist my account information to a system of record so that my account
information can be retrieved for future rentals.

Details
Enable Pega as the system of record for the Customer data type.
In the Create New Customer process, add a Save Data Page automation step called Save New Customer
directly after the Verify New Customer approval step.
In this step, persist customer data from the Collect Customer Information step to the Customer data
type system of record using a savable data page.

Technical approach
l In App Studio, connect the Rental Customer data type to a Pega system of record.
l Switch to Dev Studio and modify the Savable Rental Customer data page to:
Remove the pyGUID parameter.
Source the data page with a data transform that copies the RentalCustomer case data onto the
data page. Use the Top keyword in the Target and set it equal to pyWorkPage.RentalCustomer.
Define pyWorkPage to be of class type Tour-CarRentals-Work-RentalReservation on the Pages and
Classes tab of the data transform
Add a Save Data Page step that calls the Savable Rental Customer data page directly after the
Verify New Customer approval step.

Acceptance criteria
New customer information is saved to the Pega Customer system of record.

US-110
Description
As a new customer, I want to receive a confirmation email once my new account request has been
approved.

Details
Once a new account request is approved, send an email to the customer confirming the following
account information:

112
©2018 Pegasystems
Dear [First Name],
Welcome to Tourist Car Rentals. We are thrilled to be part of your vacation experience. Below is your new
account confirmation information:
Name: [First and Last Name]
Phone:[Phone]
User Name: [User Name]
Email: [Email Address]
License No: [Licensing No]
Best regards,
Tourist Car Rentals

Technical approach
l In App Studio, configure the Account Setup Confirmation step to:
Send to the rental customer email address
Add an appropriate subject
Compose a custom message with the text found in the previous table. Add dynamic property
references for the field values

Acceptance criteria
A new approved customer receives a new account confirmation email.

US-111
Description
As a customer, if I already have an account, I want to authenticate myself by using my login credentials
so that I can skip the Collect Customer Information step.

Details
A customer must supply a user name and password if they are not enrolling in a new account. Check
the credentials for a match in the Customer system of record. If a match is found, skip the Create New
Customer process and take the customer directly to the Enter Rental Reservation step. If a match is not
found, provide the following message: We do not recognize your username and / or password.

Technical approach
l In Dev Studio, add a report definition that queries the Rental Customer data type. Configure the
report definition to:
Return the unique identifier field pyGUID.
Filter the report by user name and password using parameters as the values.

113
©2018 Pegasystems
Add a list data page called D_CustomerCredentialLookup to the Rental Customer data type
sourced by the report definition you just created.
Create the same parameters in the data page as the report definition and pass these parameters
to the report definition.
Create a validation rule that displays a message that indicates the user name and password is
not recognized if:
the value of the Enroll field is equal to false
AND the data page returns no results using the following syntax:
DataPageName[Parameter1Name:Parameter1
value,Parameter2Name:Parameter2Value].pxResultCount==0
Example:
D_CustomerCredentialLookup[UserName:.RentalCustomer.UserName,
Password:.RentalCustomer.Password].pxResultCount==0
l On the validation rule, enter the name of the data page on the Pages & Classes tab and set the
class to Code-Pega-List to indicate the result type returned.
l Call the validation rule in the flow action for the Log In step.
l Configure the Create New Customer process to start only if the value of the Enroll property is true.

Acceptance criteria
An existing customer can bypass the Create New Customer process by supplying a valid user name
and password.
By selecting the Enroll option, a new customer does not supply a user name and password and can
proceed to the Collect Customer Information step.

US-112
Description
As a customer, I want to see my full name and email address on the Enter Rental Information step so
that I know that I have authenticated my account successfully.

Details
When a returning customer authenticates their account, load their information from the Customer
system of record onto the Customer page property of the case.
Display First Name, Last Name, and Email Address as read-only fields at the top of the Enter Rental
Information step.

Technical approach
l In Dev Studio, create a data transform to:

114
©2018 Pegasystems
l Set the RentalCustomer page property to the rental customer who matches the supplied user
name and password. Use the following syntax for the source value of the data transform:
D_RentalCustomer[pyGUID:D_CustomerCredentialLookup
[UserName:.RentalCustomer.UserName,Password:.RentalCustomer.Password].pxResults
(1).pyGUID]
l Add a condition to set the RentalCustomer page only when the Enroll property value is false.
l Call the data transform from the Log In connector in the Authenticate Existing Customer flow
rule.

Acceptance criteria
When a customer enters a valid user name and password, their first name, last name, and email
address are displayed on the Enter Rental Information step.

US-113
Description
As a customer, I would like to be able to enter car rental information so that I can secure a rental at the
desired time and location.

Details
For the Enter Rental Information step, configure a data model and user interface to collect car rental
information from a customer. Create a Reservation data type and associated view with the following
fields and configurations:

Field Type Options


Pickup Location Picklist Required
Pickup Date Date only Required
Return Date Date only Required
Total Rental Days Integer Calculated (read-only)
Child Safety Seats Picklist Optional
GPS Navigation Boolean Optional

Configure the Pickup Location field picklist with the following values:
l Chilmark, MA
l Edgartown, MA
l Nantucket, MA
l Oak Bluffs, MA
l Vineyard Haven, MA

115
©2018 Pegasystems
Configure the Total Rental Days calculated field to equal the number of days between the Return
Date and the Pickup Date
Configure the Child Safety Seat field picklist with values from 0 to 4, defaulting to a value of 0.

Technical approach
l In App Studio. configure a view for the Enter Rental Information step.
l Add a single Reservation field group.
l Create a new view for the Reservation field group containing the fields found in the previous table.
l Add the appropriate picklist choice values for the Pickup Location and Child Safety Seats fields.
l Set the Child Safety Seat default value in the pySetFieldDefaults data transform.
l Configure Total Rental Days as a calculated integer field by subtracting the Pickup Date from the
Return Date. Update the declare expression to execute in any page context.
l Add an action set to both rental dates to refresh the rental days calculation.

Acceptance criteria
On the Enter Rental Reservation step, a customer can select a pickup location from a list of choices,
supply a pickup and return rental date, view the number of rental days, and optionally select to add up
to four child safety seats, and optionally select GPS navigation.

US-114
Description
As a customer, I want to make sure I provide the correct car rental reservation information so that I can
ensure my rental reservation information is accurate.

Details
Enforce the following validation on the Enter Rental Information step:
l The Return Date must be at least one day after the Pickup Date

Technical approach
l Create a validation rule to display an error if the value of the Total Rental Days property is less than
or equal to 0.
l Call the validation rule in the Enter Rental Reservation flow action.

Acceptance criteria
A customer cannot proceed past the Enter Rental Information step until the total rentals days
validation is met.

116
©2018 Pegasystems
US-115
Description
As a customer, I would like to be able to see the location of the Rental Pickup location on a map.

Details
Update the Pickup Location property with the latitude and longitude standard values for the below
prompt and standard values:

Standard value Prompt value


41.343151, -70.742901, Chilmark Chilmark, MA
41.391739, -70.51622, Edgartown Edgartown, MA
41.283946, -70.09987, Nantucket Nantucket, MA
41.457422, -70.557574, Oak Bluffs Oak Bluffs, MA
41.455567, -70.604303, Vineyard Haven Vineyard Haven, MA

On the Enter Rental Information step, add an address map control configured to the Pickup Location
property.

Technical approach
l In Dev Studio, access the Pickup Location property and change the standard value for each of the
prompt values to match the values in the previous table.
l Change the Enter Rental Information section into a two-column template.
l Add a pxAddressMap control and set the Starting Lat,Long input field to the Pickup Location
property.
l Add an on-change action set to the Pickup Location field to refresh the section.

Acceptance criteria
A customer can view the pickup location on a map.

US-116
Description
As a customer, I would like to calculate the cost of adding GPS navigation so that I know the total cost of
my rental.

Details
Add a decimal GPSCost property to the Reservation data type.

117
©2018 Pegasystems
Calculate the value declaratively to 13.99 or 0 whenever the GPS Navigation property value changes.

Technical approach
l Add a calculated GPSCost field to the Enter Rental Information view.
l Create a declare expression to calculate the GPSCost field configured whenever inputs change and
regardless of page context.
l Add an action set to the GPS Navigation field to refresh the GPSCost calculation.

Acceptance criteria
The GPSCost property is 13.99 on the Clipboard when GPS Navigation is selected and 0 when GPS
Navigation check box is unselected.

US-117
Description
As a customer, I want to be able to select and see details about an available vehicle so that I can
reserve a vehicle that is right for me.

Details
For the Select Vehicle step:
l Add a VehicleID property to the Reservation data type.
l Configure a view for the Select Vehicle step that displays the list of vehicles in a drop-down list
grouped by vehicle manufacturer.
l Once a vehicle is selected, display the details of the vehicle in the existing Select Vehicle view.
l Source the Vehicle drop-down and the view with the data pages contained in the existing Vehicle
data type.
l Configure the drop-down control so that the vehicle detail section updates as soon as a new vehicle
is selected.
l Require the user to select a vehicle prior to advancing the case.

Technical approach
l Add a new VehicleID property to the Reservation data type.
l Configure a view for the Select Vehicle step by adding the VehicleID property.
l Configure the VehicleID control as a required drop-down list sourced by the D_VehicleList data
page that lists the vehicle models grouped by Manufacturer. Use the pyGUID property as the drop-
down value.
l Add the existing Select Vehicle section contained in the Vehicle data type below the VehicleID drop-
down. Source this section from the D_Vehicle data page using the VehicleID drop-down as the

118
©2018 Pegasystems
parameter value.
l Add an on-change action set that refreshes the section to the drop-down control.

Acceptance criteria
A customer can select from a list of available vehicles and see vehicle details after a selection is made.

US-118
Description
As a customer, I would like to confirm my reservation details so that I make the correct reservation.

Details
On the Confirm Reservation step, configure a view displaying the following information:

Grouping Fields
Reservation l Reservation ID (Case ID)
Confirmation l Rental Cost (Calculated = CostperDay * TotalRentalDays + GPSCost +
(ChildSafetySeats * 9.99)
Reservation Details l Pickup Location
l Pickup Date
l Return Date
l Total Rental Days
l Child Safety Seats
l Add GPS Navigation
l Map of Pickup Location
Vehicle Details l Make
l Model
l Style
l Mileage
l VIN
l CostperDay
Account Information l First Name
l Last Name
l Email address

Technical Aapproach
l In App Studio, configure the Confirm Reservation view by adding the existing pyID field.
l Add a new Rental Cost calculated field to the view and set the initial calculation equal to the GPS
Cost.
l Switch to Dev Studio and update the Rental Cost declare expression to the following:

119
©2018 Pegasystems
D_Vehicle[pyGUID:Reservation.VehicleID].CostperDay * .Reservation.TotalRentalDays +
.Reservation.GPSCost + toInt(.Reservation.ChildSafetySeats) * 9.99
l Open the Confirm Reservation section and add three embedded sections as follows:
EnterRentalReservation using clipboard page context .Reservation
Select Vehicle using data page context D_Vehicle and .Reservation.VehicleID as the parameter
value
CustomerConfirmation using clipboard page context .RentalCustomer
l Configure all embedded sections as read-only.
l Update section headings, field labels, and alignments as needed.

Acceptance Criteria
A customer can view all the reservation details before submitting to ensure the reservation is correct.

US-119
Description
As a customer, I would like to receive an email receipt of my rental reservation so that I can confirm
that my reservation request has been successfully submitted.

Details
Once a rental reservation is confirmed by the customer, send the following email using a
correspondence rule:
Dear [First Name] [Last Name],
Thank you for your Tourist Rental Car Reservation. We look forward to serving you. Please find below the
details of your reservation:
Confirmation Number: [Case ID]
Customer Information:
Name:[First Name] [Last Name]
Address:[Street]
[City],[StateRegion], [PostalCode]
Phone:[Phone]
Email:[EmailAddress]
Reservation Information:
Vehicle [VehicleID]
Pickup Location:[PickupLocation]
Pickup Date: [PickupDate]
Return Date: [Reservation.ReturnDate]

120
©2018 Pegasystems
Number of Rental Days: [TotalRentalDays]
Estimated Rental Cost: [RentalCost]
Best regards,
Tourist Car Rentals

Technical approach
l In Dev Studio, configure the Email Reservation Confirmation step to send an email using the Send
to field value .RentalCustomer.EmailAddress.
l Enter an appropriate email subject.
l Configure the step to use a correspondence message and create an email correspondence rule.
l Enter the static text from the previous table into the correspondence rule and replace the dynamic
fields with the corresponding property references.

Acceptance criteria
A customer receives an email receipt that confirms the reservation details.

US-120
Description
As a rental reservation representative, I would like to promptly enter reservation requests into the
Reservation system of record so that vehicles are reserved and available for customers during their
reservation dates.

Details
For the Reserve Vehicle step, route work to a Reserve Vehicle work queue.
Display all reservation information by reusing the same view as the Confirm Reservation step.
Apply an SLA with the following requirements:

Interval Value Urgency


Goal 1 hour Increase by 15 if not met
Deadline 2 hours Increase by 20 if not met
Passed Deadline Every 15 minutes for 6 recurrences Increase by 10 for each occurrence

Technical approach
l In App Studio. configure a view for the Reserve Vehicle step by adding the existing Confirm
Reservation view as read-only.
l Configure work queue routing for the step to the existing Reserve Vehicle work queue.

121
©2018 Pegasystems
l Switch to Dev Studio to enable the Consider Goal and Deadline option on the Reserve Vehicle
step.
l Create an SLA rule configured to satisfy the requirements in the previous table.

Acceptance criteria
A rental reservation representative can pick up work from the Reserve Vehicle work queue and see all
the reservation information to facilitate entry into the Reservation system of record. Assignment
urgency increases as per goal, deadline, and passed deadline.

US-121
Description
As a manager, I would like to survey my customers about their vehicle rental so that I can continually
improve their experience.

Details
Add a single collect information step to the Vehicle Rental child case to simulate the actual vehicle
rental. Configure the stage to resolve the case when the stage completes. Additional configuration on
the child case is out of scope.
Once a Vehicle Reservation case resumes processing when a child Vehicle Rental case is resolved, send
the following email inviting the customer to complete a short survey:
Dear [First Name] [Last Name],
From all of us at Tourist Car Rentals, we thank you for your recent vehicle rental with us. We hope you had a
pleasant rental experience. We invite you to please complete a short survey at http://community.pega.com.

Best regards,

Tourist Car Rentals

Technical approach
l In App Studio, add a single stage and one collect information step to the Vehicle Rental child case.
l Configure the stage to resolve after all processes are complete.
l On the Rental Reservation case type, configure the Email Survey step to:
Send to the rental customer email address
Add an appropriate subject
Compose a custom message with the above text. Add dynamic property references for the field
values

Acceptance criteria
A customer receives an email to complete a survey.

122
©2018 Pegasystems
US-122
Description
As a manager, I would like to see revenue by pickup location so that I can identify locations that
generate the most revenue.

Details
Create a report definition by using the Pickup Location, Rental Cost, and Case ID fields. Summarize the
Case ID by count and the Rental Cost by Sum sorted in descending order by Rental Cost.
Optimize the Pickup Location and Rental Cost properties to improve report performance.
Filter out any cases with blank data.
Add a pie chart for each location that indicates the total revenue by location.

Technical approach
l In Dev Studio, optimize the Pickup Location and Rental Cost properties.
l Create a new report definition applied to the Tour-CarRentals-Work-RentalReservation class.
l Add the Case ID, Rental Cost, and Pickup Location fields to the report that summarizes both Case
ID and Rental Cost.
l Add an Is Not Null filter to both the Pickup Location and Rental Cost properties.
l Add a pie chart to the report and add the Rental Cost as an aggregate column and Pickup
Location as a group-by column

Acceptance Criteria
The manager can see a list of pickup locations with number of rentals and total revenue sorted by
revenue in descending order.
The manager can see a pie chart that shows each location as a slice. The size of each slice is
represented by the sum of Rental Cost.

US-123
Description
As a customer, I would like to enroll for a new account easily so that I can reserve a vehicle.

Details
Enhance the login experience by replacing the Enroll check box on the login screen with a button.
Configure the button with two actions:

123
©2018 Pegasystems
1. Run a data transform setting the Enroll property value to true.
2. Finish Assignment.
Style the button by adding a new Button format to the application skin with background color
#0C8DC5 and no border.

Technical approach
l In Dev Studio, add a new button format to the application skin with a background color of #0C8DC5.
Select none for all borders. Accept all other default values.
l Replace the Enroll check box on the Log In screen with a button by applying the new button format
you created in the skin.
l Create a data transform that sets the value of the Enroll property to true.
l Add an action set to the button to perform the following actions:
Run the data transform you created.
Finish the assignment .

Acceptance criteria
The customer can click a button that allows the customer to sign up for a new account.

124
©2018 Pegasystems

S-ar putea să vă placă și