Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Usage Milestone: Google Analytics Module google_analytics crossed 1,000 active installs. Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Release: GraphQL Compose Codegen 1.1.2 Minor update available for module graphql_compose_codegen (1.1.2). Release: Mapy.com 1.1.3 Minor update available for module mapycom (1.1.3). Release: Ckeditor5 entity browser 3.0.3 Minor update available for module ckeditor5_entity_browser (3.0.3). Release: Ckeditor5 entity browser 3.0.1 Minor update available for module ckeditor5_entity_browser (3.0.1). Release: Ckeditor5 entity browser 3.0.2 Minor update available for module ckeditor5_entity_browser (3.0.2). Release: Teamleader Integration 4.0.2 Minor update available for module teamleader (4.0.2). Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

Resource Conflict

84 sites Security covered
View on drupal.org

This module prevents editors from creating duplicate bookings by checking for overlapping time entries in date range fields. It lists conflicting entries and can be configured to add time buffers.

Resource Conflict helps you prevent double-booking of time-based content. It checks nodes that use Date range fields and stops editors from saving entries that overlap with existing ones, listing the conflicting nodes so they can adjust the dates instead of creating duplicates.

Typical use cases include booking rooms, lab equipment, or other shared
resources where only one item should be scheduled for a given time span.

Drupal 10+

Features

  • Validates Date range fields on node forms and blocks overlapping entries.
  • Lists all conflicting nodes so editors can see what is already booked.
  • Also checks conflicts during entity presave, throwing an exception when code tries to save a conflicting node.
  • Supports optional time buffers (for example a few minutes before or after) so events have a bit of padding.
  • Can compare across multiple content types that share the same Date range field, or be limited to a single bundle.
  • Allows you to replace the built-in validation message with your own logic in custom code.

Configuration

  1. Add a Date range field to each content type that should be checked for time clashes.
  2. Edit the content type and open Additional settings → Resource conflict.
  3. Enable conflict checking, pick the Date range field, and, if needed, add start/end buffers using strtotime()-style expressions (for example -5 minutes to pad the start time).
  4. Save the content type configuration.

You can configure multiple bundles this way. When the same Date range field is shared across content types, conflicts can span bundles unless
Restrict conflicts to this content type is checked. You can
also disable the built-in validation message via Show a default
validation error
if you plan to handle conflicts entirely in custom
code.

Integration

Resource Conflict exposes Symfony events so other modules can react to conflicts and adjust behaviour.

  • Symfony events
    • resource_conflict.conflict_validation (Drupal\resource_conflict\Event\ConflictValidationEvent) fires whenever a Resource Conflict–enabled node form validates. Subscribers receive the unsaved node, the form, the form state, and the current list of conflicts so they can add or replace validation before Drupal processes errors.
    • resource_conflict.conflicts_filter (Drupal\resource_conflict\Event\ConflictsEvent) fires after conflicts are gathered and allows subscribers to inspect or filter them before validation errors or presave exceptions are raised.

Drupal 7 and earlier

Resource Conflict also has releases for Drupal 6 and 7 that were built around Rules, Entities/CCK, and Date.

Drupal 7 reached its end of life in January 2025, and Resource
Conflict no longer has an active D7 release. Development and support for D7 are not planned going forward, so the issue queue is focused on Drupal 10+ and newer release lines.

Drupal 7 documentation

Credits

Resource Conflict was originally developed by Andrew Berry
([email protected]) for the Protein Dynamics lab at the
University of Guelph and later rewritten for Rules/Entity integration by
Campbell Vertesi ([email protected]).

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
5
Tracked since
Nov 2025
Latest release
8 months ago
Releases (12 mo)
5 ▲ from 0
Maintenance
Slowing

Release Timeline

Releases

Version Type Core Release date
2.0.0-beta5 Pre-release 10–11 Dec 1, 2025
2.0.0-beta3 Pre-release 10–11 Nov 18, 2025
2.0.0-beta2 Pre-release 10–11 Nov 17, 2025
2.0.0-beta1 Pre-release 10–11 Nov 14, 2025
2.x-dev Dev 10–11 Nov 13, 2025