Realizado

Plataforma de Agendamento de Horários para Quadras Carrijo

Publicado em 30 de Junho de 2015 dias na TI e Programação

Sobre este projeto

Aberto

Em suma preciso de uma plataforma de marcação de horários online da minha Quadra de esportes. São 4 quadras. Preciso integrar o serviço com envio de sms para os clientes que marcaram jogos, disponibilizando inclusive a opção de "cancelar" o horário cancelado para o cliente que responda gratuitamente a sms.
Será necessário um dashboard com os dados principais, uma gama de relatórios com os dados dos clientes, um painel de administrador para controlar a entrada de novos clientes, desmarcação de horários, marcação.
O prazo para a execução do projeto é de no máximo 20 dias.

Requisitos principais:

1.    Criar uma hospegadem para o site da Quadra.
2.    Clientes devem fazer login pelo facebook ou google completando email e telefone mesmo tendo entrado pelo facebook (forçar visualmente o cadastro pelo facebook ou google). Caso não possua facebook deve fazer cadastro simples: nome + email + telefone.
3.    O login deverá ser protegido por uma camada captcha + confirmação de cadastro no email (com exceção de login via facebook ou google). A senha e o email de cadastro poderão ser alterados futuramente pelos usuários.
4.    Será necessário aceitar um termo de uso que ainda estou bolando.
5.    Clientes vão acessar e marcar o horário como no layout de um cinema. Nas colunas as quadras e as datas, nas linhas os horários. Funcionará como uma agenda de horários.
Assim como as agendas existentes hoje, deverá existir uma opção de modificar “somente este evento” ou “todos os eventos futuros”.
6.    O cliente deverá escolher uma das modalidades a seguir: voleybol, basquete, futsal, handball e peteca que irá levar para o quadro de horários. O administrador máster (AM)  deverá ser capaz de alterar quando quiser a disponibilidade prevista de cada quadra para cada modalidade. Por exemplo, na quadra 4 só se joga peteca.
Portanto, ao selecionar a modalidade peteca, os outros horários deverão se bloquear e se tonalizarem com a cor vermelha de bloqueio, deixando livre apenas os horários da quadra 4. Contudo, como AM posso mudar isso futuramente. Implementar uma modalidade diferente na quadra.
Portanto, deve existir uma opção de cadastrar modalidade e vincula-lá a quadra adequada. Esse cadastro poderá ser editado a qualquer momento pelo AM.
7.    Após selecionar a modalidade, também poderá escolher entre marcar o racha fixo (evento único) x racha esporádico (evento que se repete toda semana). Atenção: é preciso que o sistema esteja “treinado” para evitar falhas. Se um racha que é fixo foi desmarcado somente naquele dia, outro racha fixo não poderá ser marcado sobre ele, devendo aparecer a mensagem de alerta para quem o tentar e impossibilitando a marcação.
Por outro lado, se um racha fixo é cancelado, outro esporádico poderá ser marcado sobre ele naquele dia e o sistema deverá mostrar para o cliente interessado esse quadro de horário de modo disponível (azul claro).
8.    O mesmo cliente não poderá marcar horário coincidente no mesmo dia.
9.    O cliente poderá inserir um cupom de desconto que deverá ser validado pelo próprio sistema na inserção. Deverá existir uma opção de cadastro de cupons manualmente por meio de importação de arquivos do excel com o “códido do cupom” e a “mensagem” que deverá aparecer relativa ao benefício que o cliente deverá ganhar com esse cupom.
10.    Quando fizerem o cadastro na plataforma, os clientes deverão ser questionados se podem colocar seu nome à disposição na lista "completa racha". Se sim, deve preencher esse cadastro respondendo “dia de preferência” (listar os dias da semana que podem ser mais de um escolhidos) + “modalidade” (pode ser até duas modalidades das que estão cadastradas) + “posição” (texto para o cliente escrever) + “contato para ser procurado por outros clientes” (texto para o cliente escrever).

