n8n workflow

Check Room Reservations for Time Overlaps Automatically

Overlapping room reservations are detected automatically: Booking data is received via webhook, checked for time conflicts within the same room, and a clear conflict list is returned. Invalid entries are explicitly rejected. This is ideal for organizations that manage room bookings digitally and want to prevent scheduling conflicts. The structured result can be used directly in downstream processes.

Organizations, companies, or teams that regularly book rooms digitally and wish to avoid scheduling overlaps will benefit from this workflow. Booking data—including fields like id, room, start, and end—can be submitted as JSON through a POST webhook. The workflow automatically checks for time conflicts in bookings for the same room and generates a structured list of all detected conflicts. Invalid or incomplete entries are met with clear error messages. This solution is especially useful for internal booking systems, calendar integrations, or as a preliminary stage for notifications. Webhook authentication must be enabled separately in n8n to prevent unauthorized access. Data processing and storage take place within n8n; data protection and retention policies should be configured accordingly. The workflow is flexible and can be adapted for additional fields or notifications.

Check Room Reservations for Time Overlaps Automatically
AI-generated image

Installation

1. Import the workflow into n8n. 2. Select the Webhook node and copy the test webhook URL. 3. Set up webhook authentication in n8n (recommended). 4. Start the test listener in n8n. 5. Send a sample POST request with Content-Type application/json to the test URL (see usage example). 6. Check the result and activate/publish the workflow upon success. 7. Use the production URL from the Webhook node and manage access rights accordingly.

Usage

Example of a successful POST request: ```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"} ] } ``` Expected response: ```json { "status": "conflicts", "conflicts": [ {"room": "101", "firstId": "A", "secondId": "B"} ], "byRoom": {"101": ["A", "B"]}, "total": 2 } ``` HTTP status: 200 Example of invalid input (empty bookings array): ```json { "bookings": [] } ``` Response: ```json { "status": "error", "message": "bookings muss ein nicht-leeres Array sein." } ``` HTTP status: 200 Notes: - The fields id, room, start, end are mandatory for each booking. - Time values must be ISO-8601 strings. - Webhook authentication must be enabled separately in n8n. - Inputs and results are stored in n8n; please observe data protection regulations.

Required connections and APIs

API connections

No saved API credentials were detected in the workflow JSON. Still check webhooks, target systems, credentials, and data protection before activation.

Nodes
WebhookCodeRespond to Webhook

Isolated functional test passed

Optional isolated functional test

The isolated data flow was tested without external services or credentials.

5 tests passedShow tested casesHide tested cases
Standard case with complete dataChecks the complete standard flow with valid sample data.Isolated functional test passed
Variation or boundary caseChecks a valid variation or an important boundary case.Isolated functional test passed
Additional processing ruleChecks this workflow's additional business processing rule.Isolated functional test passed
Invalid or incomplete inputChecks that invalid or incomplete data is rejected safely.Isolated functional test passed
Empty inputChecks that an empty request receives a controlled response.Isolated functional test passed

Buyer feedback

Reviews

No reviews yet.

Back to product