Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

resource_conflict

89 sites Security covered
View on drupal.org

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]).

Activity

Total releases
5
First release
Nov 2025
Latest release
4 months ago
Release cadence
5 days
Stability
0% stable

Release Timeline

Releases

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