Trip Management
The Trips page is the core of FleetTAB's day-to-day workflow. It presents a chronological table of every vehicle trip recorded by the Wialon platform, enriched with geocoded locations, driver assignments, classification status, and environmental data — all in a single, searchable view.
What the Table Shows
Each row in the trips table represents one recorded trip. The following columns are available by default:
| Column | Description |
|---|---|
| Start Time | Date and time the trip began |
| End Time | Date and time the trip ended |
| Duration | Total elapsed time for the trip |
| Distance | Odometer distance covered, in the configured unit (km or mi) |
| From | Geocoded departure address |
| To | Geocoded arrival address |
| Driver | Assigned driver name, if any |
| Status | Classification: Business, Personal, or Unclassified |
| Notes | Free-text notes attached to the trip |
| CO2 | Estimated carbon dioxide output for the trip |
| Max Speed | Top speed recorded during the trip |
| Avg Speed | Average speed over the trip duration |
Column visibility is configurable. Use the View button in the toolbar to show or hide individual columns without losing your other filter settings.
Geocoding is performed once per unique coordinate pair and cached. Addresses update automatically if the underlying geocoding data changes, but this is rare in practice.
How Trips Are Loaded
FleetTAB fetches trip data directly from the Wialon Remote API. When you open the Trips page or change your date range, the application queries Wialon for all trips recorded by the selected units within the chosen interval.
Trip loading follows this sequence:
- The active session token is validated against the Wialon host.
- A batch request is dispatched for each selected unit, covering the full date range.
- Raw trip records are transformed once in the service layer — timestamps are converted from Unix seconds to local time, distances are converted to the display unit.
- Results are stored in the query cache for five minutes, so navigating away and back does not re-trigger a fetch unless the data has expired.
If you notice trips are missing, confirm that the relevant vehicles have the Trips data type enabled in Wialon and that your account has at least read access to those units.
Virtual Scrolling for Large Datasets
The trips table is built to handle datasets of 10,000 trips or more without degrading browser performance. It uses virtual (windowed) rendering via TanStack Virtual: only the rows currently visible in the viewport are mounted in the DOM, regardless of how many trips are loaded.
In practice this means:
- Memory stays flat as you scroll through thousands of rows.
- Initial render is fast — the browser does not have to paint all rows at once.
- Sorting and filtering remain responsive because they operate on the in-memory dataset, not the DOM.
The row height is fixed, which allows the virtual scroller to calculate offsets without measuring each row. If you resize your browser window, the visible row count adjusts automatically.
The virtual scroller renders approximately 15–25 rows at a time depending on your viewport height. Rows outside that window are unmounted but the scroll position and selection state are preserved.
Sorting
Click any column header to sort the table by that column. Click again to reverse the sort direction. Sorting is applied to the full in-memory dataset, so it works correctly even across thousands of trips without a round-trip to the server.
Trip Status Colors
Row backgrounds carry a subtle status tint to help you scan the table quickly:
- Business trips have a green tint.
- Personal trips have a purple tint.
- Unclassified trips have no background tint, making them easy to spot as items requiring attention.
Related Pages
- Filtering Trips — date range, unit selector, status filter, saved presets
- Bulk Actions — classifying and annotating multiple trips at once
- Exporting Trips — CSV and PDF export options