Portal User Guide¶
This guide documents real portal workflows using a super-admin session on https://ects.keshiholdings.com.
Detailed screenshot-by-screenshot notes are maintained in Portal Screenshot Reference, grouped by module.
Annotated callout-based training screenshots are maintained in Portal Annotated Training Guide.
1. Landing and Sign-In¶
- Open the landing page.
- Click Web Portal.
- Authenticate on Keycloak.
- Confirm redirect to the Home map.



2. Global Navigation¶
Main modules:
- Home
- Cargo
- Routes
- Journeys
- Inventory
- Devices
- Alerts
- Reports
- Settings
Common patterns:
- Top module tabs switch domains.
- Left sub-tabs switch page variants.
- Filter/search controls refine tables.
- Row actions open view/edit/detail flows.
3. Cargo Module¶
3.1 Unassigned Cargo¶
Route: /cargo/unassigned-cargo

3.2 All Cargo¶
Route: /cargo/all-cargos

3.3 Assigned Cargo¶
Route: /cargo/assigned-cargo

3.4 Agents¶
Route: /cargo/agents-list

3.5 Carriers and Drivers¶
Routes:
/cargo/vehicles-list/cargo/drivers-list


3.6 Create Cargo¶
Route: /cargo/create-cargo

4. Journey Module¶
4.1 Active Journeys¶
Route: /journey/active

4.2 Completed Journeys¶
Route: /journey/completed

4.3 Click an Active Journey (Exploratory Capture)¶
Workflow used:
- Open
Active Journeys. - Click first row action.
- Follow the detail transition for validation.


4.4 Click a Completed Journey (Requested Flow)¶
Workflow used:
- Open
Completed Journeys. - Click first journey row action.
- Open row action menu and proceed to journey workflow/detail context.



4.5 Journey Setup/Create¶
Route: /journey/create-journey

5. Routes Module¶
5.1 Route List¶
Route: /routes/list

5.2 Checkpoints and Authorities¶
Routes:
/routes/checkpoints/routes/route-authorities


5.3 Route Holds and Corridors¶
Routes:
/routes/route-holds/routes/corridors


5.4 Add Route¶
Route: /routes/add-route

6. Inventory Module¶
6.1 Inventory List¶
Route: /inventories/inventory

6.2 Inventory Summary¶
Route: /inventories/inventory-summary

6.3 Assigned Inventory¶
Route: /inventories/assigned-inventory

6.4 Add Inventory¶
Route: /inventories/add-inventory

7. Alerts Module¶
Routes:
/alerts/open-alerts/alerts/escalated-alerts/alerts/closed-alerts/alerts/system-notifications




8. Reports Module (Long Timeout Capture)¶
Routes:
/reports/reports/superset/:id
Capture notes:
- Index screenshot captured after 15-second wait.
- Detail screenshot captured after 70-second wait for embedded Superset content.


9. Settings and Users¶
9.1 Users List and Add User¶
Routes:
/settings/users/settings/users/add-user


9.2 Click User to Open Detail¶
Route pattern: /settings/userdetail/:id


9.3 Preferences and Settings Dashboard¶
Routes:
/settings/preferences/settings/devices


10. Devices Module (All Pages Under Devices)¶
Routes covered in this guide:
/device/device-summary/device/device-list/device/device-group/device/add-device/device/configure-devices/device/add-device-model/device/device-models/device/add-device-group/device/device-configurations/device/import-devices/device/send-command/device/commands/device/device-map/device/device-monitor/device/transfer-custody/device/add-transfer-custody
















11. Known Route Exceptions (Observed During Live Capture)¶
The following routes returned frontend runtime errors in the captured session:
/routes/route-devices(undefined map/read)/settings/server(undefined speedUnit/read)
Treat these as defects and exclude them from operator SOP flows until fixed.
12. Route-to-Screenshot Matrix¶
| Module | Route | Screenshot |
|---|---|---|
| Landing | /login |
45-landing-page.png |
| Auth | Keycloak login | 10-keycloak-login.png |
| Home | / |
11-home-map.png |
| Cargo | /cargo/unassigned-cargo |
12-cargo-unassigned.png |
| Cargo | /cargo/all-cargos |
13-cargo-all-cargos.png |
| Cargo | /cargo/assigned-cargo |
14-cargo-assigned.png |
| Cargo | /cargo/agents-list |
15-cargo-agents.png |
| Cargo | /cargo/vehicles-list |
16-cargo-vehicles.png |
| Cargo | /cargo/drivers-list |
17-cargo-drivers.png |
| Cargo | /cargo/create-cargo |
37-cargo-create-cargo.png |
| Journey | /journey/active |
18-journey-active.png |
| Journey | /journey/completed |
19-journey-completed.png |
| Journey | /journey/active click flow |
66-journey-active-before-click.png, 67-journey-clicked-detail.png |
| Journey | /journey/completed click flow |
68-journey-completed-before-click.png, 69-journey-completed-clicked.png, 70-journey-row-view.png |
| Journey | /journey/create-journey |
38-journey-create-journey.png |
| Routes | /routes/list |
20-routes-list.png |
| Routes | /routes/checkpoints |
21-routes-checkpoints.png |
| Routes | /routes/route-authorities |
22-routes-authorities.png |
| Routes | /routes/route-holds |
24-routes-holds.png |
| Routes | /routes/add-route |
39-routes-add-route.png |
| Routes | /routes/corridors |
40-routes-corridors.png |
| Inventory | /inventories/inventory |
25-inventory-list.png |
| Inventory | /inventories/inventory-summary |
26-inventory-summary.png |
| Inventory | /inventories/assigned-inventory |
27-inventory-assigned.png |
| Inventory | /inventories/add-inventory |
41-inventory-add-inventory.png |
| Alerts | /alerts/open-alerts |
28-alerts-open.png |
| Alerts | /alerts/escalated-alerts |
29-alerts-escalated.png |
| Alerts | /alerts/closed-alerts |
44-alerts-closed.png |
| Alerts | /alerts/system-notifications |
30-alerts-system-notifications.png |
| Reports | /reports (long wait) |
71-reports-index-longwait.png |
| Reports | /reports/superset/18 (long wait) |
72-report-detail-longwait.png |
| Settings | /settings/users |
62-settings-users.png |
| Settings | /settings/users/add-user |
63-settings-add-user.png |
| Settings | /settings/userdetail/36116 |
74-settings-user-clicked.png |
| Settings | /settings/preferences |
64-settings-preferences.png |
| Settings | /settings/devices |
65-settings-devices-dashboard.png |
| Devices | /device/device-summary |
46-device-summary.png |
| Devices | /device/device-list |
47-device-list.png |
| Devices | /device/device-group |
48-device-group.png |
| Devices | /device/add-device |
49-device-add-device.png |
| Devices | /device/configure-devices |
50-device-configure-devices.png |
| Devices | /device/add-device-model |
51-device-add-device-model.png |
| Devices | /device/device-models |
52-device-models.png |
| Devices | /device/add-device-group |
53-device-add-device-group.png |
| Devices | /device/device-configurations |
54-device-configurations.png |
| Devices | /device/import-devices |
55-device-import-devices.png |
| Devices | /device/send-command |
56-device-send-command.png |
| Devices | /device/commands |
57-device-commands.png |
| Devices | /device/device-map |
58-device-map.png |
| Devices | /device/device-monitor |
59-device-monitor.png |
| Devices | /device/transfer-custody |
60-device-transfer-custody.png |
| Devices | /device/add-transfer-custody |
61-device-add-transfer-custody.png |