| Data de elaboração | 23/10/2023 |
| André Honório de Andrade Silva (Tecnico), Alef Carvalho da Silva (Analista) | |
| Equipe do estudo | Gustavo Felix Gomes (Assessor), André Honório de Andrade Silva (Tecnico), Emanuel Rufino Alcantara de Lima (Analista), Alef Carvalho da Silva (Analista), Gezinéia Paula da Costa (Product Owner) |
| Alvos | Portal do Servidor, Alpha Serviços (web/api), Alpha Solicitações (web/api), Portal do Cidadão. |
| Origem | Implementação: Criação de funcionalidades para possibilitar agendamentos de serviços presenciais no Portal do Servidor |
| Objetivo | Realizar estudo técnico de alterações necessárias nos sistemas Portal do Servidor e Alpha (Serviços/Solicitações em suas partes web/api), para a devida implementação de funcionalidades que permitam o agendamento de atendimentos presenciais de serviços pelo Portal do Servidor. |
| Documentação correlata | |
| Observações | O presente estudo pretende também levantar as Historias dos cards para a Sprint |
Os objetivos deste estudo são:
A crescente necessidade da evolução do Portal do Servidor para atender as diferentes realidades e cenários no ambito de possibilidades de atendimento de solicitações realizadas pelo servidor, levaram a urgência no levantamento de funcionalidades a serem implementadas e/ou modificadas nos sistemas pertinentes. O presente estudo discorre sobre o cenário atual, bem como o que deve ser realizado para que esta necessidade se torne realidade.
Para o desenvolvimento das funcionalidades que integram o agendamento de atendimento de serviços no Portal do Servidor, foram identificadas os seguintes passos:
O Portal do Servidor já possui uma estrutura que possibilita a solicitação de atendimento online, logo faz-se necessário implementar as mesmas funcionalidades de agendamento que existem no Portal do Cidadão. Tendo como base este último, o Portal do Servidor deverá apresentar:
O Portal do Cidadão apresenta os horários juntamente com o endereço e a quantidade máxima diária.
Exbir as opções disponíveis de atendimento de determinado serviço, bem como no Portal do Cidadão.
Para o Presencial exibir dias disponíveis para agendamento, levando em consideração o número limite de agendamentos diários, feriados e dias de excessão. O Portal do Cidadão também conta com esta funcionalidade.
Ao confirmar agendamento, redirecionar para tela de detalhes do agendamento, esta deverá conter informações pertinentes ao agendamento, assim como ocorre no Portal do Cidadão.
Na tela de detalhes de agendamento, exibir botão com a opção de cancelamento de agendamento.

Ao lado do protocolo, exibir botão de imprimir comprovante, abrindo uma tela com a visualização de impressão.
Na tela de Acompanhamentos, inserir menu de Agendamentos e listar agendamentos do Servidor.
O Alpha Solicitações Web também necessita de modificações para atender as funcionalidades de agendamento.
Na listagem de agendamentos, criar um filtro para exibir apenas agendamentos advindos do Portal do Servidor ou Portal do Cidadão.

