Restoring your session…

JSPL EV SMARTRIDE TITAN

Real-Time EV Fleet Control Hub · Angul Plant

Welcome to the Jindal Steel & Power Real-Time EV Fleet Control Hub. Monitor operations, track telemetry, analyze driver metrics, and manage schematic route boards in a secured corporate environment.

JSPL EV SMARTRIDE TITAN

Real-Time EV Fleet Control Hub · Angul Plant
build …
JSPL EV SMARTRIDE TITAN Angul Plant
Smart Ride • Real-Time EV Fleet Control Hub
Connecting… --:--:-- build …
B
📍 Nearest stop to you
Locating…
Moving
Idle
Stopped
Charging
Out of service

☰ FLEET · 28 EV BUSES

📍 NEAR ME · ETA

Locating you…
JSL Angul Plant Route Map Showing active route paths, stop indices, and live bus positions
100%
🚇 Line Status — buses across every stoppage Metro-map style. Origin (Hostel 3) on the left. Arrows show direction (◄ inbound to Hostel 3, ► outbound).
🦅 Bird's Eye Wall Layout Wall style Basemap Click any panel to open its live trip details.

Trip details

🗺 Schematic Bird's Eye Wall Layout All route drawing boards with live buses. Click a panel for trip details.

Trip details

BOARD:
Calibration:
Calibrate: pick a stoppage, then click its exact spot on the drawing (2+ points, 3 recommended). Once calibrated, live GPS and history playback appear directly on this drawing.
--:--:--
BUS:

📅 HISTORY STORED

--:--:--
Below limit
Near limit
Over limit (violation)

Stoppage Arrival Board

LineBusDirectionStatusDistanceETAPunctuality
🔁 Excel Migration — EV_Bus_Master_Sheet.xlsx → Daily_Upload_Template.xlsx Convert the plant master workbook into the official 2-sheet upload format, then send it straight into Daily Upload (with verification).

⚡ Buses charging right now live from the VECV API — charging buses also flash with a multi-colour animation on every map

BusLineSoCBattery tempCharging pointCharging forDriver

🔌 Charging points

Draw a circle/polygon geofence in Routes & Geofences and mark it as a charging point — it shows here and with ⚡ styling on the maps.

Report a breakdown

Bus Category

Marks the bus red on all maps, suppresses its ETAs and logs the incident.

Active incidents

BusCategorySinceLocation

Incident history

TimeBusCategoryResolvedDowntime

Violation Register Date

TimeBusDriverLineSpeedLimitOver bySeverityNightReport

Night Driving Log Date

BusDriverLineNight moving (min)Night distance (km)Night violationsActive now

Night speed violations

TimeBusDriverSpeedLimitSeverity

⬆ Daily Upload — one workbook, two sheets ⬇ Sample template Excel · CSV · Google Sheet

The EASY way: one Excel with two sheets — Drivers & Roster. Pick the file → see any errors in plain words → press Yes, upload. Correct rows go in, error rows are skipped and listed. Date is read from the Roster sheet automatically.

Advanced options below — sheet Drivers = permanent master (EmpNo, Name, DLNo, Phone, JoiningDate, DriverType Regular/Spare, Shift, Route, Active) · sheet Roster = daily plan (Date, Vehicle, Shift, Driver name, Route). Nothing is saved until you approve.

Roster date (auto-detected from the sheet)
Excel / CSV workbook
…or the live Google Sheet (shared: Anyone with link · Viewer)
Starting…0%

🕓 Upload History & Rollback last 15 uploads · one-click undo

WhenByFor dateAppliedResult

👷 Driver Database ⬇ Sample Excel

