Mega-Refurbishment with Temporal: Streamlining the Refurbishment Process

Dushant Singh
CARS24 Engineering Blog
3 min readMay 1, 2023

Brief: Understanding MRL-Refurbishment as a problem and solving it using a Temporal framework.

Introduction:

Mega-Refurbishment-Labs (MRLs) are physical car refurbishment centers owned by Cars24, a company that prides itself on making used cars “Good As New.” The refurbishment process involves several small operations that must be executed correctly to ensure that the vehicle is in top condition when delivered to the customer. However, managing these operations can be a challenge, and that’s where Temporal comes in.

What are MRLs?

Mega-Refurbishment-Labs (MRLs) are physical car refurbishment centers owned by Cars24. These centers play a crucial role in making used cars “Good As New” by ensuring that each vehicle undergoes a comprehensive refurbishment process.

Understanding Refurbishment:

The refurbishment process involves several small operations that must be executed correctly to ensure that the vehicle is in top condition when delivered to the customer. These operations include inspection of the vehicle, estimation of the cost of refurbishment, part procurement and negotiation with vendors, work order generation, movement of vehicles through various zones in the MRL, allotment of supervisors and technicians, parts allotment and tracking, and post-refurbishment inspection.

The Problem:

Managing the refurbishment process can be challenging, as each vehicle must maintain a state and move to a different state based on several sub-operations. To solve this problem, we need a resilient system that can maintain these states, support versioning of these flows, be easy to modify in case of any required changes, support active flows for days, and provide support for queries on the states and parameters of vehicles when required.

Temporal:

The Solution Temporal is a developer-first, open-source platform that ensures the successful execution of services and applications using workflows. Temporal offers long-running programmable workflows that allow you to have any number of signals which can change the state of your workflow or proceed further in the flow.

Implementing Refurbishment using Temporal:

To implement the refurbishment process using Temporal, we create a workflow as soon as the vehicle reaches the MRL. We call this the vehicle-main-workflow, which has signals to change state from inspected to estimated to procurement to work order generation, and so on. Each signal triggers a child flow responsible for a specific operation, such as the estimation flow, which calculates the estimated cost for refurbishing the vehicle. After estimation, the procurement flow is triggered to purchase the required parts from vendors. Similarly, each operation triggers a corresponding child flow, and the vehicle’s state is updated accordingly. Once all operations are completed, the vehicle is inspected again, and if it passes, it moves to the post-refurbishment stage.

Benefits of using Temporal for Refurbishment:

Using Temporal for the refurbishment process offers several benefits, including:

  1. Easy modification and maintenance of workflows
  2. A resilient system that ensures the successful execution of each signal
  3. Support for versioning to make it easy to maintain and update workflows
  4. Active flows for days, making it suitable for the refurbishment process that can take several days to complete
  5. Support for queries, making it easy to retrieve information about the state and parameters of a vehicle at any given time.

Conclusion:

The refurbishment process in MRLs can be streamlined and made more efficient by using Temporal. With its resilient system, support for versioning, and ease of modification, Temporal can help manage the refurbishment process effectively and ensure that vehicles are delivered to customers in top condition.

--

--