15 Commits

Author SHA1 Message Date
Jonathan Miller d2dc55539f Update MokoSuite → MokoSuiteClient submodule reference
Updated .gitmodules URL and path for the MokoSuite → MokoSuiteClient rename.
2026-06-15 16:49:11 -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
jmiller f5c15e596d Initial commit 2026-06-12 22:33:46 +00:00