Overview
Maintenance and work-order areas, URLs, and how data is loaded in the tenant console.
What this module covers
| Area | Purpose | Typical URL path |
|---|---|---|
| Issues | Track vehicle problems, priorities, status, attachments | /dashboard/maintenance/issues |
| Incidents | Track incidents with the same style of workflow as issues | /dashboard/maintenance/incidents |
| Service tasks | List recurring or planned maintenance tasks (UI table + dialogs) | /dashboard/maintenance/service-task |
| Service work orders | Vendor-facing service jobs, templates, linked maintenance records | /dashboard/work-order/service |
| Refuel work orders | Refuel-specific work orders in a dedicated list | /dashboard/work-order/refuel |
| Public work order views | Standalone pages for sharing work-order status (no dashboard chrome) | /v and /v/:workOrderId |
Paths omit trailing slashes in everyday use; the app normalizes them.
Finding these screens
The main dashboard sidebar does not currently expose Maintenance or Work Order as top-level items. Tenants usually arrive by:
- Bookmark or shared link to one of the URLs above.
- Deep link from another workflow (for example a future email or report link your organization provides).
Optional vehicle-level tabs for “Work Order” and “Issue And Incidents” exist in the codebase but are commented out in the vehicle detail layout, so you should not expect those tabs on the Vehicle screen in the current build.
Data source in the reviewed console build
This manual is written against the sass-console tenant UI. In that codebase:
- Issues and incidents lists are seeded from in-app sample data (
mockIssues/mockIncidents). Creating, editing, or deleting only updates the browser session state unless your deployed build replaces this layer with API calls. - Issue and incident detail pages load records from the same sample data in the route loader, not from
/vehiclesor a dedicated REST resource. - Service tasks, refuel work orders, service work orders (list and detail), and
/vpublic views use static or generated mock data. - The live vehicle detail API (
GET /vehicles/:id) is used for the main vehicle profile, but the TypeScript contract for that response does not includeworkOrdersorissuesIncidents; vehicle sub-routes that expect those arrays are not aligned with the typed API model in the reviewed code.
📌 Note: Treat everything below as user-interface and validation documentation. For your organization’s production environment, confirm with your administrator whether real APIs back these screens.
Suggested reading order
- Access & permissions
- Issues: list → forms → detail
- Incidents: list → forms → detail
- Service and refuel work orders
- Public links if you share work orders outside the dashboard