11.    No site deverá existir páginas institucionais com “quem somos”, “galeria de fotos”, "quem somos”, “contato e como chegar", "blog”.
12.    Deverá existir um blog com opção de cadastro de texto por todos os níveis de administrador, com possibilidade de upload de fotos, aprovação de comentários, avaliação dos comentários (não devem ser permitidos comentários anônimos).
13.    perfis de acesso: (a) administrador máster (am) que poderá além de ter os acessos do perfil administrador, editar senhas, excluir e criar contas de acesso e operar todas as opções de cadastro no site, (b) administrador simples (as) que poderá marcar e remarcar jogos, baixar relatórios, desmarcar jogos, acessar o dashboard e (c) cliente que poderá marcar e desmarcar jogos, bem como acessar as páginas de “lista completa rachar”.
14.    Deverá existir uma lista “completa racha” que é de acesso exclusivo para os perfis logados (não é disponível para o público). O AM poderá remover clientes desta base clicando com o mouse direito e o excluindo.

15.    Deverá existir uma opção de reversão no site para desfazer a última ação feita de cadastro ou descadastro por parte do AM.
16.    Deverá existir um painel de administrador (PA) para os perfis administradores com: opção para poder marcar um horário e remanejar os horários (cancelar uma equipe que avisou que não irá mais, cancelar um horário que ligaram por tel para avisar). Os administradores poderão arrastar os horários dos clientes pela agenda.
Antes, contudo de ser feito a conclusão de qualquer ação, como o arraste, deverá ser consultado a confirmação da ação.
17.    No PA deverá existir o painel de horários com a grade disponível, podendo se movimentar ao longo do tempo (Deverá existir um calendário do lado esquerdo para que possa ser selecionado a semana que se deseja ir. Contudo deverá sempre ser aberto automaticamente na semana corrente).
Através dessa agenda de horários, os administradores fazer as ações relacionadas a marcação dos jogos. Deverá ser a mesma grade que aparece para os clientes, contudo com um nível maior de detalhes: ao se clicar com o mouse direito sobre o cliente, o administrador poderá ver (a) informações (ao clicar poderá ver nome de cadastro, telefone, foto do face ou google, qde de jogos que tem); (b) desmarcar (opção de desmarcar, perguntar se é no dia ou para todos os eventos); (c) remarcar para (aparecer opção de seleção da data e hora); (d) faltou (opção de registrar que o cliente faltou); (e) duplicar (duplicar o evento com o mesmo cliente, modalidade, etc, só aparecendo para escolher a data e a hora).
18.    Quando o administrador quiser marcar um jogo ele poderá começar a digitar o nome do cliente que deverá ser buscado na lista dos clientes já cadastrados e se completar automaticamente se for selecionado, bem como também poderá digitar um nome que ainda não existe na base de cadastro dos clientes.
19.    O administrador poderá no PA cadastrar um “novo cliente” colhendo ele mesmo as informações de cadastro solicitadas (nome, email, telefone). Para acesso futuro de login, ele deverá usar o email cadastrado com a senha “QuadrasCarrijo” que deverá ser solicitada a alteração no primeiro acesso que ele fizer.

