La plupart des systèmes de réservation sont conçus pour une seule chose. Réservez une table. Réservez une voiture de location. Achetez un billet. Kiewiet avait besoin de quelque chose de différent: un système pour gérer la location de vélos, le ramassage et la livraison des bagages à travers l'île, et les réservations de transfert de passagers avec un magasin les reliant.
Nous l'avons construit dans TERM052__, et il gère les trois sans compromis.
Pourquoi 4D
4D n'est pas un nom familier dans le monde du développement Web, et c'est précisément pour cela que nous le recommandons parfois. Pour les applications back-office complexes et exigeantes en matière de données en particulier dans les PME et les contextes opérationnels européens 4D offre quelque chose que les piles Web à usage général ne possèdent pas: une base de données, un serveur d'applications et un environnement de développement étroitement intégrés dans un seul produit.
Il n'y a pas de couche ORM à combattre. Il n'y a pas de désaccord d'impédance entre votre modèle de données et votre langage de requête. Il n'y a pas de pipeline de déploiement impliquant six services distincts. Vous définissez vos tables, écrivez vos méthodes et le système fonctionne.
Pour Kiewiet, cela signifiait que nous pouvions construire une logique d'affaires extrêmement dense des périodes de location qui se chevauchent, des horaires de bagages basés sur les itinéraires, des règles de tarification saisonnières, des calendriers de disponibilité sans les frais généraux de l'orchestration d'une architecture de microservices qui serait trop coûteux pour le problème.
Ce que le système gère
L'application Kiewiet gère trois flux opérationnels distincts à partir d'un seul back-office:
- Location de vélos: disponibilité de la flotte, réservations de plusieurs jours, dossiers clients, suivi des dépôts et tables de taux saisonniers
- Transports de bagages: Planification des itinéraires dans les zones insulaires, temps de ramassage Windows, contraintes de poids et de volume et tâches du conducteur
- Transports en ferry: Intégration des horaires, réservations de groupe et manifestes de voyageurs
Ce ne sont pas trois modules séparés reliés. Les données sont réellement partagées un client qui prend un vélo a également ses bagages transférés et son passage de ferry enregistré, et le back-office voit tout cela dans un seul enregistrement.
L'interface Web
Le flux de réservation orienté vers le client est intégré dans PHP avec un front-end JavaScript propre. 4D expose une API interne que la couche PHP consomme, gardant la couche de présentation complètement séparée de la logique commerciale. Cela signifie que nous pouvons répéter sur le site Web sans toucher à l'application 4D de base, et le système 4D peut être mis à jour sans casser le front-end.
On court sur une île.
Ameland est une île du Wadden avec des pics saisonniers du tourisme. En été, Kiewiet traite des centaines de réservations par semaine. Le système doit être fiable, rapide et exploitable par le personnel qui ne sont pas ingénieurs logiciels.
Le résultat est un système que l'équipe Kiewiet gère elle-même, sans nous appeler pour des opérations de routine.