TGM Expert provides comprehensive project management including general projects, CAPEX projects (capital expenditure), budgets, and financial tracking.
Table of Contents¶
Overview¶
Project Types¶
| Type | Description | Use Case |
|---|---|---|
| General Project | Standard project management | Maintenance projects, improvements |
| CAPEX Project | Capital expenditure project | Major equipment purchases, upgrades |
Project Workflow¶
Planning → Approval → Execution → Monitoring → Completion
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
Budget Finance Work Track Close &
Create Review Orders Costs Report
Projects¶
Project Entity¶
{
"id": 1,
"name": "Turbine Governor Upgrade",
"description": "Upgrade governor system on Unit 1",
"code": "PRJ-2026-001",
"status": "IN_PROGRESS",
"priority": "HIGH",
"type": "UPGRADE",
"startDate": "2026-01-15",
"targetEndDate": "2026-06-30",
"actualEndDate": null,
"estimatedCost": 250000.00,
"actualCost": 125000.00,
"percentComplete": 50,
"projectManager": {
"id": 10,
"name": "John Smith"
},
"location": {
"id": 1,
"name": "LG-2 Power Station"
},
"unit": {
"id": 100,
"name": "Turbine Unit 1"
},
"workOrders": [
{"id": 500, "number": "WO-2026-0500"}
],
"milestones": [
{
"name": "Design Complete",
"dueDate": "2026-02-28",
"status": "COMPLETED"
},
{
"name": "Parts Ordered",
"dueDate": "2026-03-15",
"status": "IN_PROGRESS"
}
]
}
Project Status¶
| Status | Description |
|---|---|
DRAFT |
Project being defined |
PENDING_APPROVAL |
Awaiting approval |
APPROVED |
Approved, not started |
IN_PROGRESS |
Currently active |
ON_HOLD |
Temporarily paused |
COMPLETED |
Successfully finished |
CANCELLED |
Project cancelled |
Project Types¶
| Type | Description |
|---|---|
MAINTENANCE |
Maintenance project |
UPGRADE |
Equipment upgrade |
REPLACEMENT |
Equipment replacement |
NEW_INSTALLATION |
New equipment installation |
REFURBISHMENT |
Major overhaul |
STUDY |
Engineering study |
OTHER |
Other project type |
API Endpoints¶
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/projects |
List projects |
| GET | /api/projects/{id} |
Get project |
| POST | /api/projects |
Create project |
| PUT | /api/projects/{id} |
Update project |
| DELETE | /api/projects/{id} |
Delete project |
Create Project¶
curl -X POST https://api.tgm-expert.com/api/projects \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Turbine Governor Upgrade",
"description": "Upgrade governor system on Unit 1",
"type": "UPGRADE",
"priority": "HIGH",
"locationId": 1,
"unitId": 100,
"projectManagerId": 10,
"startDate": "2026-01-15",
"targetEndDate": "2026-06-30",
"estimatedCost": 250000.00
}'
Filter Projects¶
# By status
GET /api/projects?status=IN_PROGRESS
# By location
GET /api/projects?locationId=1
# By type
GET /api/projects?type=UPGRADE
# By date range
GET /api/projects?startDateFrom=2026-01-01&startDateTo=2026-12-31
CAPEX Projects¶
CAPEX Project Entity¶
{
"id": 1,
"name": "Transformer Replacement",
"description": "Replace main transformer at LG-2",
"category": "ELECTRICAL",
"status": "APPROVED",
"startDate": "2026-03-01",
"endDate": "2026-12-31",
"estimatedCost": "5000000",
"actualCost": "1250000",
"currency": "CAD",
"approvalStatus": "APPROVED",
"approvedBy": "CFO Office",
"approvalDate": "2026-01-15",
"location": {
"id": 1,
"name": "LG-2 Power Station"
}
}
CAPEX Categories¶
| Category | Description |
|---|---|
MECHANICAL |
Mechanical equipment |
ELECTRICAL |
Electrical systems |
CIVIL |
Civil/structural work |
INSTRUMENTATION |
I&C systems |
ENVIRONMENTAL |
Environmental compliance |
SAFETY |
Safety systems |
IT_SYSTEMS |
IT infrastructure |
OTHER |
Other capital expense |
Approval Status¶
| Status | Description |
|---|---|
DRAFT |
Not submitted |
PENDING |
Awaiting approval |
APPROVED |
Approved |
REJECTED |
Rejected |
DEFERRED |
Deferred to future |
API Endpoints¶
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/capex-projects |
List CAPEX projects |
| GET | /api/capex-projects/{id} |
Get CAPEX project |
| POST | /api/capex-projects |
Create CAPEX project |
| PUT | /api/capex-projects/{id} |
Update CAPEX project |
| DELETE | /api/capex-projects/{id} |
Delete CAPEX project |
Create CAPEX Project¶
curl -X POST https://api.tgm-expert.com/api/capex-projects \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Transformer Replacement",
"description": "Replace aging main transformer",
"category": "ELECTRICAL",
"locationId": 1,
"startDate": "2026-03-01",
"endDate": "2026-12-31",
"estimatedCost": "5000000",
"currency": "CAD"
}'
Budgets¶
Budget Entity¶
{
"id": 1,
"name": "2026 Maintenance Budget",
"description": "Annual maintenance budget for LG-2",
"fiscalYear": 2026,
"type": "MAINTENANCE",
"status": "APPROVED",
"totalAmount": 2500000.00,
"allocatedAmount": 1800000.00,
"spentAmount": 450000.00,
"remainingAmount": 2050000.00,
"currency": "CAD",
"location": {
"id": 1,
"name": "LG-2 Power Station"
},
"lineItems": [
{
"category": "PREVENTIVE_MAINTENANCE",
"budgeted": 1000000.00,
"spent": 250000.00
},
{
"category": "CORRECTIVE_MAINTENANCE",
"budgeted": 500000.00,
"spent": 150000.00
},
{
"category": "SPARE_PARTS",
"budgeted": 750000.00,
"spent": 50000.00
}
]
}
Budget Types¶
| Type | Description |
|---|---|
MAINTENANCE |
Maintenance budget |
CAPEX |
Capital expenditure |
OPERATIONS |
Operating expenses |
EMERGENCY |
Emergency reserve |
PROJECT |
Project-specific |
API Endpoints¶
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/budgets |
List budgets |
| GET | /api/budgets/{id} |
Get budget |
| POST | /api/budgets |
Create budget |
| PUT | /api/budgets/{id} |
Update budget |
| DELETE | /api/budgets/{id} |
Delete budget |
Create Budget¶
curl -X POST https://api.tgm-expert.com/api/budgets \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "2026 Maintenance Budget",
"fiscalYear": 2026,
"type": "MAINTENANCE",
"locationId": 1,
"totalAmount": 2500000.00,
"currency": "CAD"
}'
Budget Variance¶
Track budget vs actual spending.
Variance Analysis¶
curl -X GET "https://api.tgm-expert.com/budget-variance?budgetId=1" \
-H "Authorization: Bearer $TOKEN"
Response:
{
"data": {
"budgetId": 1,
"budgetName": "2026 Maintenance Budget",
"period": "YTD",
"budgeted": 2500000.00,
"actual": 450000.00,
"variance": 2050000.00,
"variancePercent": 82.0,
"status": "UNDER_BUDGET",
"byCategory": [
{
"category": "PREVENTIVE_MAINTENANCE",
"budgeted": 1000000.00,
"actual": 250000.00,
"variance": 750000.00,
"variancePercent": 75.0
},
{
"category": "CORRECTIVE_MAINTENANCE",
"budgeted": 500000.00,
"actual": 150000.00,
"variance": 350000.00,
"variancePercent": 70.0
}
],
"monthlyTrend": [
{"month": "2026-01", "budgeted": 208333, "actual": 200000},
{"month": "2026-02", "budgeted": 208333, "actual": 250000}
]
}
}
Variance Status¶
| Status | Description |
|---|---|
UNDER_BUDGET |
Spending below budget |
ON_BUDGET |
Within acceptable variance |
OVER_BUDGET |
Spending exceeds budget |
CRITICAL |
Significantly over budget |
API Endpoints¶
| Method | Endpoint | Description |
|---|---|---|
| GET | /budget-variance |
Get variance analysis |
| GET | /budget-variance/by-category |
Variance by category |
| GET | /budget-variance/by-location |
Variance by location |
| GET | /budget-variance/forecast |
Spending forecast |
Financial Tracking¶
Cost Tracking¶
Track costs across projects and work orders:
curl -X GET "https://api.tgm-expert.com/cost-tracking/project/1" \
-H "Authorization: Bearer $TOKEN"
Response:
{
"data": {
"projectId": 1,
"projectName": "Turbine Governor Upgrade",
"estimated": 250000.00,
"committed": 150000.00,
"spent": 125000.00,
"remaining": 125000.00,
"percentComplete": 50,
"byCategory": {
"labor": 50000.00,
"materials": 60000.00,
"services": 15000.00
},
"byMonth": [
{"month": "2026-01", "spent": 25000.00},
{"month": "2026-02", "spent": 100000.00}
]
}
}
Cost Categories¶
| Category | Description |
|---|---|
LABOR |
Labor costs |
MATERIALS |
Parts and materials |
SERVICES |
External services |
EQUIPMENT |
Equipment rental |
TRAVEL |
Travel expenses |
OTHER |
Other costs |
Dashboard Integration¶
Project Dashboard¶
curl -X GET "https://api.tgm-expert.com/dashboard/projects" \
-H "Authorization: Bearer $TOKEN"
Response:
{
"data": {
"totalProjects": 25,
"activeProjects": 12,
"completedThisYear": 8,
"onHold": 2,
"overdue": 3,
"totalBudget": 10000000.00,
"totalSpent": 4500000.00,
"byStatus": {
"IN_PROGRESS": 12,
"PENDING_APPROVAL": 5,
"ON_HOLD": 2,
"COMPLETED": 8
},
"byPriority": {
"HIGH": 5,
"MEDIUM": 12,
"LOW": 8
},
"upcomingMilestones": [
{
"projectId": 1,
"projectName": "Governor Upgrade",
"milestone": "Parts Ordered",
"dueDate": "2026-03-15"
}
]
}
}
Filtering & Sorting¶
Filter Parameters¶
# By status
GET /api/projects?status=IN_PROGRESS
# By location
GET /api/projects?locationId=1
# By date range
GET /api/projects?startDateFrom=2026-01-01&startDateTo=2026-12-31
# By project manager
GET /api/projects?projectManagerId=10
# By priority
GET /api/projects?priority=HIGH
Sorting¶
# Sort by start date
GET /api/projects?sort=startDate&order=DESC
# Sort by estimated cost
GET /api/projects?sort=estimatedCost&order=DESC
# Sort by percent complete
GET /api/projects?sort=percentComplete&order=ASC
Best Practices¶
1. Set Clear Milestones¶
Break projects into trackable milestones:
{
"milestones": [
{"name": "Design Complete", "dueDate": "2026-02-28"},
{"name": "Parts Ordered", "dueDate": "2026-03-15"},
{"name": "Installation Start", "dueDate": "2026-04-01"},
{"name": "Testing Complete", "dueDate": "2026-05-15"},
{"name": "Project Closeout", "dueDate": "2026-06-30"}
]
}
2. Link Work Orders¶
Associate work orders with projects for cost tracking:
{
"projectId": 1,
"workOrders": [500, 501, 502]
}
3. Regular Budget Reviews¶
Monitor budget variance regularly:
# Weekly variance check
GET /budget-variance?budgetId=1&period=WEEKLY
4. Use CAPEX for Major Investments¶
Use CAPEX projects for: - Equipment purchases > $50,000 - Infrastructure upgrades - New installations - Major refurbishments
5. Document Approvals¶
Track all approvals in the system:
{
"approvalStatus": "APPROVED",
"approvedBy": "John Smith - VP Operations",
"approvalDate": "2026-01-15",
"approvalNotes": "Approved per budget meeting 2026-01-10"
}