Drivers must exist here before they can be rostered. Excel columns: EmpNo, Name, DLNo, Phone, JoiningDate, Shift (A/B/C), Line/Route (the driver's root — the bus follows it), WorkDays (Mon;Tue;…), Active (YES/NO).

#Emp NoNameDL NoPhoneJoiningShiftLineWork daysStatus

🗓 Shift Roster — 3 drivers per bus / 24 h (A · B · C) ⬇ Sample Excel

Assign a driver to a bus/shift and the bus automatically follows that driver's own line (set on the driver record). Leave the per-cell route on "follow driver's line", or pick one to override. Shift A lists only A-shift drivers, B only B, C only C. Excel columns: Date, RegNo, Shift (A/B/C), EmpNo, Route (Route optional — overrides the driver's line).

BusLineShift A (06–14)Shift B (14–22)Shift C (22–06)

⚡ Instant override — any driver → any bus, any time window

Bus Driver — search by name or Emp No Route (bus repositions to this line)
From
To

Overrides beat the roster for the chosen window — for reliefs, emergencies and ad-hoc trips.

BusDriverWindow

🕒 Duty Log — shift start detection

Logged automatically the moment a bus first moves in a driver's shift.

TimeBusDriverEmp NoShiftLine

🚫 Driver Ban History

Every ban applied to a driver, with the date window, who applied it and why. Active bans are highlighted.

Emp NoDriverBan fromBan untilStatusReasonApplied byApplied on

📋 Driver Report — live from telematics history

Driver
From
To

Duty hours, opening/closing KM & SOC, trips and start/end times are computed automatically from the 5-second history; click Edit on any row to override. Weekly-offs & holidays are auto-derived from the calendar. Seatbelt, phone-call, fatigue, drowsiness, smoking, distraction, harsh-braking, rash-driving, ADAS & all deviations are DFMS events — data not attached.

DateShiftBusRouteStartEndDuty h Open KMClose KMKM runOpen SOCClose SOCTotal SOC TripsDeviationsSeatbeltPhone
Pick a driver and date range, then Generate.

🎌 Holiday List

Weekly-offs are not uploaded — they show up as “not worked” days in reports. Add plant holidays here; reports count holidays within the selected range.

DateDayLabel

Daily Route Performance Report date

📅 Day analytics (from stored history)

Pick a date to see that day's fleet report — distance, speeds, moving/idle/charging minutes and violations per bus — computed from the recorded history. The live charts below always show NOW.

🚌 Vehicle selection

Pick route colours (Green / Red / Yellow / Blue) — or switch to By Vehicle to pick individual buses. Selection drives the charts and speed profile below.

Fleet Status Ring

Speed Profile — select vehicle(s) above

Violations by Line

Distance by Line (km, today)

Analytics Suite — 50 live metrics

🗺 Route Studio

📥 Bulk upload — Excel / CSV (Admin / Operator)

All three are Excel/CSV — no JSON. Each upload shows a preview before anything is applied. Routes sheet = one row per stop: Line, Color, Stoppage, Latitude, Longitude, Radius, TimeMin — the Color cell accepts plain names like Blue, Orange, Light Green (see the “Colour names” sheet in the sample). After upload the path is automatically snapped to the real roads (no zigzag); fine-tune with ✋ Drag / move.

Routes

How to edit a route: Click 🔒 Editing locked on top to enable · Click a route below — the map shows only that route and its editor opens · Follow the 3 steps inside the editor (fix stoppages → 🛣 Polish → 💾 Save).

✏️ Editing:
Tools
Insert waypoints between two stoppages

Pick Stop A and Stop B, then click the map to drop points along the road between them. They render as a dotted chain — not a straight line.

Stoppages (0)
NameRadius
📍 Landmarks (0) — shown on every map
Name

Click "+ Landmark" then click the map. Landmarks appear on Live Map, Bird's Eye, Playback and calibrated Schematic Boards.

Geofences ()

Use the circle / polygon / rectangle tools on the map's left edge to fence stops, gates, zones and the plant boundary. Delete one below, then redraw it in any shape (name the plant fence with the word "Boundary").

🗺 New route by mapping — click the map point by point (start → end)
0 point(s) · 0 stoppage(s)
min
✏️ Route
Fix the stoppages — edit a row here or drag its pin on the map Press 🛣 Polish route — the line follows the real roads Press 💾 Save route — it goes live on every map
#Stoppage nameLatitudeLongitudeRadiusIcon
Polish between two stoppages

Drag any marker on the map to move a stoppage — its latitude/longitude update automatically. Everything is preview until 💾 Save route.

📣 Raise a Complaint

Report an issue about a bus or driver. Your details, the live bus parameters and the on-duty driver are captured automatically with a unique complaint number.

Which bus? (optional but recommended)
Category Subject Describe what happened

🗂 My Complaints

📅 Date range to Every number and chart below follows this range.

Complaints by Category

By Priority & Status

🚌 Most-Complained Vehicles

👤 Most-Complained Drivers

🏢 Complaints by Complainer Department

⏱ Avg Resolution Time by Category

Recent Complaints

🚌 Fleet icon

Choose how buses appear on every map. The icon points in the bus's actual travel direction.

🏷 Company logo

Upload a PNG / JPG / SVG logo. It replaces the JSPL logo on the login screen and header.

Header logo height: 46 px
Preview:
🔖 Browser-tab icon (favicon)

Shown in the browser tab. PNG / JPG / SVG / ICO — square images look best.

🎨 Bus colours

Colour the buses by:

Status colours (used when "Status colour" mode is on; also the legend/badges everywhere): Running / idle / stopped / charging / out-of-service.

🛣 Route colours

Each line's colour — used for its path, stops and labels on every map.

⏳ Loading animations

Pick which animation plays where. Molten % is reserved for the Loading page only. "🎲 Random" picks a different one of the 9 each time data loads.

Loading page (app start / session restore)
Data loading (reports · history · uploads)
Preview:

⚙ Plant speed limit (Admin)

km/h Every bus exceeding this limit is logged instantly on the Speed Violations page. Speed violation is a punishable offence inside JSPL Angul.

🛣 Feature control — Auto road path

When enabled, Route Studio's 🛣 Snap to roads / Auto road path tools (and the automatic road-snap after Excel route uploads) are available. When disabled, nobody — including operators — can auto-redraw route paths. Only an Admin can change this switch.

User Management

UserRoleDepartmentContactAccess pagesStatusLast loginLast IPLoginsActions

Admins control everything: role, department, contact, page-level permissions, enable/disable, passwords and deletion. Disabled users cannot sign in. biranchi (primary Admin) is protected. Click a user's "Access" or "History" for details.

👥 Bulk upload viewers — Excel / CSV ⬇ Sample Excel

Create many Viewer accounts at once. Columns: username (required) · name · dept · phone · email · password. Leave password blank and one is generated automatically. Nothing is saved until you review the preview and press Create.

User detail

🔒 API settings are locked

Only an Administrator can view or change the VECV API connection.
Current status:

VECV API Connection

Auth URL (genrateToken) Location Pull URL (getlivedata/location) API-KEY (from VECV) Client ID (optional)
Pull interval (sec, min 61)
EV full-charge range (km)

Settings save only after the token test passes. Until a key is verified, the platform runs the 28-bus simulation. Battery % for real buses is estimated from the odometer since day-start against the full-charge range.

Push Webhook (My Eicher)

Give this endpoint to VECV so My Eicher pushes live location in real time (no rate limit):

Pushed records override older pulled data per chassis; both feeds merge into one live picture. Check API Health to verify all links are working.

🔑 VECV API Keys — one per bus make / model 0 keys

Different bus makes/models (e.g. Eicher Skyline vs. another OEM) may each have their own VECV API key & Client ID. Add each key here — the platform pulls from all verified keys and merges every make into one live fleet.

➕ Add / verify a key
Label (make / model)
Client ID (optional)
API-KEY (from VECV)

Connection checks

TimeTargetResultLatencyNote

📉 History recording gaps — when data was lost, and WHY

The server records every bus once a minute, entirely server-side. A gap means the recording pipeline was interrupted; each gap below carries the detected cause. The two real causes on this hosting plan: ① the free Render instance goes to sleep ~15 minutes after the last visitor (and restarts on every code deploy) — a sleeping server records nothing; ② the VECV API is rate-limited (HTTP 429) when a second server (e.g. a laptop running localhost) shares the same API key. A GitHub keep-alive ping now hits the server every ~12 minutes to prevent sleep; for guaranteed 24/7 recording use a free external pinger (UptimeRobot) or a paid always-on Render instance, and never run localhost with the production API key.

Data lost fromRecording resumedLostCauseWhy it was lost

🔁 Server (re)starts — deploys & free-tier wake-ups

Started at (IST)BuildCommit

🔍 Audit Explorer ADMIN ONLY

Activity by category

Most active users & actions

Event log

TimeCategoryUserRoleActionDetailIP

🗄 Get Data — raw telematics API records ADMIN ONLY

Every value the VECV API returned, recorded every ~5 seconds (location + fuel/SOC). View the raw rows time-wise, or roll them up day-wise / week-wise per bus.

View
From
To
Bus (optional)

🧪 Raw API Dump — untouched telematics payload ADMIN ONLY

Exactly what the VECV API returned, before any processing by this system — plus the full override chain showing why the displayed status differs, and a frozen-device check. Use this to settle any dispute between the physical vehicle and what the dashboard shows.

Mode
From
To
Vehicles (tick one or many · none = all)

Pick a mode and press Get raw dump.