Fieldforce Management

Overview

Fieldforce Management is a multi-tenant SaaS module built on the existing organization infrastructure. It enables organizations to dispatch tasks to field teams, track execution, log completion proof (notes, photos, signatures), and verify quality — with AI powering the workflow.
The module serves three primary use cases: Service (repair/installation), Sales (territory visits), and Logistics/Delivery (routing and proof of delivery).

System Architecture

The architecture relies on a shared Go backend and two frontend surfaces:
  • Panel (Desktop): Built with SolidStart for full table views, bulk actions, and side-by-side management. Uses offset pagination and assumes always-online connectivity.
  • Mobile Web: Built with Astro + Qwik for touch-friendly interfaces, quick status updates, and offline capabilities. Uses cursor-based infinite scroll.

Data Model

The core entities revolve around Tasks and Activities. All data is scoped by org_id to enforce multi-tenancy.

Key Architectural Decisions (ADRs)

Roles & Access Control

Fieldforce inherits the existing org permissions system. No new roles were created; instead, existing roles receive fieldforce-specific scopes:
  • Admin/Owner: Full visibility and management.
  • Manager: View all org tasks, assign, and approve.
  • Supervisor: View and manage tasks for their own team members.
  • Field Team: View own tasks, update status, and log activities.
Supervisor scope is resolved dynamically by reading the supervisor’s team_ids from the shared member table and querying all members sharing at least one team ID (ADR-0017). This ensures there is no replication of team membership into a Go-owned table, maintaining the bounded context.

Implementation Modules

Detailed implementation specs can be found in the respective platform documentation: