Skip to content

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)

Login page

  1. Open the admin dashboard URL in your browser.
  2. The Login Page appears automatically (you are redirected here if not authenticated).
  3. Enter your email address and password.
  4. Click Iniciar Sesión.
  5. 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)

Dashboard — overview

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)

Tenants list

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)

Register tenant form

  1. Click Registrar Sindicato (Register Syndicate) in the top-right corner of the list.
  2. Fill in the form:
  3. Nombre — official name of the syndicate (e.g. "Sindicato de Transportistas 21 de Septiembre").
  4. Ciudad — the city of operation (La Paz, Cochabamba, etc.).
  5. Teléfono — contact phone number of the syndicate manager.
  6. Email — contact email.
  7. Click Guardar (Save).
  8. The new tenant appears in the list and you are redirected to the Tenant Details page.

Tenant Details (/tenant/:id)

Tenant details page

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:

  1. On the list page (tenants, drivers, or vehicles), look for the Mostrar eliminados toggle at the top of the table.
  2. Toggle it ON — deleted records appear with a grey background and a "Recuperar" button.
  3. Click Recuperar on the record you want to restore.
  4. 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)

Line form — drawing on map

  1. Go to Tenant Details (/tenant/:id) and click Nueva Línea in the lines section.
  2. The Line Form opens with a Leaflet map and a form on the side.
  3. Fill in:
  4. Nombre de la línea — the line identifier (e.g. "Línea 21" or "Micro 35 — Centro/Villa Busch").
  5. Modo de transporte — bus, micro, trufi, or other.
  6. Draw the path on the map:
  7. Click on the map to place waypoints along the road.
  8. Each new click adds a segment from the last point to the new point.
  9. 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.
  10. To remove the last waypoint, click the Deshacer (Undo) button.
  11. To clear the entire path and start over, click Limpiar mapa.
  12. Once the full path is drawn, click Guardar (Save).
  13. 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)

Route form — placing checkpoints

Step 2 appears immediately after saving the line geometry, or can be accessed by clicking Nueva Ruta from the Line Detail page.

  1. The map shows the line path (teal polyline) as a background track.
  2. 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").
  3. Place checkpoints by clicking on or near the route line:
  4. Each click places a checkpoint that snaps automatically to the nearest point on the polyline.
  5. Checkpoints represent the physical stops where drivers must pass through during a trip.
  6. Place them in order from the start of the route to the end.
  7. For each checkpoint, a side panel opens to configure:
  8. Nombre — the stop name (e.g. "Cruce El Prado", "Mercado Camacho").
  9. Radio (metros) — the proximity detection radius. The default is 50 meters. Drivers must come within this radius for the checkpoint to be automatically cleared.
  10. 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):

  1. Open the Line Detail page (/line/:id).
  2. Click Editar geometría (Edit geometry).
  3. The LineGeometryEditorComponent opens — it looks identical to the Step 1 form but pre-loads the existing path.
  4. 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:

  1. Open the Line Detail page and click on a route in the routes list.
  2. Click Editar ruta (Edit route).
  3. The Route Form opens pre-loaded with existing checkpoint positions.
  4. Move, add, or delete checkpoints as needed.
  5. Click Guardar Recorrido.

5. Line Detail (/line/:id)

Line detail page

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)

Vehicles list

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)

Register vehicle form

  1. Click Registrar Vehículo in the top-right corner.
  2. Fill in the form:
  3. Placa — official license plate number.
  4. Modelo / Tipo — vehicle type (e.g. "Minibus Toyota Coaster", "Micro Bus", "Trufi").
  5. Capacidad — maximum passenger capacity (number of seats).
  6. Sindicato (Tenant) — the syndicate that owns this vehicle.
  7. Click Guardar.

Vehicle Detail (/vehicles/:id)

Vehicle detail page

  • 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/:id to modify the vehicle record.
  • Delete button — soft-deletes the vehicle.

7. Drivers (/drivers)

Drivers list

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)

Register driver form

  1. Click Registrar Conductor in the top-right corner.
  2. Fill in the form:
  3. Nombre completo — driver's full name.
  4. Email — driver's email (for system records only; not used for login).
  5. 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).
  6. Sindicato (Tenant) — the syndicate the driver belongs to.
  7. Número de licencia — driver's professional license number.
  8. Vehículo asignado — optionally assign a default vehicle.
  9. Click Guardar.
  10. 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)

Driver detail page

  • 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)

Live bus 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:

Bus detail panel

  • 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)

Dispatch page

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

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)

Passengers list

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.