Skip to content

Create an operation

The create form lives at /operations/new and is rendered as one long scrolling page — not a step wizard. Each boxed panel is a section. Fill what applies and press Create Operation at the bottom; the document is written to missions/{id} on submit and the router then navigates to /operations/{id}.

The Back to operations link (top-left) discards the in-memory form. There is no draft autosave.

Section 1 — Organization

Shown only if your account belongs to more than one org. It selects the orgId stored on the mission and defaults to your active org. The hint text flags that the choice scopes read access: members of other orgs will not see this operation in their list.

Section 2 — Mission Identity

  • Mission Name — required, min 2 chars. Human-readable label.
  • Codename — required, min 2 chars. Shown under the name in the detail hero and used on callsign badges.
  • Description — free-text briefing paragraph, stored in mission.description.

Section 3 — Classification & Priority

  • Mission typesar, recon, surveillance, combat, humanitarian, training, escort, logistics, other. Drives the detail-page hero icon.
  • Status — planning-pipeline state: planning | ready | active | completed | aborted.
  • ClassificationUNCLASSIFIED | RESTRICTED | CONFIDENTIAL | SECRET | TOP SECRET.
  • PriorityLOW | MEDIUM | HIGH | CRITICAL.

Section 4 — Schedule

  • Start date (required) — epoch millis in mission.startOn.
  • End date (optional) — mission.finishedOn, 0 when blank.
  • Half-duplex PTT — when on, the comms tile enforces one-speaker-at-a-time on the TACLINK audio track. Leave off for full-duplex voice.

Section 5 — Command & Control

  • Commander UID — asset UID (not email) of the commanding officer. Shown on the detail page’s Commanding Officer card.
  • Primary POI — short label for the primary point of interest.
  • HQ / OPORD notes — briefing or operations order, rendered verbatim on detail.
  • Tags — comma-separated, normalised to string[] on save.

Section 6 — Objectives, ROE, Comms Plan

Three dynamic list sections with an Add button each.

  • Mission Objectives — each has a priority (primary | secondary | tertiary) and text. completed is always false on create.
  • Rules of Engagement — numbered list of free-text rules.
  • Communications Plan — one card per channel (name, frequency, encryption, callsign, notes).

Section 7 — CAS

The CAS configuration panel is embedded inline. Defaults are sensible for a mixed sUAS team; expand only to tighten or loosen the buffers.

Section 8 — Privacy Blur

Post-processing for recorded video, stored as mission.privacyBlur:

  • Blur faces — blur detected faces in recorded copies.
  • Blur vehicle license plates — same, for plates.

Originals are preserved; redacted copies are produced for sharing.

Section 9 — Area of Operations

A dark-themed Google Map. Pan and zoom to frame your AO — the current map bounds are captured into mission.region.northeast / southwest on submit. Polygons, flags, and flight zones are drawn later inside the live console, not here.

Section 10 — Personnel

Three sub-sections, all feeding into a deduplicated assetIds[] on save:

  • Global teams — adding a team pulls every member in.
  • Individual operatives — email/name/callsign search in the active org.
  • Organizations — adding a whole org pulls its active roster (lazy-loaded).

Roles are not assigned here — operators carry their org-level role into the op.

Section 11 — Mission Media

Photos and videos that travel with the briefing. Files upload to S3 at missions/media/{missionId}/photos/{mediaId} or .../videos/{mediaId} during submit; the s3Key is written back onto each media record.

Submitting

Create Operation validates, uploads media, writes the mission doc, and routes to /operations/{id}. Required-field failures show a red error banner. After creation, every active member of the organisation gets a best-effort operation_created notification.

Tips

  • No draft autosave.
  • To spin up a similar op, use Duplicate from the operations list — it copies the mission plus every subcollection.
  • Commander UID is an asset UID (not an email). Find it in Admin → Assets.
  • Recurring schedules are not supported — schedule one-offs only.
  • Everything in the op runs over TACLINK.