Vérification des réservations de salles pour conflits horaires
Les réservations de salles avec conflits horaires sont identifiées automatiquement : les données de réservation sont reçues via un webhook, les conflits temporels dans une même salle sont analysés et une liste structurée des conflits est renvoyée. Les entrées incorrectes sont clairement refusées. Idéal pour les organisations gérant les réservations de salles de façon numérique et souhaitant éviter les chevauchements. Le résultat structuré s’intègre directement dans les processus ultérieurs.
Les organisations, entreprises ou équipes effectuant régulièrement des réservations de salles en ligne et souhaitant éviter les chevauchements bénéficieront de ce workflow. Les données de réservation, comprenant des champs comme id, room, start et end, peuvent être soumises au format JSON via un webhook POST. Le workflow vérifie automatiquement si des réservations pour une même salle se chevauchent dans le temps et génère une liste structurée de tous les conflits détectés. Les entrées erronées ou incomplètes sont rejetées avec des messages d’erreur explicites. Cette solution est particulièrement utile pour les systèmes internes de réservation, les intégrations de calendriers ou comme étape préalable à des notifications. L’authentification du webhook doit être activée séparément dans n8n pour empêcher tout accès non autorisé. L’exécution et le stockage des données s’effectuent au sein de n8n ; la protection des données et la conservation doivent être configurées en conséquence. La solution est flexible et peut être adaptée, par exemple, pour ajouter des champs ou des notifications.
Image générée par IA
Installation
1. Importez le workflow dans n8n.
2. Sélectionnez le nœud Webhook et copiez l'URL du webhook de test.
3. Configurez l'authentification du webhook dans n8n (recommandé).
4. Lancez le listener de test dans n8n.
5. Envoyez un POST d'exemple avec Content-Type application/json à l'URL de test (voir exemple d'utilisation).
6. Vérifiez le résultat et activez/publiez le workflow en cas de succès.
7. Utilisez l'URL de production du nœud Webhook et contrôlez les droits d'accès.
Utilisation
Exemple de requête POST réussie :
```json
{
"bookings": [
{"id": "A", "room": "101", "start": "2024-06-01T09:00:00Z", "end": "2024-06-01T10:00:00Z"},
{"id": "B", "room": "101", "start": "2024-06-01T09:30:00Z", "end": "2024-06-01T11:00:00Z"}
]
}
```
Réponse attendue :
```json
{
"status": "conflicts",
"conflicts": [
{"room": "101", "firstId": "A", "secondId": "B"}
],
"byRoom": {"101": ["A", "B"]},
"total": 2
}
```
Statut HTTP : 200
Exemple d'entrée erronée (tableau bookings vide) :
```json
{
"bookings": []
}
```
Réponse :
```json
{
"status": "error",
"message": "bookings muss ein nicht-leeres Array sein."
}
```
Statut HTTP : 200
Remarques :
- Les champs id, room, start, end sont obligatoires pour chaque réservation.
- Les dates doivent être au format chaîne ISO-8601.
- L'authentification du webhook doit être activée séparément dans n8n.
- Les entrées et résultats sont stockés dans n8n ; respectez la protection des données.
Connexions et APIs nécessaires
Connexions API
Aucun identifiant API enregistré n'a été détecté dans le JSON du workflow. Vérifiez tout de même les webhooks, systèmes cibles, identifiants et la protection des données avant l'activation.
Nœuds
WebhookCodeRespond to Webhook
Test fonctionnel isolé réussi
Test fonctionnel isolé facultatif
Le flux de données isolé a été testé sans services externes ni identifiants.
✓ 5 tests réussisAfficher les cas testésMasquer les cas testés
✓ Cas normal avec données complètesVérifie le parcours standard complet avec des données d'exemple valides.Test fonctionnel isolé réussi✓ Variante ou cas limiteVérifie une variante valide ou un cas limite important.Test fonctionnel isolé réussi✓ Règle de traitement supplémentaireVérifie la règle de traitement métier supplémentaire de ce workflow.Test fonctionnel isolé réussi✓ Entrée invalide ou incomplèteVérifie que les données invalides ou incomplètes sont rejetées de façon contrôlée.Test fonctionnel isolé réussi✓ Entrée videVérifie qu'une requête vide reçoit une réponse contrôlée.Test fonctionnel isolé réussi