Résumé
Le client gère les réservations et les rendez-vous dans un CRM existant.
La solution est devenue un module de réservation de services intégré au CRM existant, à ses rôles, autorisations et API.
Le module est conçu pour maintenir les opérations de réservation dans le CRM existant.
Histoire du client
Le client est une entreprise de gestion de services située en République tchèque. Elle coordonne les clients, le personnel, les techniciens et les demandes de service via un CRM existant.
Le client gère les rendez-vous en attente et le personnel affecté dans le CRM. Les informations clients, les ressources et les statuts des commandes font partie du même processus.
La demande était simple : ajouter des flux de réservation et de planification sans remplacer le CRM, modifier les autorisations actuelles ni perturber les données et intégrations existantes.
La solution a été structurée en panneaux distincts pour les administrateurs, les utilisateurs et le personnel. Elle relie la gestion des réservations à la facturation et à la réservation de ressources.
Les notifications et les intégrations API sont restées intégrées à la structure du CRM.
Le client souhaitait
- Gérer les réservations, dossiers, tâches, ventes, factures et demandes de service.
- Connecter les systèmes internes, les services tiers et les plateformes externes.
- Fournir aux utilisateurs un accès basé sur les rôles avec des interfaces distinctes.
- Fonctionner de manière adaptative sur ordinateur, tablette et mobile.
Pourquoi les logiciels prêts à l'emploi ne convenaient pas
Un module personnalisé s'intégrait à la base de code, aux rôles, aux autorisations et aux panneaux du CRM existant. Il reliait également la gestion des réservations à la facturation et à la réservation de ressources.
Présentation du projet
La solution a été conçue autour du CRM existant, et non comme une plateforme de réservation distincte. Laravel 11, MySQL et Nwidart Modules ont permis d'intégrer les fonctions de réservation à la structure actuelle de l'application.
Pour gérer le flux opérationnel principal, un tableau de bord de réservation a été mis en place pour les rendez-vous en attente, les fiches clients et le personnel affecté. Il inclut également les statuts des réservations et les mises à jour du statut des commandes.
Des panneaux distincts pour les administrateurs, les utilisateurs et le personnel préservent les rôles et autorisations existants. Le personnel voit les réservations qui lui sont affectées et les notifications, tandis que les administrateurs gèrent les paramètres du module et les fonctions CRM optionnelles.
Une attention particulière a été accordée à la facturation, à la réservation de ressources et aux WebSockets. Les API REST relient le module aux systèmes internes et aux services externes.
Le principal défi consistait à ajouter de nouvelles fonctions opérationnelles sans modifier l'infrastructure actuelle du client. Le suivi des factures et l'historique des modifications ont ainsi pu être ajoutés sous forme de modules distincts.
Des modules CRM personnalisés et des intégrations API pourraient également être ajoutés ultérieurement.
Fonctionnalités clés livrées
- Tableau de bord des réservations avec rendez-vous en attente
- Gestion des rendez-vous clients
- Contrôle des statuts des réservations
- Sélection du personnel et des ressources affectés
- Formulaires de rendez-vous adaptatifs
- Panneaux administrateur, utilisateur et personnel basés sur les rôles
- Notifications de réservation en temps réel
- Options d'historique des factures et des modifications
- Intégrations d'API REST et de webhooks