Skip to content
  • domains
  • blueprint
  • employment-services
  • processes

Processes and Flows

This document describes end-to-end workflows for the Employment Services SaaS domain: hiring a squad, running an engagement, and billing. It is written for architects, engineers, and product managers understanding business processes.

Business processes define how the Employment Services SaaS operates end-to-end. Understanding these processes helps design event flows, API interactions, and user experiences.

Note

All important business actions are expressed as events to drive agent activation, orchestration, and integration. This aligns with ConnectSoft's event-driven architecture principles.

Core Business Processes

The Employment Services SaaS domain includes these core processes:

  1. Customer Onboards and Creates First Engagement - Customer signs up, creates project, hires squad
  2. Squad Staffing and Kickoff - Squad assigned to engagement, kickoff meeting, work begins
  3. Delivery and Progress Tracking - Work execution, progress tracking, milestone completion
  4. Billing and Renewals - Invoice generation, payment processing, engagement renewal

Process 1 – Customer Onboards and Creates First Engagement

Steps

  1. Customer Signs Up
  2. Customer creates account via portal
  3. Tenant created in Tenant Management
  4. Customer organization created in Customer Accounts
  5. User authenticated via Identity Platform

  6. Customer Creates Project

  7. Customer creates new project via portal
  8. Project created in Project & Engagement context
  9. Project linked to customer organization

  10. Customer Browses Squads

  11. Customer browses available squads
  12. Customer views squad profiles and capacity
  13. Customer selects squad for engagement

  14. Customer Creates Engagement

  15. Customer creates engagement with selected squad
  16. Contract terms defined (scope, pricing, timeline)
  17. Engagement created in Project & Engagement context
  18. Domain event: EngagementCreated

Flow Diagram

flowchart LR
    A[Customer Signs Up] --> B[Create Tenant]
    B --> C[Create Customer Org]
    C --> D[Create Project]
    D --> E[Browse Squads]
    E --> F[Select Squad]
    F --> G[Create Engagement]
    G --> H[EngagementCreated Event]

    style A fill:#e1f5ff
    style B fill:#fff4e1
    style C fill:#e8f5e9
    style G fill:#f3e5f5
    style H fill:#e1f5ff
Hold "Alt" / "Option" to enable pan & zoom

Process 2 – Squad Staffing and Kickoff

Steps

  1. Squad Assignment
  2. System assigns squad to engagement
  3. Assignment created in Squad & Staffing context
  4. Squad capacity checked and reserved
  5. Domain event: SquadAssignedToEngagement

  6. Kickoff Preparation

  7. Project requirements refined
  8. Initial epics and user stories created
  9. Sprint planning initiated

  10. Kickoff Meeting

  11. Kickoff meeting conducted
  12. Project scope confirmed
  13. Communication channels established
  14. Engagement status: Draft → Active

  15. Work Begins

  16. Engagement activated
  17. Work items created in Work Management
  18. Domain event: EngagementActivated

Flow Diagram

flowchart LR
    A[EngagementCreated Event] --> B[Assign Squad]
    B --> C[Check Capacity]
    C --> D{Squad Available?}
    D -->|Yes| E[Create Assignment]
    D -->|No| F[Notify Customer]
    E --> G[SquadAssignedToEngagement Event]
    G --> H[Kickoff Meeting]
    H --> I[Activate Engagement]
    I --> J[EngagementActivated Event]

    style A fill:#e1f5ff
    style E fill:#fff4e1
    style G fill:#e8f5e9
    style J fill:#f3e5f5
Hold "Alt" / "Option" to enable pan & zoom

Process 3 – Delivery and Progress Tracking

