Core Milestones
Project lifecycle milestone tracking, status derivation, and synchronisation across services
Overview
The Core Milestone system introduces project lifecycle tracking that gives customers and administrators visibility into the overall progress of a project across its constituent orders. Rather than tracking individual order statuses in isolation, Core Milestones aggregate and derive project-level status from the orders associated with it, providing a clear view of where a project stands in its lifecycle.
Core Milestone Concept
Core Milestones represent the key stages in a project's lifecycle. They are derived from the statuses of the project's orders, providing a single source of truth for project progress:
- Service-level configuration - Core milestones are set up on Services, CompanyServices, and UserGroupServices with synchronisation capability across all levels
- Automatic derivation - Milestone statuses are automatically derived from the statuses of the project's orders, rather than requiring manual updates
- Single lifecycle stage - Each project displays a single current lifecycle stage based on its core milestone status
- Last stage tracking - The system tracks and returns the last core milestone stage for each project
Milestone Status Derivation
The system uses a rules-based approach to determine milestone status:
- Order-based derivation - Core milestone status is derived from the statuses of the project's orders
- Qualifying statuses - Only specific order statuses qualify for milestone representation, filtering out intermediate states
- Priority ordering - Core milestones use User Group positioning to determine display priority
- Consistency enforcement - Project Status and Project Type are kept consistent with core milestone state
- Post-flush synchronisation - Milestone status synchronisation occurs after order persistence to ensure data consistency
Core Milestone Display
The milestone system provides visibility across multiple interfaces:
Dashboard Visibility
Key milestones are displayed on the dashboard in real-time:
- FTS Assessment Completed - Indicates the initial assessment phase is done
- Sale Accept Complete - Marks the completion of the sale acceptance process
- Permit Issued - Signals that the required permit has been granted
Project View
- Core Milestone tab - A dedicated tab in the project view shows all milestone stages and their current statuses
- Status badges - Status badges are displayed (or hidden, depending on configuration) for core milestone orders
- Order grouping - Core milestone orders are split and grouped separately from regular orders in the project response
Admin Configuration
- Settings display - Core milestone settings are displayed conditionally in the FTS portal based on configuration
- Ordering and priority - Administrators can set the ordering and priority of core milestones
- Sort capability - A dedicated sort button allows reordering of core milestones for User Group services
- Service title visibility - The system can hide Service Titles in Project Status for the ordering platform to provide a cleaner display
Core Milestone Configuration
Setting up core milestones involves multiple configuration levels:
Service Level
- Core milestone flag - Services can be flagged as core milestones through a dedicated "core milestone only" setting
- Filtering - When enabled, the system filters project orders to show only core milestone orders in relevant views
Company Service Level
- Company-specific configuration - Core milestone settings can be customised per company
- Sync capability - Changes at the company service level synchronise to user group services
User Group Service Level
- Division-specific ordering - Core milestone display order can be configured per user group (division)
- Position synchronisation - Company service sort order is persisted and synchronised to user group positions
Core Milestone Orders
Core milestone orders have specific behaviours:
- API visibility - Core milestone orders are allowed on single GET requests for detailed order views
- Split display - Core milestone orders are split from regular orders in the project API response
- Status badge control - Status badges on core milestone orders can be hidden for cleaner presentation
- Notification integration - Milestone status changes trigger notifications through the platform's notification system
Dashboard Milestones
The dashboard surfaces three primary milestone indicators:
| Milestone | Significance |
|---|---|
| FTS Assessment Completed | Initial property evaluation phase complete - project is ready for service orders |
| Sale Accept Complete | Sale acceptance process finalised - project has commercial clearance |
| Permit Issued | Required permit granted - project has regulatory clearance to proceed |
These milestones provide customers and administrators with at-a-glance project progress without needing to review individual order statuses.