T1 Electrical SolutionsT1 Platform Docs
Platform

Platform Overview

High-level product and technical overview of the T1 Platform.

Platform Overview

T1 Platform is a Symfony 7 application that coordinates workforce operations for electrical contracting work. It has browser portals for admins, client users, supervisors, payroll, finance, and electricians, plus API v2 endpoints for the mobile app.

Personas

PersonaUserType valueTypical roleMain surface
AdminadminPlatform-wide setup and intervention/admin
Client AdminclientAdminClient-scoped configuration and approvals/client, selected /admin/clients/{id} pages
Client SupervisorclientSupervisorReview and sign off submitted work/supervisor, /api/v2/supervisor
Payroll ManagerpayrollManagerPayroll review, employee week summaries, approval, Xero-ready workflows/payroll
Client FinanceclientFinanceInvoice and finance review/finance
ElectricianelectricianProject work, timesheets, expenses, mobile submissions/electrician, /api/v2/electrician

The enum source is app/src/Enum/UserType.php. Client-scoped membership roles are also represented by ClientMembershipRole values: clientAdmin, clientSupervisor, electrician, clientFinance, and payroll.

Core records

RecordPurpose
UserAuthenticated person. Stores user type, managed/assigned clients, supervised projects, timesheets, expenses, and notifications.
ClientTop-level customer account. Owns projects, rates, allowances, materials, cost codes, work conditions, expense categories, and client memberships.
ProjectClient work site or job. Owns timesheets, expenses, assigned electricians, client supervisors, project configuration, location data, and project allowance settings.
TimesheetWeekly employee timesheet. Owns time entries, allowance lines, calculation snapshots, change logs, approval sheet items, attachments, and risk assessment.
TimeEntryA single work entry with date/start/end, job/cost code, vehicle, allowance selections, material selections, work conditions, and optional expense link.
ExpenseReimbursement or expense claim with attachments, category, project, user, status, and Xero submission data.
TimesheetAllowanceLineCalculated allowance result generated from ClientAllowance rules and timesheet/project data.
TimesheetCalculationAward calculation snapshot generated by AwardTimesheetCalculator. Contains detailed TimesheetCalculationLine rows.
PayrollInvoiceFinance/payroll invoice aggregate with invoice items, project/client/user scope, status, and PDF/export support.

The important architectural split

The platform deliberately separates these concepts:

  • Manual selections from users, stored on time entries as allowances_data, materials_data, and work_conditions_data.
  • Client and project configuration, stored on client matrix tables and project JSON fields.
  • Calculated allowance lines, stored in timesheet_allowance_lines.
  • Award calculation snapshots, stored in timesheet_calculations and timesheet_calculation_lines.
  • Invoice and payroll outputs, which can consume award snapshots but remain separate records and workflows.

That separation lets the system recalculate results after configuration changes without rewriting the original submitted timesheet input.

On this page