P

Pega Migration Dashboard

ShopFlow Order Fulfillment System

20 rules

Business Rules

20

Extracted & categorized

Entry Points

1

End-to-end workflows

Logic Dependencies

29

Signal connections

Missing (Signal)

5

Unextracted references

Rule Types Breakdown

Activity 9
DecisionTable 3
WhenRule 3
DataTransform 2
Flow 2
UtilityFunction 1

Application Architecture

This Pega application contains 20 active business logic rules orchestrated by 1 primary process flow entry points.

The rules form a clean directed acyclic graph (DAG) with 29 validated logic connections (plumbing, data model properties, and platform built-ins filtered out).

5 referenced rules remain as stubs requiring Pega export or mock implementation.

Functional Business Domains

Click any rule name to view its detailed contract & logic

Core Business Services

1 rules
  • ApplyLoyaltyPointsActivity

Order Fulfillment & Processing

9 rules
  • ApplyOrderPricingDataTransform
  • CalculateOrderTaxUtilityFunction
  • CheckCustomerStandingActivity
  • NotifyWarehouseActivity
  • OrderFulfillmentFlowFlow
  • ReserveInventoryActivity
  • SendOrderConfirmationActivity
  • ValidateOrderActivity
  • ValidateShippingAddressActivity

Shipping & Logistics

7 rules
  • CalculateShippingCostActivity
  • DetermineCarrierSurchargeDecisionTable
  • DetermineShippingMethodDecisionTable
  • GenerateShippingLabelActivity
  • IsExpressEligibleWhenRule
  • PackageAndShipSubflowFlow
  • PrepareShipmentDataDataTransform

Pricing & Taxation

1 rules
  • DetermineDiscountTierDecisionTable

Customer & Inventory Rules

2 rules
  • IsInStockWhenRule
  • IsPrimeMemberWhenRule

Process Flows (1 entry points)

Sorted by complexity. Click any node in the tree to inspect its complete logic & parameters.

Interactive Business Logic Graph | Click node to inspect • Drag to rearrange

Recommended Migration Sequence

Topological bottom-up order: Leaf prerequisites first, core activities next, entry point orchestrations last.

0 / 0 migrated
Done # Rule Contract & Logic Summary Type Status Prerequisites
1
IsInStock

True when the warehouse has enough free stock to cover the requested quantity.

In: .AvailableQuantity, .ItemState

Out: boolean (true/false)

WhenRule Shared No deps (Foundation)
2
IsPrimeMember

True when the customer holds an active paid membership.

In: .CustomerTier, .MembershipState

Out: boolean (true/false)

WhenRule Shared No deps (Foundation)
3
DetermineCarrierSurcharge

Evaluates fuel, oversized parcel, and remote destination surcharges based on carrier and destination zone.

In: .ShippingMethod, .DestinationZone

Out: .CarrierSurcharge

DecisionTable No deps (Foundation)
4
DetermineDiscountTier

Percentage discount applied to the basket based on loyalty tier and basket size.

In: .CustomerTier, .Subtotal

Out: .DiscountPercent

DecisionTable No deps (Foundation)
5
CalculateOrderTax

Applies the destination region sales tax rate to a taxable amount.

In: taxableAmount (double), destinationRegion (String)

Out: double

UtilityFunction Shared No deps (Foundation)
6
ApplyLoyaltyPoints

Calculates earned reward points based on final order total and credits points to customer reward balance.

In: Param.OrderTotal

Out: Param.PointsEarned

Activity No deps (Foundation)
7
CheckCustomerStanding

Looks up the customer record and blocks orders for suspended accounts.

In: Param.CustomerID

Out: Param.AccountInGoodStanding

Activity No deps (Foundation)
8
NotifyWarehouse

Sends the pick-and-pack instruction to the fulfilment centre queue.

In: Param.ReservationID

Out: pyWorkPage

Activity No deps (Foundation)
9
ValidateShippingAddress

Validates recipient postal code, country code, and address deliverability via postal service API.

In: Param.PostalCode, Param.CountryCode

Out: Param.IsValidAddress

Activity Shared No deps (Foundation)
10
IsExpressEligible

An order qualifies for express delivery when it is a domestic parcel that is either a member order or a high-value order.

In: .DestinationCountry, .OrderTotal

Out: boolean (true/false)

WhenRule IsPrimeMember, compareTwoValues, evaluateWhen
11
DetermineShippingMethod

Selects the carrier service from the service level, parcel weight, and destination zone.

In: .ServiceLevel, .ParcelWeightKg, .DestinationZone

Out: .ShippingMethod

DecisionTable MathUtils
12
ApplyOrderPricing

Calculates the final order total: applies discounts based on customer tier, includes taxes, and subtracts any coupon amounts.

In: Param.OrderID

Out: Param.OrderTotal

DataTransform CalculateOrderTax, DetermineDiscountTier, IsPrimeMember
13
CalculateShippingCost

Prices the chosen carrier service and adds destination tax.

In: Param.ShippingMethod

Out: Param.ShippingCost

Activity CalculateOrderTax
14
ReserveInventory

Holds stock in the warehouse for each order line so it cannot be sold twice.

In: Param.OrderID

Out: Param.ReservationID

Activity IsInStock
15
SendOrderConfirmation

Emails the customer the order summary, total paid, and tracking details.

In: Param.OrderID

Out: Param.NotificationSent

Activity ApplyLoyaltyPoints
16
PrepareShipmentData

Builds the carrier payload and resolves which shipping service the parcel qualifies for.

In: Param.OrderID

Out: Param.ShippingMethod

DataTransform DetermineCarrierSurcharge, DetermineShippingMethod, IsExpressEligible, ValidateShippingAddress
17
ValidateOrder

Checks the basket, confirms stock availability, and applies pricing before the order is accepted.

In: Param.OrderID

Out: Param.ValidationResult

Activity !IsInStock, ApplyOrderPricing, CheckCustomerStanding, IsInStock (+1 more)
18
GenerateShippingLabel

Chooses the carrier service and renders the shipping label for the parcel.

In: Param.OrderID

Out: Param.LabelURL

Activity CalculateShippingCost, IsInStock, PrepareShipmentData
19
PackageAndShipSubflow

Warehouse sub-process: produce a shipping label and hand the parcel to the carrier.

In: pyWorkPage

Out: pyWorkPage

Flow GenerateShippingLabel, NotifyWarehouse
20
OrderFulfillmentFlow

End-to-end fulfillment for an online store order: validate the order, reserve stock, price it, ship it, and confirm to the customer.

In: pyWorkPage

Out: pyWorkPage

Flow Entry Point MashupUtilities, PackageAndShipSubflow, ReserveInventory, SendOrderConfirmation (+1 more)

Data Dictionary

Properties, data modes, and class inheritance hierarchies supporting business logic execution.

Class ShopFlow-Order-Work

A customer order being fulfilled by the ShopFlow application.

Property Data Type Mode Usage
CustomerTier Text Text 4 refs
OrderStatus Text Text 5 refs
OrderTotal Text Decimal 4 refs
ShippingMethod Text Text 5 refs

Missing Rules (Signal Only)

Business rules referenced by application logic that have not yet been extracted from Pega.

Rule Name Rule Type Action
!IsInStock Rule-Obj-When
MashupUtilities Rule-Utility-Library
MathUtils Rule-Utility-Library
compareTwoValues Rule-Utility-Function
evaluateWhen Rule-Utility-Function