Skip to content

Rule types reference

Complete parameter reference for all rule types in Blecon Track.

Common properties

Every rule has these properties:

Property Type Required Description
rule_name string Yes Human-readable name for the rule
rule_type string Yes One of the types listed below
parameters object Yes Rule-specific configuration
severity string No notification (default), low, medium, high, or critical
apply_to_all_devices boolean No Apply to all tags (default: true)
device_ids array No Specific tag IDs to monitor (when apply_to_all_devices is false)
enabled boolean No Whether the rule is active (default: true)

Severity levels

Level Description
notification Notify-only (the default): sends a notification, not an alert — nothing to acknowledge or resolve
low Informational alert: routine events, logging
medium Warning alert: needs attention but not urgent
high Important alert: needs prompt action
critical Emergency alert: needs immediate response

Any severity other than notification raises an alert that stays open until resolved.

Geofence entry (geofence_entry)

Triggers when a tag enters a location.

Parameter Type Required Default Description
location_id string Yes Zone ID
min_duration_seconds integer No 0 Minimum time inside before triggering

Geofence exit (geofence_exit)

Triggers when a tag leaves a location.

Parameter Type Required Default Description
location_id string Yes Zone ID
min_duration_seconds integer No 0 Minimum time outside before triggering

Geofence containment (geofence_containment)

Triggers when a tag is outside all allowed locations during specified hours.

Parameter Type Required Default Description
location_ids array Yes List of allowed location IDs
check_hours string No All hours Time window (e.g., "09:00-17:00")
check_days array No All days Days of week
timezone string No UTC Timezone for time window

Return to base (return_to_base)

Triggers when a tag hasn't returned to base within a time limit.

Parameter Type Required Default Description
base_location_id string Conditional Base location ID. Use this or zone_tags.
zone_tags array Conditional Match zones with these tags
exclude_zone_ids array No Zone IDs to exclude
max_away_duration_seconds integer No 3600 Maximum away time (1 hour)

Scheduled return (scheduled_return)

Triggers when a tag hasn't returned to base by a daily deadline.

Parameter Type Required Default Description
base_location_id string Conditional Base location ID. Use this or zone_tags.
zone_tags array Conditional Match zones with these tags
exclude_zone_ids array No Zone IDs to exclude
return_by_time string Yes Deadline (e.g., "18:00")
return_by_days array No All days Days to check
timezone string No UTC Timezone for deadline
grace_period_minutes integer No 0 Grace period after deadline

One alert per tag per day. Resets at midnight in the configured timezone.

Inactivity (inactivity)

Triggers when a tag hasn't reported a position.

Parameter Type Required Default Description
max_inactive_duration_seconds integer No 3600 Maximum time without update (1 hour)

Dwell time (dwell_time)

Triggers when a tag stays in a location too long.

Parameter Type Required Default Description
location_id string Conditional Location to monitor. Use this or zone_tags.
zone_tags array Conditional Match zones with these tags
exclude_zone_ids array No Zone IDs to exclude
max_dwell_duration_seconds integer No 3600 Maximum dwell time (1 hour)

Movement detection (movement_detection)

Triggers when a tag moves from where it should stay.

Parameter Type Required Default Description
expected_location_id string Conditional Expected location. Use this or zone_tags.
zone_tags array Conditional Match zones with these tags
check_hours string No All hours Time window to monitor
timezone string No UTC Timezone for time window
min_movement_distance_meters integer No 0 Minimum movement distance

Minimum visit frequency (minimum_visit_frequency)

Triggers when a tag hasn't visited a location recently enough.

Parameter Type Required Default Description
location_id string Conditional Location to visit. Use this or zone_tags.
zone_tags array Conditional Match zones with these tags
exclude_zone_ids array No Zone IDs to exclude
min_visit_interval_seconds integer No 86400 Maximum time between visits (24 hours)

Unknown location (unknown_location)

Triggers when a tag is at an unregistered location.

Parameter Type Required Default Description
alert_after_seconds integer No 3600 Time at unknown location before triggering (1 hour)
exclude_location_ids array No Locations to exclude from "known" check

Zone asset count (zone_asset_count)

Triggers when asset count in a location crosses a threshold. This is a location-level rule; one alert per location, not per tag.

Parameter Type Required Default Description
location_id string Conditional Location to monitor. Use this or zone_tags.
zone_tags array Conditional Match zones with these tags (evaluated independently)
exclude_zone_ids array No Zone IDs to exclude
condition string Yes "below", "above", or "outside_range"
threshold int/object Yes Number for below/above, {"min": X, "max": Y} for outside_range
asset_filter object No All assets Filter which assets to count
check_interval_seconds integer No 300 Cooldown between alerts (5 minutes)

Proximity association (proximity_association)

Triggers when two tag types come near each other or move apart. Used to auto-create asset associations based on physical proximity.

Parameter Type Required Default Description
child_device_type string Yes Tag type of the child asset
parent_device_type string Yes Tag type of the parent asset (must differ from child)
radius_meters number Yes Proximity radius (0–10,000 meters)
trigger string No "dwell" or "co_movement"
dwell_seconds integer Conditional Required when trigger is "dwell". Time in proximity before triggering (1–86,400 seconds).
co_movement_meters number Conditional Required when trigger is "co_movement". Distance threshold for co-movement detection (1–100,000 meters).
alert_on_separation boolean No false Create an alert when an auto-association is removed because the child moved out of range. Only applies to associations created by this rule. For monitoring all associations (including manual ones), use a separation rule instead.

Separation (separation)

Monitors existing asset associations and alerts when a child asset is too far from its parent. Works with any association source (manual, scan, or auto). Supports an optional grace period: the alert starts as pending and promotes to active after the grace period elapses; if the child returns within the grace period, the pending alert is cleared without sending a notification.

Parameter Type Required Default Description
radius_meters number Yes Maximum allowed distance between child and parent (1–10,000 meters)
grace_period_seconds number No 0 Seconds the child must be out of range before the alert becomes active (up to 24 hours)
child_device_type string No Only monitor children of this asset type
parent_device_type string No Only monitor children of parents of this asset type

Trip matching (trip_matching)

Records when two tag types travel from the same origin to the same destination. Creates historical trip records rather than alerts.

Parameter Type Required Default Description
device_type_a string Yes First tag type to match
device_type_b string Yes Second tag type (must differ from type A)
origin_radius_meters number Yes 500 Maximum distance between origin dwells (1–10,000 meters)
destination_radius_meters number Yes 500 Maximum distance between destination positions (1–10,000 meters)
time_window_minutes number Yes 60 How recently both tags must have been seen at the destination (1–1,440 minutes)

Questions? Contact Blecon support — we're happy to help.