Steps

  1. Work Execution
  2. Squad executes work using Factory
  3. Factory generates code and deliverables
  4. Work items updated in Work Management
  5. Progress tracked via events

  6. Milestone Completion

  7. Milestones completed as work progresses
  8. Domain event: MilestoneCompleted
  9. Customer notified of progress

  10. Deliverable Review

  11. Deliverables reviewed by customer
  12. Feedback incorporated
  13. Domain event: DeliverableAccepted or DeliverableRejected

  14. Engagement Completion

  15. All work completed
  16. Final deliverables accepted
  17. Engagement status: Active → Completed
  18. Domain event: EngagementCompleted

Flow Diagram

flowchart LR
    A[Engagement Active] --> B[Squad Executes Work]
    B --> C[Factory Generates Code]
    C --> D[Update Work Items]
    D --> E[Milestone Completed?]
    E -->|Yes| F[MilestoneCompleted Event]
    E -->|No| B
    F --> G[Customer Reviews]
    G --> H{Accepted?}
    H -->|Yes| I[DeliverableAccepted Event]
    H -->|No| J[DeliverableRejected Event]
    J --> B
    I --> K{All Work Done?}
    K -->|Yes| L[EngagementCompleted Event]
    K -->|No| B

    style A fill:#e1f5ff
    style C fill:#fff4e1
    style F fill:#e8f5e9
    style L fill:#f3e5f5
Hold "Alt" / "Option" to enable pan & zoom

Process 4 – Billing and Renewals

Steps

  1. Invoice Generation
  2. Invoice generated based on engagement terms
  3. Invoice created in Billing & Invoicing context
  4. Domain event: InvoiceIssued

  5. Payment Processing

  6. Customer receives invoice
  7. Payment processed via payment gateway
  8. Payment recorded in Billing & Invoicing
  9. Domain event: PaymentReceived

  10. Engagement Renewal

  11. Engagement renewal considered
  12. New engagement created if renewed
  13. Domain event: EngagementRenewed

Flow Diagram

flowchart LR
    A[MilestoneCompleted Event] --> B[Generate Invoice]
    B --> C[InvoiceIssued Event]
    C --> D[Send Invoice]
    D --> E[Customer Pays]
    E --> F[PaymentReceived Event]
    F --> G{Engagement Ending?}
    G -->|Yes| H{Renew?}
    G -->|No| A
    H -->|Yes| I[Create New Engagement]
    H -->|No| J[Engagement Completed]

    style A fill:#e1f5ff
    style C fill:#fff4e1
    style F fill:#e8f5e9
    style I fill:#f3e5f5
Hold "Alt" / "Option" to enable pan & zoom

Event and Command Overview

Commands

Commands are actions initiated by users or external systems:

Type Name Produced By Consumed By
Command CreateEngagement Portal / API Project & Engagement Service
Command AssignSquad Portal / API Squad & Staffing Service
Command CreateInvoice Billing Service Billing & Invoicing Service
Command ProcessPayment Payment Gateway Billing & Invoicing Service

Domain Events

Domain events represent important state changes:

Type Name Produced By Consumed By
Event EngagementCreated Project & Engagement Service Squad & Staffing, Billing, Work Management
Event SquadAssignedToEngagement Squad & Staffing Service Work Management, Billing, Notifications
Event EngagementActivated Project & Engagement Service Work Management, Notifications
Event MilestoneCompleted Work Management Service Billing, Reporting, Notifications
Event DeliverableAccepted Project & Engagement Service Billing, Reporting
Event EngagementCompleted Project & Engagement Service Billing, Reporting, Notifications
Event InvoiceIssued Billing & Invoicing Service Notifications, Reporting
Event PaymentReceived Billing & Invoicing Service Reporting, Notifications

Integration Events

Integration events for cross-context communication:

Type Name Produced By Consumed By
Integration Event TenantCreated Tenant Management Service All services (tenant context)
Integration Event CustomerCreated Customer Accounts Service Project & Engagement, Billing
Integration Event SquadCapacityChanged Squad & Staffing Service Project & Engagement, Reporting

See: Event-Driven Mindset for event-driven principles.

See: Webhooks and Events for event patterns.