Jobs & customersOperator assignment

Operator assignment

Operators don’t ask “what should I cut next” — the dashboard tells them. Job assignment + notification is the spine of the floor workflow.

Assignment

Managers assign jobs to operators in the job detail page (/dashboard/jobs/[id]). The assignment field accepts any user with operator role or higher.

Assignment writes:

  • jobs.assigned_operator_id
  • An entry in the operator’s notification queue
  • An audit_log row

Re-assignment is allowed at any time before completed. The previous operator’s queue updates immediately (the job disappears), and the new operator gets a notification.

The operator queue

Each operator’s queue lives at /dashboard/jobs/queue. It shows:

  • Jobs assigned to them, sorted by priority desc + due date asc
  • A status filter (default: hide completed and shipped)
  • A “claim” affordance for unassigned pending jobs in the operator’s authorized materials

Operators can self-claim unassigned jobs if their role allows it (configured in workspace settings). Default is yes for operator and above.

Notifications

Six event types fire to operators:

EventTrigger
job_assignedA job was assigned to you
job_unassignedA job was reassigned away from you
job_priority_raisedA queued job’s priority went up
job_due_soonA job’s due date is within 24 hours
roll_low_stockAn assigned material crossed reorder threshold
cut_committed_by_otherAudit notification — someone cut on a roll you had reserved

Notifications are in-app only — no email or SMS in the current product. They appear in the bell icon (top right) and on /dashboard/notifications.

Email and SMS notifications are on the roadmap. The current in-app-only design keeps operators focused on the dashboard during shifts.

Priority + due-date sort

The queue sort is:

  1. priority desc (rush > high > normal > low)
  2. due_date asc (earliest first)
  3. created_at asc (older jobs first as a tiebreaker)

This means a rush job created today sorts above a normal job due tomorrow. Tunable per-workspace if you want different defaults.

Cross-shop view (Max tier)

On Max tier, managers can view assignment across multiple shops. The queue at /dashboard/jobs/queue?scope=org shows every operator’s load, sorted by who has the most pending parts. Useful for rebalancing when one shop gets backed up.

See also