Permitir que os agentes comecem a viajar antes do horário de trabalho programado

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 2 min. de leitura
  • Ofereça suporte a tipos de trabalho flexíveis, permitindo que os agentes comecem a viajar antes das horas de trabalho programadas. Por exemplo, você pode adicionar o tempo de viagem fora do horário comercial para seus funcionários contratados ou sob demanda e não para os funcionários em tempo integral.

    Antes de Iniciar

    Se você for um administrador, poderá executar um script e adicionar o tempo de viagem fora do horário comercial para todos os usuários.

    Função necessária: wm_dispatcher, wm_manager, wm_admin ou admin

    Procedimento

    1. Navegar até Todos > Serviços de Campo.
    2. Execute uma das seguintes ações:
      • Se você for um expedidor, vá para Expedição > Meus Agentes.
      • Se você for um gerente, vá para Gerente > Minha Equipe.
    3. Selecione um perfil de usuário.
    4. Para adicionar ou atualizar registros de usuário, siga um destes procedimentos.
      OpçãoDescrição
      Adicionar um novo registro para este usuário
      1. Clique em Nova.
      2. Marque a caixa de seleção Viagem fora do horário comercial.
      3. Clique em Enviar.
      Atualizou um registro existente
      1. Abra o registro existente.
      2. Marque a caixa de seleção Viagem fora do horário comercial.
      3. Clique em Atualizar.
    5. Para adicionar o tempo de viagem como horas de trabalho para todos os usuários, faça o seguinte:
      1. Navegar até Definição do Sistema > Scripts - Segundo Plano
      2. Na janela Executar script, adicione o script para incluir o tempo de viagem como horas de trabalho para todos os usuários.
        Tabela 1. Opções para incluir o tempo de viagem como horas de trabalho para usuários
        Opção Descrição
        Adicionar tempo de viagem como horas de trabalho para todos os usuários
        1. Adicione este script:
          createWorkParamsForAllAgents("yes");
          
          function createWorkParamsForAllAgents(travelOutsideWorkHours) {
          	var now_GR = new GlideRecord("sys_user_has_role");
          	gr.addEncodedQuery("role=26c324ba1b32200096f9fbcd2c0713c2"); // fetching users having wm_agent role
          	gr.query();
          	gs.info("total work agents found: "+gr.getRowCount());
          	var agentWorkParameter = {};
          		
          		while (gr.next()) {
          			var userId = gr.getValue("user");
          			if (!agentWorkParameter[userId]) {
          				var wp = new GlideRecord("wm_agent_work_configuration");
          				wp.initialize();
          				wp.setValue("user",userId);
          				wp.setValue("travel_outside_of_work_hours", travelOutsideWorkHours); // setting default value for travel_outside_of_work_hours
          				wp.insert();
          				agentWorkParameter[userId] = true;
          			}
          		}
          	}
        2. Clique em Executar script.
        Atualizar o tempo de viagem como horas de trabalho para todos os usuários
        1. Adicione este script:
          updateWorkParamsForAgents("yes");  // param1: default travel outside work hours value
          
          function updateWorkParamsForAgents(travelOutsideWorkHours) {
          	var now_GR = new GlideRecord("wm_agent_work_configuration");
          	gr.query();
          	gs.info("total agent work parameters found: "+gr.getRowCount());
          	var updateCount = 0;
          	
          	while (gr.next()) {
          		var canTravelOutside = gr.getValue("travel_outside_of_work_hours");
          		if ( canTravelOutside != travelOutsideWorkHours) {
          			gr.setValue("travel_outside_of_work_hours", travelOutsideWorkHours);
          			if (gr.update())
          				updateCount ++;
          		}
          	}
          	gs.info("total agent work parameters updated: "+updateCount);
          }
        2. Clique em Executar script.