====== Especificação funcional: Gestão de pontos de atendimento ====== ===== Resumo ===== Registrar os dados de uma entidade que poderá ser atendida através da realização de um ou mais serviços no cadastro de atendimentos. ===== Descrição ===== Um ponto de atendimento representa o local ou a entidade (pessoa, empresa, escola, etc) para o qual um serviço pode ser prestado. Por isso é preciso que o ponto esteja cadastrado para que os atendimentos possam ser registrados. Um ponto de atendimento deve estar numa categoria. Ela define o tipo de documento aceito pelo ponto, assim como os campos personalizados disponíveis no cadastro. Um ponto pode ser desativado. Neste caso, ele não poderá ser usado para incluir ou alterar um cadastro: * Ao vincular um ponto de atendimento a outro * Ao vincular um ponto de atendimento a uma feição na ferramenta de importação de coordenadas * No cadastro de atendimentos (individual ou para vários pontos ao mesmo tempo) * No cadastro de planejamentos Um ponto desativado ainda poderá aparecer em todos os locais onde seus dados não possam ser alterados ou que não alterem outros cadastros: relatórios, gráficos, consultas, mapas, etc. Na consulta de pontos de atendimentos, os ativos devem ser diferenciados dos inativos por cores. O usuário deve poder filtrar somente os ativos ou somente os inativos. O campo grupo serve para identificar pontos de atendimento relacionados. Um exemplo típico é o cadastro imobiliário. Todas as construções dentro de um mesmo terreno podem ser agrupadas para fins de gerenciamento por parte do município. Outro exemplo são os condomínios onde o lote pode ser considerado um ponto de atendimento, assim como cada apartamento individualmente. No momento da inclusão ou alteração o campo deve apresentar uma lista com os grupos cadastrados anteriormente, quando houver. ==== Cadastro ==== * Um ponto de atendimento deve conter um nome e uma categoria. * Um ponto de atendimentos inativo não pode ser vinculado a outro cadastro. * Caso uma atividade seja vinculada a um ponto, sua quantidade deve ser válida. * Um ponto de atendimento não pode ser vinculado a ele mesmo. * Um ponto de atendimento não pode ser excluído caso esteja vinculado a outro ponto de atendimento. * Um documento único somente deve ser único na sua categoria. Caso ele exista em mais de uma categoria ele somente será validado na categoria em que se enquadra. * Caso a categoria tenha um documento com numeração automática, essa numeração deverá ser incrementada de acordo com a categoria. * Não pode haver dois pontos de atendimento com mesmo nome e mesma categoria. * Pontos inativos vão aparecer com cor diferente no grid da tela de consulta. * Pontos inativos não vão aparecer na tela de seleção de pontos de atendimento. * Pontos inativos não podem ser incluídos num atendimento. * Pontos inativos não podem ser incluídos num planejamento. * Pontos inativos não podem ser vinculados a outros cadastros pela ferramenta de importação de feições. * Pontos inativos não podem ser vinculados a outros pontos. **Obs**: No grid de pontos de atendimento, o botão incluir, quando acionado diretamente, deve iniciar a inclusão de um ponto de atendimento com a categoria definida como padrão. Além disso, deverão ser exibidas opções (no mesmo botão) para incluir pontos de atendimento para as diversas categorias cadastradas no sistema. Essas opções serão apenas atalhos para o usuário: durante o cadastro o usuário poderá modificar a categoria, se desejar. Na tela de cadastro deverá ser exibido um campo para que o usuário informe o número do documento que identifica o ponto de atendimento. Esse número será formatado de acordo com a máscara definida no tipo de documento vinculado à categoria. Para um tipo de documento sem máscara, o número do documento deve ter o tamanho máximo limitado ao tamanho do campo, como descrito acima. Antes de salvar o ponto de atendimento, o sistema deverá verificar se o documento é ou não obrigatório e único, de acordo com o que foi definido no cadastro de categorias. ==== Pessoas ==== Um ponto de atendimento pode ter zero, uma ou mais pessoas vinculadas a ele. Cada pessoa pode ou não ter uma condição no ponto e pode ser ou não o responsável pelo ponto, contanto que haja ao menos outra pessoa que, neste caso, seja ela a responsável, ou seja, em uma lista de uma ou mais pessoas, uma deverá ser a responsável. A condição é um campo livre informado pelo usuário. Não poderá haver duplicidade de pessoas alocadas a um ponto de atendimento. Na lista de pessoas devem ser exibidos os campos Nome, CPF/CNPJ, Condição e a indicação se é ou não Responsável pelo ponto de atendimento. ==== Localização ==== Define a localização física do ponto através do seu endereço. O usuário pode escolher um logradouro e um bairro dentre os bairros do logradouro selecionado. A localização do ponto não é obrigatória pois, dependendo do uso, o ponto de atendimento pode não estar vinculado a um logradouro específico. ==== Feições ==== As feições são utilizadas para a identificação e localização de um ponto de atendimento no mapa. Elas podem ser ordenadas para que a primeira feição apareça primeiro nos mapas com os dados mais detalhadas do ponto de atendimento. As feições podem ser criadas manualmente, uma a uma, ou podem ser importadas em lote de um arquivo com a extensão .kml. Mais informações sobre o cadastro de feições e coordenadas podem ser encontradas [[softwares:geoservicos.online:requisitos:gerais:gestao_coordenadas|aqui]]. ==== Fotos ==== O ponto de atendimento permite a vinculação de fotos que ajudam na identificação e localização de determinado ponto. As fotos podem ser importadas para o formulário de cadastro, tanto na criação, como na edição de um ponto de atendimento. A origem das fotos pode ser, tanto o diretório de arquivos do computador do usuário, como a captura de uma nova imagem a partir da câmera do dispositivo utilizado pelo usuário, seja um smartphone ou tablet. O cadastro de ponto de atendimento não limita o número de fotos vinculadas. Há, no entanto, duas restrições: o tamanho máximo permitido para o arquivo é de 5MB e as extensões suportadas para os arquivos, são JPG, JPEG e PNG. Arquivos que não se enquadram a estas especificações de restrição não serão importados. As fotos podem ser inseridas ou removidas do cadastro de ponto de atendimento, tanto na criação, como na edição. Na visualização dos detalhes do ponto de atendimento, é possível visualizar as imagens em miniatura em formato de galeria, assim como em tamanho expandido, a partir de um clique na imagem. Quando o usuário anexar uma foto, o sistema irá fazer o upload da foto e exibir, abaixo dela, um checkbox para que o usuário defina se quer ou não que seja criada uma feição com as informações extraídas dos metadados da imagem. ==== Fotos 360° ==== O ponto de atendimento permite a vinculação de fotos 360° para os clientes que possuem o bucket configurado no cadastro de cliente. As fotos são salvas no bucket do cliente dentro de uma pasta com id único do ponto de atendimento. Ao importar as fotos elas são ordenadas pelo nome e renomeadas de acordo com a sequência, apenas fotos georreferenciadas são importadas, caso alguma das fotos não possua o upload vai ser cancelado. A altura da foto é descontado 3 metros do carro. ==== Fotos em alta definição ==== O ponto de atendimento permite a vinculação dos links das fotos em alta definição para exibição online. Para que a exibição consiga carregar os dados é preciso que a pasta com os arquivos tenha permissão de acesso público. O link deve apontar para a pasta raiz dos arquivos de imagem. A listagem de fotos em alta definição exige que para adicionar um item é necessário inserir o link e o nome da pasta. ==== Campos personalizados ==== Os campos personalizados da categoria escolhida, quando existirem, devem estar disponíveis no cadastro do ponto de atendimento. A interface deve se adaptar para exibir os campos dinamicamente, separados em grupos, conforme definido na categoria. Sempre que a categoria for selecionada ou alterada, os respectivos campos deverão ser mostrados em branco para que o usuário possa preenchê-los. ==== Dados ==== Um ponto de atendimento deve possuir os seguintes campos: |< 100% 19% 60% 7% 7% 7%>| ^ Campo ^ Descrição ^ Tipo ^ Tamanho ^ Obrigatório? ^ |** Dados do Ponto de Atendimento** ||||| |Departamento |Departamento que o ponto pertence | Número | -- | Sim | |Nome |Nome do ponto | Texto | 80 | Sim | |Grupo |Nome do grupo do ponto de atendimento | Texto | 60 | Não | |Categoria |Categoria do ponto de atendimento | Texto | 60 | Sim | |Documento |Número do documento | Texto | 50 | Sim | |Ativo |Se o ponto está ativo ou não | booleano | -- | Não | |** Pessoas ** ||||| |Lista de pessoas |Lista de [[softwares:geoservicos.online:requisitos:modulos:pessoas|pessoas]] vinculadas ao ponto | Objeto | -- | Não | |Condição |Condição de uma pessoa vinculada ao ponto de atendimento | Texto | 80 | Não | |Responsável pelo ponto |Representação a indicação de que uma pessoa é a responsável pelo ponto de atendimento | booleano | -- | Sim | | **Endereços** ||||| |Logradouro |[[softwares:geoservicos.online:requisitos:modulos:enderecos|Logradouro]] onde se localiza o ponto de atendimento | Selecionável | -- | Não | |Bairro |[[softwares:geoservicos.online:requisitos:modulos:enderecos|Bairro]] onde se localiza o ponto de atendimento | Selecionável | -- | Não | |Número |Número da localização do endereço | Texto | 05 | Não | |Cep |Código de endereçamento postal do ponto de atendimento | Número | 09 | Não | |Complemento |Campo aberto para complemento do endereço do ponto | Texto | 50 | Não | |Referência |Campo que indica uma referência de localização do ponto | Texto | 100 | Não | | **Feições** ||||| |Feições |Lista de feições com [[softwares:geoservicos.online:requisitos:gerais:gestao_coordenadas|coordenadas]] geográficas no sistema UTM | Objeto | -- | Não | | **Fotos** ||||| |Arquivo de imagem |Lista de fotos vinculadas ao ponto de atendimento, armazenadas na forma de arquivos anexados | Objeto | -- | Não | | **Fotos em alta definição** ||||| |Lista de links |Lista dos links das pastas com as fotos em alta definição | Objeto | -- | Não | | **Fotos 360°** ||||| |Arquivo de imagem 360° |Lista de fotos 360° salvas no bucket do cliente | Objeto | -- | Não | |** Outras informações ** ||||| |Observações |Dados adicionais | -- | 500 | Não | |** Campos Personalizados ** ||||| |Campos personalizados |Campos personalizados cadastrados em categoria | Objeto | -- | Não | ===== Configurações e preferências do usuário ===== ==== Categorias ==== O cadastro de um ponto de atendimento depende do cadastro de categorias. Ao incluir um novo ponto de atendimento, o usuário deve ter a opção de selecionar uma categoria cadastrada para que o campo categoria no cadastro do ponto já comece preenchido com a categoria escolhida. Ao selecionar uma categoria do tipo numeração automática o sistema bloqueia o campo para gerar o número quando a categoria for salva. Caso um ponto de atendimento com categoria automática seja alterada, e troque o tipo de categoria para outro, e volte para numeração automática novamente, será gerado um novo número. A tela [[softwares:geoservicos.online:requisitos:gerais:localizacao|localização]] só deve exibir categorias que pertencem ao departamento selecionado. ==== Visualização no mapa ==== Na listagem de pontos de atendimento, o usuário deve poder exportar todos os pontos filtrados que contenham coordenadas para visualização no mapa. Além dos pontos listados, o usuário poderá escolher se quer exportar os logradouros, bairros, distritos, os pontos vinculados e as pessoas vinculadas a estes pontos. * Os exportar os dados para o mapa, só devem ser exibidos os pontos de atendimento que possuírem ao menos uma feição; * Cada ponto de atendimento deve ser exibido apenas uma vez, independente da quantidade de atendimentos prestados para ele; * O sistema deve alertar que todos os registros podem ser exibidos no mapa quando não houver filtros ativos ao acionar a ferramenta de mapa; * Os pontos de atendimento filtrados ao acionar a exportação deve ser listados no mapa com a lista de características das suas feições (quando houver) e com todos os seus dados vinculados: pessoas, atividades e outros pontos de atendimento; * Os pontos de atendimentos listados na tela de consulta devem ser exibidos no mapa com um marcador para cada feição, sendo: * O marcador da primeira feição deverá conter as características da feição e os detalhes do ponto (pessoas, atividades, pontos vinculados, atendimentos e campos personalizados); * Neste marcador, devem ser listados somente os atendimentos que o perfil do usuário permite visualizar. * Os marcadores das demais feições, quando existirem, deverão conter apenas as características de cada feição; * Os distritos, bairros e logradouros, quando o usuário selecionar estas opções, devem aparecer no mapa somente se possuírem ao menos uma feição; ==== Incluir vários atendimentos ==== Na listagem de pontos de atendimento, o usuário deve poder selecionar os pontos de atendimento que terão atendimentos criados. * Os pontos selecionados devem pertencer ao mesmo departamento; * O usuário será redirecionado para a tela de cadastro de atendimento; * O número do atendimento será incrementado automaticamente caso ele não seja alterado; * Ao salvar o atendimento ele retorna para a listagem de ponto de atendimento; ==== Importar dados por arquivo excel ==== No grid de pontos de atendimento o usuário pode importar arquivo excel com os pontos para serem adicionados. * É possível baixar o modelo de arquivo excel selecionando o departamento e a categoria que será usada como base; * O modelo será gerado com uma página para cada aba do módulo: Dados, Pessoas, Feições e Campos personalizados; * Dados: todas as informações da aba dados e endereço, caso as colunas de endereço sejam preenchidos as informações de logradouro, bairro e cep devem ser preenchidos com valores válidos cadastrados no sistema; * Pessoas: Pode ser adicionado varias pessoas para um ponto de atendimento, para identificar uma pessoa deve ser informado o CPF ou Cnpj da pessoas cadastrada no sistema; * Feições: todas as informações de feição incluindo características e coordenadas. Em características os valores devem ser informados no formato [descrição] [,] [valor] [|] e assim por diante, por exemplo, Nome,Casa 1 | descrição, primeira casa * Campos personalizados: será criada uma coluna para cada campo personalizado da categoria, os tipos aceitos são: Texto simples, Texto multilinhas, Número inteiro, Número decimal, Data, Hora e Lista. * Os campos obrigatórios são destacados pela cor laranja e por um *; * As páginas tem uma coluna de identificador que é responsável por fazer o relacionamento entre os pontos de atendimento e os outros dados; ===== Observações ===== * A listagem de departamento são todos os departamentos que o usuário pertence, por padrão ele já vem com o primeiro departamento pré-selecionado. * No grid deve aparecer as colunas com os campos personalizados usados em todos os pontos de atendimento daquele cliente, cso o ponto de atendimento não possui o campo personalizado para determinada coluna o valor que parecera será "-", pontos de atendimento que o campo personalizado existir mas não possui valor a coluna ficara em branco * No cadastro ao alterar o departamento todos os dados do módulo são limpos * Não é possível alterar o departamento na edição do registro * Links de foto em alta definição, que já estavam salvas antes de incluir o campo nome, para não ter um erro obrigando o usuário a incluir o nome para cada item, vai ter o link da pasta copiado o nome.