Caso seja necessário, exibir as informações do servidor solicitante do serviço: cargo, matrícula e lotação nos detalhes do agendamento. Caso contrário, estas informações deverão ser inseridas na listagem.
Durante a análise do código fonte, foi identificado que para o atendimento às funcionalidades apresentadas, sertão necessárias algumas modificações no Alpha Solicitações API. Atualmente toda a parte de Agendamento é utilizada apenas para o Portal do Cidadão, logo será necessário realizar algumas adaptações em suas rotas existentes - o que pode variar de acordo com as necessidades apresentadas pelos clientes. Porém neste momento, o melhor caminho estimado é o de aproveitar o máximo do código fonte existente, para que possa atender estes cenários propostos:
Atualmente a rota de cadastrar agendamentos só comporta dados advindos do Portal do Cidadão, logo se faz necessário realizar modificações internas para que seja adequado ao novo fluxo de regras.
Ao analisar as rotas existentes quanto a obtenção dos agendamentos do cidadão, foi identificado que será necessário modificá-las ou recriá-las separadamente (servidor/cidadão) para que tenham todas as regras e informações advindas de suas devidas integrações.
Serão necessárias algumas modificações nas regras e validações do cancelamento de agendamentos, para que haja mais segurança.
Para maior segurança no acesso existem mecanismos para verificação de permissão de determinado usuário, este deverá ser adaptado para atender esta funcionalidade.
A API do Alpha Solicitações utiliza uma estratégia para se obter os dias disponíveis para agendamento para cada departamento. Serão necessários alguns ajustes para que este código valioso seja aproveitado.
A tabela Agendamentos na base de dados do Alpha Solicitações API necessita de campos adicionais para comportar os dados advindos do Portal do Servidor.
Os dados existentes do Portal do Cidadão deverão ser atualizados de acordo com os campos novos que serão criados na tabela de Agendamentos.
Como serão alteradas algumas rotas do Alpha Solicitações API, será necessário modificar o consumo de pelo menos uma rota:
Será necessário realizar modificações no consumo da rota de criação de agendamentos, adequando aos novos parametros necessários para identificar o sistema que está solicitando.
Durante a análise, foi identificado que nenhuma alteração será necessária no Alpha Serviços Web;
Durante a análise - bem como no Alpha Serviços Web, foi identificado que nenhuma alteração será necessária no Alpha Serviços API
De acordo com os pontos de modificações necessárias, foram estimadas e sugeridas as seguintes histórias:
| Sistema | História | Pontuação |
| Portal do Servidor | Na tela de detalhes do serviço, exibir horários de atendimento do departamento | 8 |
| Ao clicar em Solicitar, exibir opção de atendimento Online ou Presencial | 5 | |
| Ao clicar na opção Presencial, exibir dias disponíveis para agendamento | 5 | |
| Criar tela Detalhes do Agendamento | 8 | |
| Criar Ação de Cancelar Agendamento | 3 | |
| Criar botão Imprimir Comprovante de agendamento | 5 | |
| Na tela de acompanhamentos, inserir menu e lista de agendamentos | 5 | |
| Alpha Solicitações WEB | Criar filtragem de agendamentos por Servidor ou Cidadão | 5 |
| Criar tela de detalhes de agendamentos (opcional) | 5 | |
| Alpha Solicitações API | Modificar rota de criação de Agendamento, inserindo campos necessários para identificar o servidor ou o cidadão | 13 |
| Criar ou modificar rota existente para obter agendamentos para o Servidor/Cidadão | 8 | |
| Criar ou modificar rota existente para cancelar agendamentos para o Servidor/Cidadão | 3 | |
| Criar ou modificar rota existente para verificar permissão de acesso e ou modificação de agendamentos para o Servidor/Cidadão | 3 | |
| Modificar e utilizar rota para obter dias disponíveis para o agendamento do serviço | 3 | |
| Inserir campos Discriminator, Unidade Orçamentária e Matrícula para a tabela Agendamentos | 5 | |
| Criar e rodar script para atualizar dados existentes de Agendamentos advindos do Portal do Cidadão | 2 | |
| Portal do Cidadão | Modificar consumo de rota de criação de agendamentos, adequando aos novos parametros necessários para identificar o sistema que está solicitando | 2 |
O estudo atual é uma estimativa, os cenários e testes que serão apresentados pelos P.O.s - bem como os usuários, podem elevar a complexidade do desenvolvimento e necessitar de mais histórias para a conclusão do desenvolvimento.
Após o levantamento de modificações necessárias para a adequação dos sistemas para a inclusão da funcionalidade de agendamentos de serviços pelo Portal do Servidor, foi considerado o melhor caminho possível, no qual será possível reaproveitar o máximo das funcionalidades existentes, evitando a necessidade de se recriar outras funcionalidades que realizam a mesma operação nos dois portais.