SIGNALS Documentation
API Reference

Scheduling

Facilities, services, resource assignments, conflicts, timeline UI, iCal, and the connector hook catalogue.

Overview

Signals scheduling is the system of record for demand and assignments. Crew capability matching and external crewing tools sit outside core — they integrate via the Plugin SDK hook catalogue, webhooks, and the resource-assignment API.

Surfaces

Surface Path / name Permission / ability
Resource Timeline UI /scheduling/timeline resource-assignments.access
Facilities API /api/v1/facilities facilities:*
Services API /api/v1/services services:*
Resource assignments API /api/v1/resource-assignments resource-assignments:*
Unscheduled demand GET /api/v1/resource-assignments/unscheduled resource-assignments:read
Conflicts API /api/v1/scheduling-conflicts scheduling-conflicts:*
iCal feeds signed /calendar/feed URLs signature required

Resource types

Live polymorphic resource_type values: account (crew) and facility. vehicle and dispatch_group are schema-reserved for a later fleet phase.

Connector columns

Assignments carry source (core or a plugin/connector id) and optional external_reference (unique per source) for idempotent sync writes.

Plugin hooks (mandatory catalogue)

Hook Type When
assignment.creating Validator Before persist — veto creation
assignment.created Event After create
assignment.status_changed Event confirm / start / complete / cancel
conflict.detected Event Conflict stored on write
demand.unmet Event Cancel leaves service shortfall
assignment.query Filter List / timeline read queries

Webhook event names use the resource_assignment.* and scheduling_conflict.* prefixes — see Webhooks. Hook registration details: Plugin hooks.

Dashboard

The Scheduling conflicts widget (scheduling-overview) shows open conflict counts, unmet demand, and top items linking to the Resource Timeline.