Para resolução do desafio de envio de agradecimentos aos participantes do evento, considerei da seguinte forma:
Dados de entrada: horário de entrada e saída no evento, nome do usuário e e-mail
Algoritmo para verificar a presença: calcular o tempo de permanência do usuário com base no horário de entrada e saída em comparação a duração do evento. Se maior ou igual, considerar como presença validada.
Decisão a ser tomada: ao validar a presença do usuário de acordo com a duração do evento, gerar lista com os participantes elegíveis e inelegíveis;
Ação final: encaminhar e-mail de agradecimento apenas para a lista de participantes elegíveis; senão for elegível de acordo com os critérios, não enviar.
Adicionalmente, podemos gerar um relatório com os usuários que não cumpriram os requisitos para avaliar a média de tempo de permanência no evento, questionar o motivo para aqueles que permaneceram por pouco tempo ou alguma outra análise pertinente ao negócio.