Resumo
O cliente gere reservas e marcações num CRM existente.
A solução tornou-se um módulo de reserva de serviços integrado com o CRM existente, as funções, permissões e APIs.
O módulo foi criado para manter as operações de reserva dentro do CRM existente.
História do cliente
O cliente é uma empresa de gestão de serviços da República Checa. Coordena clientes, funcionários, técnicos e pedidos de serviço através de um CRM existente.
O cliente gere marcações pendentes e funcionários atribuídos no CRM. Os dados dos clientes, recursos e estados das encomendas fazem parte do mesmo trabalho.
O pedido era simples: adicionar fluxos de reserva e agendamento sem substituir o CRM, alterar as permissões atuais ou afetar os dados e integrações existentes.
A solução foi estruturada em painéis separados para administradores, utilizadores e funcionários. Ligou a gestão de reservas à faturação e à reserva de recursos.
As notificações e integrações de API continuaram a fazer parte da estrutura do CRM.
O cliente pediu
- Gerir reservas, casos, tarefas, vendas, faturas e pedidos de serviço.
- Ligar sistemas internos, serviços de terceiros e plataformas externas.
- Disponibilizar aos utilizadores acesso baseado em funções, com interfaces separadas.
- Funcionar de forma responsiva em computadores, tablets e dispositivos móveis.
Porque o software pronto não era adequado
Um módulo personalizado integrou-se na base de código, funções, permissões e painéis do CRM existente. Também ligou a gestão de reservas à faturação e à reserva de recursos.
Visão geral do projeto
A solução foi concebida em torno do CRM existente, e não como uma plataforma de reservas separada. Laravel 11, MySQL e Nwidart Modules mantiveram as funções de reserva dentro da estrutura atual da aplicação.
Para gerir o fluxo operacional principal, foi disponibilizado um painel de reservas para agendamentos pendentes, registos de clientes e funcionários atribuídos. Também inclui estados das reservas e atualizações do estado das encomendas.
Painéis separados para administradores, utilizadores e funcionários preservam as funções e permissões existentes. Os funcionários veem as reservas atribuídas e as notificações, enquanto os administradores gerem as definições do módulo e funções opcionais do CRM.
Foi dada especial atenção à faturação, reserva de recursos e WebSockets. As APIs REST ligam o módulo a sistemas internos e serviços externos.
O principal desafio foi adicionar novas funções operacionais sem alterar a infraestrutura atual do cliente. Assim, o acompanhamento de faturas e o histórico de alterações puderam ser adicionados como módulos separados.
Também poderiam ser adicionados posteriormente módulos CRM personalizados e integrações de API.
Principais funcionalidades entregues
- Painel de reservas com agendamentos pendentes
- Gestão de marcações de clientes
- Controlo do estado das reservas
- Seleção de funcionários e recursos atribuídos
- Formulários responsivos de marcação
- Painéis de administradores, utilizadores e funcionários baseados em funções
- Notificações de reservas em tempo real
- Opções de histórico de faturas e alterações
- Integrações com API REST e webhooks