20.    Todo o registro desses logs e movimentações no site deverá aparecer no painel administrador como relatório de últimas atividades numa parte lateral com o nome do usuário que fez a ação.
21.    No pa deverá existir uma lista de clientes (deverá estar na página principal do pa junto com a grade) com a classificação dos clientes que mais faltam, e também com a classificação dos clientes que há mais tempo não vão na quadra com a quantidade de dias de distância e a última modalidade e dia da semana jogado (essa lista deverá se alterar de acordo com o dia -> o algoritmo deve levar em conta o dia de visualização dessa lista, aparecendo na frente os clientes que mais distantes que jogaram neste dia).
22.    Deverá existir uma parte do PA que é para gerar relatórios: (A) de clientes (todas as informações de cadastro + código do cliente + status do cliente (ativo ou excluído pelo AM) + dia de cadastro + primeiro jogo + último jogo + quantidade de jogos desmarcados + quantidade de jogos faltosos + quantidade de jogos presentes + qde de jogos de cada modalidade cadastrada + informações da lista completa racha), (B) de jogos com todo o histórico de horários marcados (com status, modalidade, data e hora, cliente) + (C) relatório de resultado das pesquisas + (D) relatório de últimas atividades do site (com usuário que fez + ação executada) + (E) relatório de mensagens enviadas e recebidas (data e hora + cliente enviado + mensagem de envio ou recebimento) + (F) relatório de cupons de desconto utilizados. Todos os relatórios poderão ser filtrados por data de início e data fim + nome do cliente + modalidade (os filtros deverão ser listados para que possam ser escolhidos).
Eles também deverão ter a opção de serem exportados para o excel.
23.    Enviar mensagem 24h antes confirmando o racha para o cliente. Opção de cancelar o racha respondendo a mensagem gratuitamente (responder cancelar todos para desmarcar todos os raxas (em caso de fixo) ou cancelar este (em caso de cancelamento esporádico).
Caso cancele, deixe o horário livre automaticamente no sistema.
24.    Todo cliente que teve um jogo que recebeu a marcação de “falta” ou “desmarcado” no pa deverá receber uma mensagem sms no dia seguinte às 10h dizendo: “olá fulano, ontem sentimos sua falta nas quadras carrijo. Aguardamos você e seus amigos na semana que vem”.

25.    A desmarcação poderá ser feita a qualquer momento por qualquer usuário.
26.    A marcação poderá ser feita até 20min antes.
27.    Custo de envio de mensagem: apontar o serviço adequado
28.    Criar possibilidade de criar uma pesquisa para os clientes: fazer pesquisa por sms + pesquisa no site + criar opção de pesquisa obrigatória pós login (com pop up aparecendo na frente do cliente) ou pesquisa facultativa (pop up aparece, mas há opção de fechar).
As perguntas poderão ser formuladas para serem respondidas com textos, ou opções de números ou textos.
29.    O administrador poderá criar um evento (jogo) na agenda em que não é necessário vincular ao nome de nenhum cliente, apenas marcar a opção “escolinha” ou “campeonato”. Estes deverão ser “o nome do cliente que jogou” no relatório de jogos.
Cliente com nome "campeonato" e "avulso" que poderá ser registrado pelo administrador (para contabilizar um horário de alguém que não quis se cadastrar ou que é de um campeonato).
30.    Exista a possibilidade de executar ações na grade de horários de modo retroativo (esses logs também devem aparecer no relatório de últimas atividades do PA).
31.    Criar uma opção de barrar o cliente – somente AM poderá fazer. Este cliente não poderá marcar novos jogos e aparecerá a mensagem de “erro ao marcar jogos”.

32.    Criar tela de acesso do administrador com interface muito clara, intuitiva e simples para que ele possa executar suas várias funções (desmarcar jogos, acompanhar jogos marcados, ver quem tem cupom de desconto ou não, gerar relatórios, etc.). A tela de perfil administrador master deve ser extremamente semelhante, mas com a função de excluir e criar as contas de administradores com perfil menor no sistema.
33.    Criar email institucional para os perfis administradores que forem sendo criados email@quadrascarrijo.com.br (vincular esta conta ao serviço do google - gmail).
34.    Notificar qualquer movimentação dos clientes para todos os perfis administradores por email (desmarcação de jogos + marcação, etc).
35.    Criar possibilidade de enviar mensagem sms para um, alguns ou todos os clientes com um texto redigido manualmente pelo AM.
36.    O site deverá ter um layout e desing bem intuitivo, bombardeando o cliente com caixas de texto do tipo “Reserve seu horário agora” Sites para se espelhar são: https://pagar.me/  ; https://www.lily.camera/http://lemonbr.com/ ; https://contaazul.com ; http://replay4.me/
37.    O login do perfil administrador deverá direcioná-lo automaticamente para o PA.

38.    As marcações de jogos deverão promover pagamentos sociais nas redes sociais dos clientes informando “fulano marcou um jogo nas Quadras Carrijo”.

Categoria TI e Programação
Subcategoria Programação
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho uma ideia geral
Disponibilidade requerida Meio período
Experiência nesse tipo de projeto Não (Eu nunca gerenciei esse tipo de projeto)
Integrações de API Mídias sociais (Facebook, Twitter, etc), Outros (Outras APIs)
Funções necessárias Designer, Desenvolvedor

Prazo de Entrega: 20 de Julho de 2015

Habilidades necessárias