# Conflicts and States
URL: https://pro.rv-grid.com/guides/event-scheduler/customization/conflicts-states/
Source: src/content/docs/guides/event-scheduler/customization/conflicts-states.mdx
Description: Customize conflict warnings, empty overlays, loading overlays, and error states.
## Conflict display

Conflict customization is separate from general event rendering so products can apply a consistent warning/error treatment without replacing event content.

```ts
grid.eventScheduler = {
  view: 'resourceTimeline',
  weekStartDate: '2026-06-08',
  customization: {
    conflicts: {
      className: ({ severity }) => `booking-conflict booking-conflict--${severity}`,
      properties: ({ conflictTypes }) => ({
        'data-conflict-types': conflictTypes.join(' '),
      }),
      indicator: (h, { severity }) =>
        h('span', { class: 'booking-conflict__badge' }, severity === 'error' ? 'Blocked' : 'Review'),
      tooltip: ({ label }) => `Planning issue: ${label}`,
    },
  },
};
```

The scheduler still adds built-in conflict classes, data attributes, and severity attributes to event blocks. Custom conflict hooks run only for conflicted segments.

## Empty, loading, and error states

Remote mode and local empty states can use product-specific wording and markup through `labels`, `emptyStateText`, and `customization.emptyState`.

```ts
grid.eventScheduler = {
  view: 'resourceTimeline',
  weekStartDate: '2026-06-08',
  emptyStateText: 'No resources match this view.',
  labels: {
    remoteLoading: 'Loading bookings...',
    remoteError: 'Bookings could not be loaded.',
    remoteEmpty: 'No bookings in this range.',
  },
  customization: {
    emptyState: {
      template: ({ kind, label }) =>
        kind === 'error' ? `Action needed: ${label}` : label,
      properties: ({ kind }) => ({
        class: `booking-scheduler-state booking-scheduler-state--${kind}`,
      }),
    },
  },
};
```

The template can return a string or a DOM node. Property hooks can add classes, style variables, ARIA attributes, and data attributes to the overlay element.
