At the start of this relatively straightforward epic, there were a number of “terminal” loan statuses already in existence: abandoned, expired decision, expired contract, and finalized. Somehow missing from this list was a way for lenders to withdraw a loan in the FG LOS. We had to integrate this functionality with many other services across the site including user permissions, the automatic decision engine, the decision status cron, and application queues.
There were complex business rules that needed to be addressed defining when a loan could be withdrawn. Once a loan was withdrawn, we were additionally tasked with coding functionality to prevent any future loan status updates. We then extended a method to enforce read-only mode for all the loan processing steps to allow lenders to view previous activity. The final touch consisted of adding a page in the admin area to collect withdrawal reasons that would populate the dropdown during loan withdrawal.