Horario de atendedimento por grupos


Bom dia! Tenho 4 equipes de atendimento com horários diferentes. Em contato com o suporte, me falaram que a unica forma de conseguir setar o horário pra todas, seria por meio de programação.

No entanto sou leigo no assunto e a falta desta funcionalidade esta me gerando muitas mensagens ativas.


Buscando solucionar esse problema pensei em utilizar o recurso de verificar atendentes online, mas no entanto, como disse anteriormente sou leigo no assunto.


Encontrei esse tópico que responde em partes minha pergunta:



Alguém consegue me informar como fica o script final?


8 comentários

Vocês conseguem me ajudar? Já entrei em contato com o suporte, abri chamado e não tenho nenhuma resposta. Preciso solucionar esse problema com urgência, pois isso esta gerando muitas mensagens ativas. @Caiof @BrunoC @rafaelpa

Reputação 5

Olá @Eduardo_Vasconcelos,


Já conseguiu resolver o problema?

Consegui sim. Mas sabe me responder como tratar os feriados? Tenho em vista que somente uma dessas 4 equipes trabalham no feriado.

Reputação 5

@Eduardo_Vasconcelos,


Bom saber que você solucionou o problema, conta pra gente qual foi a solução aplicada 😊


No caso dos feriados não é muito trivial. Neste caso, você pode adotar duas soluções, a primeira deles é mapear todos os feriados e horários e trata-los no script. Uma outra solução mais dinâmica seria utilizar uma API para identificar os feriados e aplicar o retorno no script para tratamento 👨‍💻

Utilizei o seguinte código:


function run(offset, start, end, workDays) {


inicio='08:00';
final='20:00';
inicioSabado='08:00';
finalSabado='14:00';
inicioDomingo='03:00';
finalDomingo='03:01';

offset = parseInt(offset) + DEFAULT_OFFSET;



let today = nowUTC(offset);
let day = today.getDay();
//let startDate = utcDate(start, offset);
//let endDate = utcDate(end, offset);

if (day==6){
let startDate = utcDate(inicioSabado, offset);
let endDate = utcDate(finalSabado, offset);
}else if(day ==0){
let startDate = utcDate(inicioDomingo, offset);
let endDate = utcDate(finalDomingo, offset);
}else{
let startDate = utcDate(inicio, offset);
let endDate = utcDate(final, offset);
}


return ((today - startDate) > 0) && ((endDate - today) > 0) && isWorkDay(today, workDays);

}


Que o mesmo siga de exemplo para auxiliar os demais usuários que tem dificuldade como eu.

Reputação 5

@Eduardo_Vasconcelos,


Aproveitando segue uma API que pode te ajudar HolidayAPI nesta tarefa 💁🏿‍♂️

Muito obrigado! A parte free dessa API não será suficiente pra meu bot (com certeza ultrapassaremos 10000 requisições por mês kkkk) irei analisar com calma! Obrigado novamente!

Reputação 7

Uma dica de API gratuita pra esse caso:


Comente