Measure time on actions and status

we want to calculate the time on certain actions taken and between status phases in the quote:

We have a quote and this quote has several custom statuses. Each status has its own meaning and informs which phase this quote is in. With each status change, we send an email notification to the customer. A status change can be changed by different employees. For example, for some statuses: waiting for customer approval, we want to attach actions to it after x amount of time. For example, when x amount of time has passed, the worker will take action to call the customer. For each status, we want to set 1 or more actions.

Then between all these stages and actions, we want to measure how much time a particular status takes and how much time the worker spends on status and actions.

Is there someone who has experience with this in ERPNext? And how do you think we can implement this correctly?