PVR
GitHub
Trips dispatch

Trips & Dispatch

The operational pages for assigning vehicles, tracking trips and managing fleet availability in Taxi CRM 2026.

9 min read
Updated June 20, 2026

The Trips & Dispatch area is where dispatchers and fleet operators run day-to-day operations: assigning drivers to bookings, watching dispatcher performance, managing recurring and cancelled trips, tracking pickup/drop SMS, and controlling which vehicles are free or locked. This page documents seven screens — assignAllot.html, dispatcherWise.html, regularTrips.html, cancelledTrips.html, pickupDrop.html, freeVehicle.html and lockVehicle.html.

Every page in this group is built the same way: a sticky page header, an optional hidden multi-criteria search panel (#show_multiple_filter_div, toggled from the header and populated into #append_col), and a single DataTables grid (#initDataTable) inside a card panel. Because they share that skeleton, customizing one is mostly a matter of editing its column list and its page script under assets/js/pages/. See Tables for how the grid, search and export controls are wired, and Layout for the panel/row structure.

Assign & Allot (assignAllot.html)

↗ View live demo

The dispatcher's primary work queue: a list of booked trips that still need a driver assigned and a vehicle allotted. Used by dispatchers and operations staff to turn confirmed bookings into live trips. Page subtitle is Trips Booking; the script is assets/js/pages/bookings/assignAllot.js (with shared demo data from assets/js/pages/shared/data.js).

the Assign / Allot data table with the Action column

Grid columns:

ColumnNotes
#Row index
PNRBooking reference (searchable)
NamePassenger name (searchable)
FromPickup location (searchable)
ToDrop location (searchable)
Pickup TimeScheduled pickup (searchable)
Expected DropEstimated drop time (searchable)
Vehicle TypeFilterable via a column select
ActionAssign driver / allot vehicle controls

The hidden Assign / Allot Search panel lets staff narrow the queue by multiple criteria before acting. Searchable text columns carry the .apply_search class and the Vehicle Type column uses .apply_select to render a dropdown filter.

Customize: the assignment workflow lives in assignAllot.js — wire the Action column buttons to your real assign/allot endpoints and replace shared/data.js with live booking data. Add or remove columns in the thead, keeping the .apply_search / .apply_select classes consistent with the data rows.

Dispatcher-Wise (dispatcherWise.html)

↗ View live demo

A performance summary that rolls up booking and dispatch activity per dispatcher over a period. Used by supervisors and managers to compare team members. Page subtitle is Summary; the script is assets/js/pages/reports/dispatcherWise.js (note this one lives under reports/, since it is a report rather than a booking action).

the per-dispatcher summary table with VID logins and collection totals

Grid columns:

ColumnNotes
S.NoRow index
NameDispatcher name (searchable)
VID LoginsVehicle-ID login count (centered)
VID LogoutsVehicle-ID logout count (centered)
BookBookings created (centered)
AllotAllotments made (centered)
CloseTrips closed (centered)
CancelTrips cancelled (centered)
CollectionTotal collected, right-aligned

There is a hidden Dispatcher Wise Search panel for filtering the summary. Unlike the action pages, this grid has no Action column — it is read-only reporting.

Customize: point dispatcherWise.js at your reporting endpoint and map each dispatcher's aggregates to these columns. This page pairs well with the Widgets KPI tiles and Charts if you want a visual summary above the table.

Regular Trips (regularTrips.html)

↗ View live demo

Manages recurring / scheduled trips — standing arrangements that repeat on chosen days of the week between a start and end date (for example, a daily office commute). Used by booking staff who set up and maintain repeat customers. Page subtitle is Scheduled Trips; the script is assets/js/pages/bookings/regularTrips.js.

Grid columns:

ColumnNotes
#Row index
Customer NameSearchable
MobileSearchable
FromPickup location (searchable)
ToDrop location (searchable)
Start DateSchedule start (searchable)
End DateSchedule end (searchable)
Days in WeekRecurrence days, filterable via a column select
Pickup TimeSearchable
StatusFilterable via a column select (e.g. active / paused)
ActionEdit / manage the recurring trip

The hidden Regular Trips Search panel filters by the same criteria. Days in Week and Status both use .apply_select dropdown filters.

Customize: model the recurrence (days-of-week + date range) in your backend and bind it to the Days in Week column; wire the Action and Status controls in regularTrips.js. For badge styling on the Status column, reuse the kit badges (see Tables).

Cancelled Trips (cancelledTrips.html)

↗ View live demo

A record of trips that were cancelled, with the reason captured per row. Used by operations and support to review cancellations and follow up. Page subtitle is Trip Management; the script is assets/js/pages/bookings/cancelledTrips.js.

Grid columns:

ColumnNotes
#Row index
PNRBooking reference (searchable)
NamePassenger name (searchable)
FromPickup location (searchable)
ToDrop location (searchable)
Pickup TimeSearchable
Cancel ReasonFilterable via a column select
Vehicle TypeFilterable via a column select
ActionReview / restore-style controls

The hidden Cancelled Trips Search panel narrows the list. Cancel Reason and Vehicle Type are dropdown (.apply_select) filters so staff can group cancellations by cause.

Customize: supply your cancellation reasons as the Cancel Reason filter options and bind real data in cancelledTrips.js. Note this page (unlike most siblings) does not include shared/data.js — it loads its own data from its page script.

Pickup & Drop (pickupDrop.html)

↗ View live demo

Tracks active trips through their pickup and drop legs, including the SMS notification status sent to the customer. Used by dispatchers monitoring trips in progress. Page subtitle is Trip Management; the script is assets/js/pages/bookings/pickupDrop.js (with shared/data.js).

Grid columns:

ColumnNotes
#Row index
PNRBooking reference (searchable)
NamePassenger name (searchable)
FromPickup location (searchable)
ToDrop location (searchable)
Pickup TimeSearchable
Exp DropExpected drop time (searchable)
Vehicle TypeFilterable via a column select
SMS StatusNotification state, filterable via a column select
ActionTrip controls

A hidden Pickup & Drop Search panel filters the list; Vehicle Type and SMS Status are dropdown filters.

Customize: the SMS Status column is the distinguishing feature — bind it to your messaging provider's delivery state and present it as a badge. Wire the rest in pickupDrop.js.

Free Vehicle (freeVehicle.html)

↗ View live demo

A real-time view of available, unassigned vehicles ready for the next booking, with idle-time and collection context to help dispatchers pick the right one. Used by dispatchers during allocation. Page subtitle is Current Status; the script is assets/js/pages/bookings/freeVehicle.js (with shared/data.js).

This grid is read-only and column-rich — there is no Action column; every column is a searchable text column (.apply_search):

ColumnNotes
S.NoRow index
VIDVehicle ID
Vehicle NumberPlate / registration
Driver NameAssigned driver
Idle TimeHow long the vehicle has been free
Month CollMonth-to-date collection
Empty KMDistance driven without a fare
TripsTrip count
CollectionCollection total
CC BalanceCash-collection / account balance
Login TimeWhen the vehicle logged in
Current LocationLast known location

The hidden Free Vehicle Search panel filters across these fields.

Customize: this page is meant to reflect live status, so connect freeVehicle.js to a real-time feed and consider sorting by Idle Time. Because all columns are .apply_search, add a column select only where you want a dropdown filter instead of free-text search.

Lock Vehicle (lockVehicle.html)

↗ View live demo

Controls vehicles that have been locked out of service — typically for unpaid dues, expired documents or pending payments — so they can't be dispatched until resolved. Used by fleet managers and accounts staff. Page subtitle is Vehicle Management; the script is assets/js/pages/masters/lockVehicle.js (note it lives under masters/).

Unlike the other pages, Lock Vehicle opens with a row of four summary stat cards (widget-stats-card-2) above the table:

CardMeaningPattern
Total LockedCount of locked vehicles (#totalLockedVehicles)red
Payment PendingVehicles awaiting payment (#paymentPendingCount)orange
Document ExpiredVehicles with expired documents (#documentExpiredCount)yellow
Total Due AmountSum of dues in (#totalDueAmount)blue

Each card shows a trend indicator (--up / --down / --neutral). These reuse the kit's pale palette — see Widgets for the widget-stats-card-2 anatomy.

Grid columns:

ColumnNotes
#Row index
Vehicle NoSearchable
Owner NameSearchable
Driver NameSearchable
MobileSearchable
Lock ReasonFilterable via a column select
Due AmountOutstanding amount (searchable)
Locked DateWhen it was locked (searchable)
StatusFilterable via a column select
ActionLock / unlock controls

The hidden Vehicle Search panel filters the locked list; Lock Reason and Status are dropdown filters.

Customize: populate the four summary cards from your locked-vehicle aggregates in lockVehicle.js (the spans carry stable IDs like #totalDueAmount), define your Lock Reason options, and wire the Action column to your lock/unlock endpoints. Keep the card patterns to the documented pale colors rather than introducing new hex values — see CSS System.

Was this page helpful?