gitea-actions[bot]
4d4bd0c906
chore(release): build 01.08.00 [skip ci]
Publish to Composer / Publish Package (release) Failing after 4s
2026-06-21 16:05:06 +00:00
gitea-actions[bot]
1bbba00200
chore(version): pre-release bump to 01.07.02-dev [skip ci]
Publish to Composer / Publish Package (release) Failing after 3s
2026-06-21 15:57:53 +00:00
gitea-actions[bot]
54a9f10630
chore(version): auto-bump patch 01.07.01-dev [skip ci]
2026-06-21 15:57:45 +00:00
Jonathan Miller
4ec90d38f2
feat: CustomerSatisfactionHelper — post-service NPS, technician ratings, survey management
Universal: Auto Version Bump / Version Bump (push) Successful in 8s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 10s
2026-06-21 10:57:33 -05:00
gitea-actions[bot]
5e815dd945
chore(release): build 01.07.00 [skip ci]
Publish to Composer / Publish Package (release) Failing after 24s
2026-06-21 15:00:40 +00:00
gitea-actions[bot]
1983d1c4ef
chore(version): pre-release bump to 01.06.02-dev [skip ci]
Publish to Composer / Publish Package (release) Failing after 4s
2026-06-21 14:22:27 +00:00
gitea-actions[bot]
e01a08c664
chore(version): auto-bump patch 01.06.01-dev [skip ci]
2026-06-21 14:22:18 +00:00
Jonathan Miller
3ca55ac09c
feat: GpsTrackingHelper — fleet positions, drive history, speed alerts
Universal: Auto Version Bump / Version Bump (push) Successful in 10s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 10s
2026-06-21 09:22:02 -05:00
gitea-actions[bot]
3f73e680f0
chore(release): build 01.06.00 [skip ci]
Publish to Composer / Publish Package (release) Failing after 26s
2026-06-21 14:05:54 +00:00
gitea-actions[bot]
a772f4b872
chore(version): pre-release bump to 01.05.02-dev [skip ci]
2026-06-21 13:50:00 +00:00
gitea-actions[bot]
e6ba7ade71
chore(version): auto-bump patch 01.05.01-dev [skip ci]
2026-06-21 13:49:51 +00:00
Jonathan Miller
f9eb1153e6
feat: TechnicianSkillHelper — skill matrix, best-match dispatch, cert expiry tracking
Universal: Auto Version Bump / Version Bump (push) Successful in 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 11s
2026-06-21 08:49:40 -05:00
gitea-actions[bot]
0bfca03942
chore(release): build 01.05.00 [skip ci]
2026-06-21 05:27:40 +00:00
Jonathan Miller
eeaef928b5
fix: safety checklist — verify pending+unchecked before marking, auto-complete status
Universal: Auto Version Bump / Version Bump (push) Successful in 14s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 13s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 18s
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Secret Scan (pull_request) Successful in 6s
Universal: PR Check / Validate PR (pull_request) Failing after 5s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 1s
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 3s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
2026-06-21 00:25:13 -05:00
gitea-actions[bot]
4ce4814e50
chore(version): pre-release bump to 01.04.02-dev [skip ci]
2026-06-21 05:05:20 +00:00
gitea-actions[bot]
bc0fb961b5
chore(version): auto-bump patch 01.04.01-dev [skip ci]
2026-06-21 05:05:09 +00:00
Jonathan Miller
9136156034
Add SafetyChecklistHelper — trade-specific pre-job safety checks, compliance gating
Universal: Auto Version Bump / Version Bump (push) Successful in 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 14s
2026-06-21 00:04:55 -05:00
gitea-actions[bot]
347063c298
chore(release): build 01.04.00 [skip ci]
2026-06-21 04:40:59 +00:00
gitea-actions[bot]
b2472ddcdc
chore(version): auto-bump patch 01.03.03-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 18s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 2m4s
2026-06-21 04:39:45 +00:00
Jonathan Miller
c8b1b32b71
fix: warranty claim operator precedence bug + WO validation
Universal: Auto Version Bump / Version Bump (push) Successful in 10s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 4s
Universal: PR Check / Validate PR (pull_request) Failing after 4s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 13s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
2026-06-20 23:39:33 -05:00
gitea-actions[bot]
ec1618c425
chore(version): pre-release bump to 01.03.02-dev [skip ci]
2026-06-21 04:25:58 +00:00
gitea-actions[bot]
2a1ca75d2c
chore(version): auto-bump patch 01.03.01-dev [skip ci]
2026-06-21 04:25:50 +00:00
Jonathan Miller
ed8365df49
Add WarrantyHelper — warranty status, claim processing, expiry alerts
Universal: Auto Version Bump / Version Bump (push) Successful in 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 9s
2026-06-20 23:25:37 -05:00
gitea-actions[bot]
31b7b47e47
chore(release): build 01.03.00 [skip ci]
2026-06-21 01:17:23 +00:00
Jonathan Miller
3cd36b94bf
fix: feedback token race condition (FOR UPDATE), generic error for public users
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 1s
Generic: Project CI / Lint & Validate (pull_request) Successful in 6s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 6s
Universal: PR Check / Validate PR (pull_request) Failing after 4s
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 2s
Universal: Auto Version Bump / Version Bump (push) Successful in 7s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 7s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 16s
Generic: Project CI / Tests (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
2026-06-20 20:14:31 -05:00
gitea-actions[bot]
f33012cb90
chore(version): auto-bump patch 01.02.01-dev [skip ci]
2026-06-21 01:01:13 +00:00
Jonathan Miller
a5bc28cd8a
Add CustomerFeedbackHelper — post-service surveys, NPS scores, token-based feedback
Universal: Auto Version Bump / Version Bump (push) Successful in 8s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 7s
2026-06-20 20:00:21 -05:00
gitea-actions[bot]
41307be688
chore(release): build 01.02.00 [skip ci]
2026-06-20 21:35:40 +00:00
Jonathan Miller
52c7684c6a
Add FieldReportsController API — tech performance, revenue by trade, parts usage, SLA compliance
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 15s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 2m33s
2026-06-20 15:50:54 -05:00
Jonathan Miller
5911e97a26
Add PartsHelper — common parts by trade, usage tracking, stock deduction, low stock alerts
2026-06-20 13:21:17 -05:00
Jonathan Miller
6ad31dd8c0
Add FieldSchedulingController API — appointment slots, booking, daily schedule, tech routes
2026-06-18 11:43:16 -05:00
Jonathan Miller
78e172a50d
Add SchedulingHelper — appointment slots, tech availability, daily schedule
2026-06-18 11:12:40 -05:00
Jonathan Miller
efae025a2f
fix: Address PR review findings — CSRF, status guards, SQL safety, transactions
...
- Add CSRF token validation on EstimateView approve/reject forms
- Add status guard on reject branch (prevent reversing approved estimates)
- Fix loc.* column collision in WorkOrdersModel::getWorkOrder (overwrote wo.id)
- Add (int) cast on all query parameter concatenations
- Wrap InvoiceHelper::generateFromWorkOrder in database transaction
- Replace magic 0.5 divisor with AVG_SPEED_MPH constant in RouteHelper
2026-06-18 09:03:19 -05:00
Jonathan Miller
e1b885939a
Add EstimateView site view — public estimate approval page with e-signature and decline option
2026-06-18 08:28:01 -05:00
Jonathan Miller
71b5166251
Add InvoiceHelper — generate CRM invoices from completed work orders (labor hours + parts), batch invoicing
2026-06-18 08:24:57 -05:00
Jonathan Miller
3ba79d4367
Add 7 admin models — WorkOrders, Technicians, Equipment, Vehicles, ServiceAgreements, Estimates, Dispatch
...
All use Joomla 6 BaseDatabaseModel with $this->getDatabase()
2026-06-15 00:50:26 -05:00
Jonathan Miller
5b923b4869
Add FieldEquipment and FieldEstimates API controllers
...
- FieldEquipmentController: equipment CRUD, vehicles, truck stock, service agreements
- FieldEstimatesController: estimates CRUD, convert-to-WO, route optimization API
2026-06-15 00:35:18 -05:00
Jonathan Miller
532e514106
Add RouteHelper — daily route building, nearest-neighbor optimization, GPS breadcrumbs, drive time estimates
2026-06-14 15:00:47 -05:00
Jonathan Miller
d08648f2fc
feat: customer service portal + mobile API (GPS, photos, time, parts)
2026-06-13 09:20:13 -05:00
Jonathan Miller
ca513b61ee
feat: mobile tech API — GPS, photos, time tracking, parts usage, equipment QR
...
FieldMobileController: 8 endpoints for field tech mobile app — my jobs
(priority-sorted with customer/location data), status updates with GPS,
photo upload with geotag, start/stop time entries, log parts from truck
stock (auto-deducts + adds WO line item), GPS heartbeat, equipment QR
code lookup. Auth requires technician profile linked to Joomla user.
2026-06-13 08:57:09 -05:00
Jonathan Miller
a146c106a3
chore: CI workflow, language files, CSS, JS infrastructure
2026-06-13 08:37:43 -05:00
Jonathan Miller
ceb03dba48
feat: equipment, dispatch, vehicles views + truck stock/vehicle helpers
...
TruckStockHelper: per-vehicle inventory, low stock, use/restock parts.
VehicleHelper: fleet overview, inspection due dates.
Admin views: Equipment list with service due alerts, Dispatch board
with date picker and tech assignments, Vehicles fleet with low stock
indicators and inspection tracking. All with templates.
2026-06-13 08:14:33 -05:00
Jonathan Miller
00b1cacceb
feat: technician mobile view + public service booking page
...
TechMobile: tablet/phone view for field techs — today's jobs sorted by
priority, current job card with address/access notes/phone link, GPS
status updates (en route/arrived/start/complete), Google Maps navigation.
BookService: public form for customers to request service — trade
selector, priority, description, auto contact + work order creation.
2026-06-13 08:01:56 -05:00
Jonathan Miller
96c42ccf6d
feat: wire config.xml params + ACL permission checks
...
WorkOrderHelper: reads wo_prefix and default_trade from config.xml.
FieldWorkOrderController: requireAuth() checks on list (core.manage),
create (core.create), dispatch (field.dispatch) endpoints.
2026-06-13 07:33:07 -05:00
Jonathan Miller
e9f0bf85a4
chore: comprehensive config.xml settings + access.xml permissions
2026-06-13 07:20:14 -05:00
Jonathan Miller
b39abf8bd5
feat: webservices plugin, task scheduler, router, config, access
...
FieldAutomation task plugin: service reminders, agreement renewal alerts,
equipment warranty expiry, truck stock reorder.
MokoSuiteFieldApi webservices: 6 CRUD routes (workorders, technicians,
equipment, agreements, estimates, locations). Router, config.xml, access.xml.
2026-06-13 07:10:18 -05:00
Jonathan Miller
a03b584b67
feat: service agreements, equipment, estimates, work orders list, technicians, API
...
ServiceAgreementHelper: active agreements, expiring, revenue summary.
EquipmentHelper: location equipment, QR lookup, service due, warranty expiry.
EstimateHelper: create, send, accept with signature, auto-convert to WO.
FieldWorkOrderController API: CRUD + dispatch + board + available techs.
Admin views: WorkOrders list, Technicians list, ServiceAgreements with
recurring revenue dashboard. All with templates.
2026-06-13 06:53:05 -05:00
Jonathan Miller
b05234ef1a
feat: initial scaffold — MokoSuiteField service management
...
Layer 2 add-on for MokoSuite CRM. Field service operations for
plumbing, electrical, HVAC, and general trades.
Schema (12 tables):
- Technicians (trade, certifications, GPS, service radius, vehicle)
- Service Locations (customer properties with access notes, GPS)
- Work Orders (full lifecycle: new > dispatched > en_route > on_site >
in_progress > completed > invoiced, with priority/trade/category)
- WO Line Items (labor, parts, materials, flat rate, permits)
- WO Photos (before/during/after with GPS coordinates)
- Service Agreements (recurring maintenance contracts with SLA)
- Equipment (HVAC units, panels, water heaters with serial/warranty)
- Vehicles (fleet tracking with mileage, inspection, GPS)
- Truck Stock (per-vehicle parts inventory with reorder points)
- Dispatch Log (assignment and routing history with GPS)
- Estimates (on-site quoting with token-based customer acceptance)
- Time Entries (per-WO labor tracking with overtime/travel flags)
Helpers:
- DispatchHelper: find best tech by trade/location/workload, dispatch
board, auto-assignment, unassigned queue
- WorkOrderHelper: create, status lifecycle, completion with signature,
dashboard stats
Infrastructure:
- Joomla 6 (PHP 8.3+), admin dashboard with dispatch board
- Git submodules: MokoSuite + MokoSuiteCRM
- GPL-3.0 license
2026-06-13 06:23:59 -05:00