Web Admin Dashboard Manual
This guide covers every page and workflow in the syncc Web Admin Dashboard — the control center for city regulators, syndicate managers, and system administrators.
URL: https://admin.syncc.me (production) · https://admin.dev.syncc.me (staging)
Roles & Access
| Role | Access |
|---|---|
| SUPER_ADMIN | Full access — all tenants, all pages |
| ADMIN | Access to their own tenant's data — lines, routes, vehicles, drivers, map |
The system automatically redirects you to the pages you have permission to access. Pages outside your role show an "Access denied" message.
1. Login Page (/login)
- Open the admin dashboard URL in your browser.
- The Login Page appears automatically (you are redirected here if not authenticated).
- Enter your email address and password.
- Click Iniciar Sesión.
- On success, the system redirects you to the Operations Dashboard (
/dashboard).
Tip
If you forgot your password, contact your system administrator. There is no self-service password reset in the current version.
2. Operations Dashboard (/dashboard)
The Dashboard is the command center for monitoring the transit system at a glance.
Metrics cards
At the top of the page, a row of summary cards shows:
- Viajes Activos — the number of buses currently on the road with an active dispatched trip.
- Índice de Cumplimiento — compliance index: the percentage of checkpoints that active drivers have cleared on time today. A score below 80% indicates route irregularities.
- Conductores Activos — number of drivers currently driving.
- Pasajeros en circulación — estimated passengers currently on buses (based on QR scans, when active).
Charts and analytics
- Compliance over time — a line chart showing the compliance index throughout the day.
- Trips by line — a bar chart comparing how many trips each line has completed today.
- Checkpoint clearance heat map — which checkpoints are most frequently missed or delayed.
3. Tenants — Syndicates (/tenants)
A Tenant represents an independent transport syndicate (sindicato) or cooperative operating within a city. Each tenant owns a set of lines, vehicles, and drivers.
SUPER_ADMIN only
Only SUPER_ADMIN users can access tenant management. ADMIN users see their own tenant data directly.
Tenant list (/tenants)
- A table listing all registered syndicates with columns: Name, City, Contact, Active Lines, Active Drivers, Status.
- Use the search bar to filter by name or city.
- Click any row to open the Tenant Details page.
Registering a new tenant (/register-tenant)
- Click Registrar Sindicato (Register Syndicate) in the top-right corner of the list.
- Fill in the form:
- Nombre — official name of the syndicate (e.g. "Sindicato de Transportistas 21 de Septiembre").
- Ciudad — the city of operation (La Paz, Cochabamba, etc.).
- Teléfono — contact phone number of the syndicate manager.
- Email — contact email.
- Click Guardar (Save).
- The new tenant appears in the list and you are redirected to the Tenant Details page.
Tenant Details (/tenant/:id)
The Tenant Details page shows all information about a single syndicate:
- Summary card — name, city, contact, registration date.
- Lines section — a list of all lines belonging to this tenant with their route count and checkpoint count. Click any line to open the Line Detail page.
- New Line button — starts the two-step line creation flow.
- Drivers section — quick count of registered drivers for this tenant.
- Vehicles section — quick count of registered vehicles.
Soft-delete and recovery
Tenants, drivers, and vehicles that are deleted are soft-deleted — they are hidden from the active list but not permanently removed. To recover a deleted record:
- On the list page (tenants, drivers, or vehicles), look for the Mostrar eliminados toggle at the top of the table.
- Toggle it ON — deleted records appear with a grey background and a "Recuperar" button.
- Click Recuperar on the record you want to restore.
- The record becomes active again and appears in the normal list.
4. Lines & Routes — Two-Step Creation
Creating a transit line in syncc is a two-step workflow:
- Step 1 — draw the geographic path of the line on the map
- Step 2 — place operational checkpoints (stops) along that path
Both steps must be completed for a line to be usable by drivers in self-dispatch.
Step 1: Draw Line Geometry (/tenant/:id/lines/new)
- Go to Tenant Details (
/tenant/:id) and click Nueva Línea in the lines section. - The Line Form opens with a Leaflet map and a form on the side.
- Fill in:
- Nombre de la línea — the line identifier (e.g. "Línea 21" or "Micro 35 — Centro/Villa Busch").
- Modo de transporte — bus, micro, trufi, or other.
- Draw the path on the map:
- Click on the map to place waypoints along the road.
- Each new click adds a segment from the last point to the new point.
- Road snapping is automatic — the system calls OSRM in the background to snap each segment to real road geometry. The path you see follows actual drivable roads, not straight lines.
- To remove the last waypoint, click the Deshacer (Undo) button.
- To clear the entire path and start over, click Limpiar mapa.
- Once the full path is drawn, click Guardar (Save).
- The system saves the path as an encoded polyline and automatically navigates to Step 2.
Drawing accuracy
Click points close to road intersections for the most accurate road snapping. You do not need to click every turn — OSRM finds the road path between your waypoints automatically.
Step 2: Place Route Checkpoints (/line/:id/route/new)
Step 2 appears immediately after saving the line geometry, or can be accessed by clicking Nueva Ruta from the Line Detail page.
- The map shows the line path (teal polyline) as a background track.
- Click Añadir Recorrido (Add Route) and enter the route name — typically the direction of travel (e.g. "Ida", "Vuelta", or "Terminal Norte → Terminal Sur").
- Place checkpoints by clicking on or near the route line:
- Each click places a checkpoint that snaps automatically to the nearest point on the polyline.
- Checkpoints represent the physical stops where drivers must pass through during a trip.
- Place them in order from the start of the route to the end.
- For each checkpoint, a side panel opens to configure:
- Nombre — the stop name (e.g. "Cruce El Prado", "Mercado Camacho").
- Radio (metros) — the proximity detection radius. The default is 50 meters. Drivers must come within this radius for the checkpoint to be automatically cleared.
- After placing all checkpoints, click Guardar Recorrido (Save Route).
Checkpoint order matters
Checkpoints are logged in the order they appear in the list. Drag to reorder them if needed before saving. The driver app clears checkpoints in sequential order as the driver passes through them.
Editing a Line's Geometry (/line/:id/edit-geometry)
If the road path of an existing line needs to be redrawn (for example, a road was closed or the route was officially changed):
- Open the Line Detail page (
/line/:id). - Click Editar geometría (Edit geometry).
- The
LineGeometryEditorComponentopens — it looks identical to the Step 1 form but pre-loads the existing path. - Clear the existing path or modify waypoints, then save.
Warning
Editing the geometry does not automatically move existing checkpoints. After editing the geometry, review your routes (/line/:id/route/:routeId/edit) to ensure checkpoints still fall on the updated path.
Editing Route Checkpoints (/line/:id/route/:routeId/edit)
To modify checkpoints on an existing route:
- Open the Line Detail page and click on a route in the routes list.
- Click Editar ruta (Edit route).
- The Route Form opens pre-loaded with existing checkpoint positions.
- Move, add, or delete checkpoints as needed.
- Click Guardar Recorrido.
5. Line Detail (/line/:id)
The Line Detail Page is the central hub for a single transit line.
What you see
- Line header — line name, transport mode, creation date, and the tenant it belongs to.
- Geometry status — confirms that the polyline has been saved. Shows a preview map with the route drawn.
- Routes list — all route directions configured for this line. Each card shows:
- Route name and direction
- Number of checkpoints
- Options: Editar, Ver en mapa, Eliminar
- Lines under this tenant — a breadcrumb-style link back to the tenant.
Actions
| Button | Action |
|---|---|
| Nueva Ruta | Opens Route Form (Step 2) to add another direction |
| Editar geometría | Opens the geometry editor for the line path |
| Eliminar línea | Soft-deletes the line (recoverable) |
6. Vehicles (/vehicles)
Every physical vehicle operating on the platform must be registered before a driver can select it during self-dispatch.
Vehicle list
- A paginated table with columns: License Plate, Model, Tenant, Status, Last Trip.
- Use the search bar to filter by plate number or model.
- Soft-deleted vehicles are hidden by default — toggle Mostrar eliminados to see them.
Registering a vehicle (/register-vehicle)
- Click Registrar Vehículo in the top-right corner.
- Fill in the form:
- Placa — official license plate number.
- Modelo / Tipo — vehicle type (e.g. "Minibus Toyota Coaster", "Micro Bus", "Trufi").
- Capacidad — maximum passenger capacity (number of seats).
- Sindicato (Tenant) — the syndicate that owns this vehicle.
- Click Guardar.
Vehicle Detail (/vehicles/:id)
- Full vehicle information.
- Trip history — the last N trips this vehicle was used in, with date, driver, line, and compliance score.
- Edit button — opens
/vehicles/edit/:idto modify the vehicle record. - Delete button — soft-deletes the vehicle.
7. Drivers (/drivers)
Drivers must be registered and linked to a phone number before they can log into the mobile app.
Driver list
- A paginated table: Name, Phone, License, Tenant, Status (active / inactive).
- Soft-deleted drivers are hidden by default — toggle Mostrar eliminados to recover them.
Registering a driver (/register-driver)
- Click Registrar Conductor in the top-right corner.
- Fill in the form:
- Nombre completo — driver's full name.
- Email — driver's email (for system records only; not used for login).
- Número de teléfono — the phone number the driver will use to log into the mobile app. This must match the WhatsApp number exactly (including country code).
- Sindicato (Tenant) — the syndicate the driver belongs to.
- Número de licencia — driver's professional license number.
- Vehículo asignado — optionally assign a default vehicle.
- Click Guardar.
- The driver can now log into the Syncc Conductor mobile app using the registered phone number.
Phone number must be exact
The driver's phone number is their login credential. If it is entered incorrectly, the OTP verification code will be sent to the wrong number and the driver will not be able to log in. Use the full international format (e.g. +591 71234567).
Driver Detail (/drivers/:id)
- Full driver profile information.
- Trip history — recent trips with date, line, vehicle, duration, and compliance score.
- Assigned vehicles — list of vehicles linked to this driver.
- Edit button — opens
/drivers/:id/edit. - Delete button — soft-deletes the driver record.
8. Real-Time Bus Map (/map)
The Bus Map is a live geographic view of all active buses across the city.
Connecting
- The map establishes a WebSocket connection to the server automatically when the page loads.
- A connection status indicator in the top bar shows: Conectado (green) or Reconectando... (yellow).
Reading the map
- Bus pin colors:
- Green — on route, within expected area.
- Orange — minor deviation or behind schedule.
- Red — significant detour, long stop, or telemetry not updating.
- Route lines — when you click a bus pin, the official route polyline for that line is drawn on the map in teal for comparison against the actual GPS track.
Bus detail panel
Click any bus pin to open a side panel showing:
- Driver name and phone number.
- Vehicle plate and model.
- Current line and route direction.
- Speed — last reported GPS speed.
- Checkpoints cleared — list of cleared checkpoints with timestamps.
- Actual GPS track — the path the bus has traveled since trip start (drawn in a lighter color overlaid on the planned route).
Filtering
Use the filter bar above the map to show only: - Buses from a specific tenant/syndicate - Buses on a specific line - Only delayed or non-compliant buses
9. Dispatch Management (/dispatch)
The Dispatch Page gives administrators an operational view of all trips currently active or scheduled, allowing manual management when self-dispatch is not sufficient.
What you see
- A table of all active trips: Driver, Vehicle, Line, Route, Start Time, Checkpoints Cleared, Compliance %.
- Sorting and filtering by line, driver, or status.
- A quick map view toggle to see all active trips geographically.
Dispatch controls
- Finalizar viaje — manually close an active trip (e.g. if a driver abandoned the app without completing the trip).
- Ver en mapa — jump to that specific bus on the Live Map.
- Ver detalles — open the Trip Details modal showing the full checkpoint history and GPS track for that trip.
Trip Details Modal
The Trip Details modal shows:
- Trip metadata: start time, completion time (if finished), total duration.
- Checkpoint log — every checkpoint with the timestamp it was cleared, or "Pendiente" if not yet cleared.
- GPS track replay — a mini-map showing the GPS path recorded during the trip.
- Compliance score — percentage of checkpoints cleared vs. total required.
10. Passengers (/passengers)
SUPER_ADMIN only
The passengers page is accessible only to SUPER_ADMIN users.
The Passengers Page shows all registered passenger accounts across the platform.
What you see
- Table columns: Name, Phone Number, Registration Date, Wallet Balance, Active Boarding Status.
- Active status badge — shows if the passenger is currently checked into a bus (boarding session active).
- Wallet balance — the current prepaid balance in their digital wallet (Bs.).
Searching and filtering
- Search by phone number or name.
- Filter by active boarding status to see passengers currently on a bus.
Passenger record
Click any row to view the passenger's detail:
- Account information.
- Boarding history — log of all boarding and alighting events with timestamps, line names, and fare amounts charged.
- Wallet transaction history — all recharges and deductions.
Quick Reference — All Pages
| Page | Path | Roles |
|---|---|---|
| Login | /login |
Public |
| Dashboard | /dashboard |
SUPER_ADMIN, ADMIN |
| Tenants list | /tenants |
SUPER_ADMIN |
| Register tenant | /register-tenant |
SUPER_ADMIN |
| Tenant details | /tenant/:id |
SUPER_ADMIN, ADMIN |
| Lines for tenant | /tenant/:id/lines |
SUPER_ADMIN, ADMIN |
| New line (Step 1) | /tenant/:id/lines/new |
SUPER_ADMIN, ADMIN |
| Line detail | /line/:id |
SUPER_ADMIN, ADMIN |
| New route (Step 2) | /line/:id/route/new |
SUPER_ADMIN, ADMIN |
| Edit route checkpoints | /line/:id/route/:routeId/edit |
SUPER_ADMIN, ADMIN |
| Edit line geometry | /line/:id/edit-geometry |
SUPER_ADMIN, ADMIN |
| Vehicles list | /vehicles |
SUPER_ADMIN, ADMIN |
| Register vehicle | /register-vehicle |
SUPER_ADMIN, ADMIN |
| Vehicle detail | /vehicles/:id |
SUPER_ADMIN, ADMIN |
| Edit vehicle | /vehicles/edit/:id |
SUPER_ADMIN, ADMIN |
| Drivers list | /drivers |
SUPER_ADMIN, ADMIN |
| Register driver | /register-driver |
SUPER_ADMIN, ADMIN |
| Driver detail | /drivers/:id |
SUPER_ADMIN, ADMIN |
| Edit driver | /drivers/:id/edit |
SUPER_ADMIN, ADMIN |
| Live map | /map |
All authenticated |
| Dispatch | /dispatch |
SUPER_ADMIN, ADMIN |
| Passengers | /passengers |
SUPER_ADMIN |
Frequently Asked Questions
A driver says they cannot log in — what do I check?
Go to the driver's record at /drivers/:id and verify the phone number is correct with the full international format (e.g. +591 71234567). Even a single digit difference prevents the OTP code from being delivered.
A driver shows up in Self-Dispatch but sees "No routes available". The line must have at least one Route (Step 2 of the line creation) with at least one checkpoint. A line without a route cannot be dispatched. Check the Line Detail page and confirm routes exist.
A bus stopped updating on the live map. The driver may have closed the app or lost internet connectivity. The pin goes grey after 60 seconds without a heartbeat. Ask the driver to reopen the Syncc Conductor app.
I accidentally deleted a vehicle — how do I recover it?
Go to /vehicles, toggle Mostrar eliminados, find the vehicle in the greyed-out section, and click Recuperar. The vehicle is immediately restored.
A line's checkpoints are not being cleared even though the driver is at the stop.
The driver must come within the checkpoint's configured radius (default 50m). If checkpoints are consistently missed, consider increasing the radius on the Route Form (/line/:id/route/:routeId/edit). Also confirm the checkpoint was placed at the correct location on the map — not offset by half a block.
How do I change a line that was already deployed?
Use /line/:id/edit-geometry to redraw the path, and /line/:id/route/:routeId/edit to adjust checkpoints. Changes take effect on the next trip dispatched — active trips are not affected.