# Transport operations

Manage buses, routes, stops and student allocations, then run daily boarding registers.

Category: Campus
Guide: https://avkul.in/docs/guides/module-transport/
Guided sample demo: https://avkul.in/docs/demo/module-transport/
Snapshot: 11 October 2026

## Features

- Fleet and capacity
- Routes and stops
- Pickup/drop allocations
- Trip start and completion
- Boarding corrections
- Family bus view
- Fuel and recorded locations

## Access and setup

Intended access: Super Admin, School Admin, Principal, Vice Principal, Management, Transport Manager, Driver
- An assigned school account with the required permissions.
- The academic, student or staff setup used by this workflow.

Permission keys: transport:view, transport:create, transport:delete, transport:update

## Workflow

1. Set up the bus, route and ordered stops.
2. Allocate students within the directional seat capacity.
3. Start today’s trip and record boarding/drop-off.
4. Complete the run and review family-visible updates.

## Fields and controls

- regNo (string, declared required)
- model (string, optional)
- capacity (number, optional)
- driverStaffId (string, optional)
- helperStaffId (string, optional)
- isActive (boolean, optional)
- name (string, declared required)
- vehicleId (string, declared required)
- routeId (string, declared required)
- sequence (number, optional)
- pickupTime (string, optional)
- dropTime (string, optional)
- studentId (string, declared required)
- stopId (string, optional)
- direction (string, optional)
- id (string, optional)
- version (string, optional)
- date (string, declared required)
- status (string, declared required)
- note (string, optional)
- reason (string, optional)
- notes (string, optional)
- marks (BoardingMarkDto[], declared required)
- force (boolean, optional)

## Current limits

- Drivers see only their assigned operations. Recorded GPS points are not proof of an active device feed; no live tracking hardware is provisioned here.

## Actual application access

- https://avkul.in/en/school/transport

## API reference

- GET /api/v1/transport/workspace — Read; transport:view
- POST /api/v1/transport/workspace/vehicles — Vehicle; transport:create
- POST /api/v1/transport/workspace/routes — Route; transport:create
- POST /api/v1/transport/workspace/stops — Stop; transport:create
- POST /api/v1/transport/workspace/assignments — Assignment; transport:create
- POST /api/v1/transport/workspace/:kind/:id/delete — Remove; transport:delete
- POST /api/v1/transport/workspace/trips/start — Start; transport:update
- POST /api/v1/transport/workspace/trips/:id/mark — Mark; transport:update
- POST /api/v1/transport/workspace/trips/:id/end — End; transport:update
- POST /api/v1/transport/workspace/trips/:id/notify — Notify; transport:update
- GET /api/v1/transport/trips — List Trips; transport:view
- GET /api/v1/transport/trips/:id/manifest — Manifest; transport:view
- POST /api/v1/transport/trips/start — Start Trip; transport:update
- POST /api/v1/transport/trips/:id/mark — Mark Boarding; transport:update
- POST /api/v1/transport/trips/:id/end — End Trip; transport:update
- POST /api/v1/transport/trips/:id/notify — Notify Families; transport:update
- GET /api/v1/transport/vehicles — List Vehicles; transport:view
- POST /api/v1/transport/vehicles — Create Vehicle; transport:create
- PATCH /api/v1/transport/vehicles/:id — Update Vehicle; transport:update
- DELETE /api/v1/transport/vehicles/:id — Remove Vehicle; transport:delete
- GET /api/v1/transport/routes — List Routes; transport:view
- POST /api/v1/transport/routes — Create Route; transport:create
- PATCH /api/v1/transport/routes/:id — Update Route; transport:update
- DELETE /api/v1/transport/routes/:id — Remove Route; transport:delete
- POST /api/v1/transport/routes/:id/optimize — Optimize Route; transport:update
- GET /api/v1/transport/stops — List Stops; transport:view
- POST /api/v1/transport/stops — Create Stop; transport:create
- PATCH /api/v1/transport/stops/:id — Update Stop; transport:update
- DELETE /api/v1/transport/stops/:id — Remove Stop; transport:delete
- GET /api/v1/transport/assignments — List Assignments; transport:view
- POST /api/v1/transport/assignments — Create Assignment; transport:create
- PATCH /api/v1/transport/assignments/:id — Update Assignment; transport:update
- DELETE /api/v1/transport/assignments/:id — Remove Assignment; transport:delete
- GET /api/v1/transport/fuel-logs — List Fuel Logs; transport:view
- POST /api/v1/transport/fuel-logs — Create Fuel Log; transport:create
- PATCH /api/v1/transport/fuel-logs/:id — Update Fuel Log; transport:update
- DELETE /api/v1/transport/fuel-logs/:id — Remove Fuel Log; transport:delete
- POST /api/v1/transport/vehicles/:id/location — Record Location; transport:update
- GET /api/v1/transport/vehicles/:id/location/latest — Latest Location; transport:view
- GET /api/v1/transport/vehicles/:id/location/history — Location History; transport:view
- GET /api/v1/transport/fleet/locations — Fleet Locations; transport:view

## Demo access

No login is required for the guided sample demo. Its fictional records and actions stay in this browser tab; they do not modify ERP records or send messages/payments. An assigned account is required for the actual ERP links.

Source inventory checked on 11 October 2026. This source inventory is not a certification of every external provider or device flow.
