Calculo de Horas de Atendimento

Bom dia pessoal.

Estou tentando adaptando um processo para tentar pegar o tempo médio de um atendimento.

eu tenho um processo simples de Service Desk.

Inicio -> Aguartando Atendimento -> Iniciou Atendimento-> Finalizou Atendimento -> Avaliação do Atendimento-> Fim

A idéia é pegar esses valores e jogar para o Analytics Vamos ao objetivo

Pegar o tempo entre o [Inicio e o Inicio Atendimento] Tempo igual a tempo de resposta da equipe.

Pegar o tempo entre o [Inicio Atendimento] e [Fim Atendimento] Tempo igual a Tempo de Atendimento.

Estou pensando em pegar esses tempos no before send data e enviar na variável customFacts

customFacts[0] = TempoDeResposta; //minutos customFacts[1] = TempoDeAtendimento; //minutos

Dentro disso existem alguns problemas.

1) Quando eu estiver na transição de um evento eu posso usar a variável Now() mas como eu pega a hora de um evento passado, por exemplo no Fim para eu calcular o tempo de resposta eu preciso pegar a hora de uma transição passada como eu faço isso?

2) Um protocolo que foi criado na sexta 17:55 e atendido na segunda 8:05 deve ter apenas 10 min de aguardando atendimento e não 3 dias como uma simples subtração. para isso provavelmente vou ter que utilizar o calendário padrão do workflow atual. Como faço isso?

3) Existe uma solução mais simples do que essa? ou essa informação já esta no Analytics e eu não sei?

Desde já Agradeço. Obrigado