NV Operator
Access Control
| User Email | Role | Added Date | Actions |
|---|
Role Permissions Matrix
Quick reference for what each role can access and do across the system
| Role | Create Route | Edit Route | Bulk Upload | Force Complete | Approve Driver | Archive | Vendor Mgmt | Access Ctrl | Navigation |
|---|---|---|---|---|---|---|---|---|---|
|
Superuser
Full override, user mgmt |
✓ | ✓ All | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | All Views + System Setup |
|
Admin
Full access, no override |
✓ | ✓ All | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | All Views |
|
Ops Admin
Create & archive routes |
✓ | ✓ All | — | — | — | ✓ | — | — | Create · Monitor · BI · Shippers · Tickets |
|
Transport Admin
Legacy role — not assignable via UI |
— | ✓ All | — | — | ✓ | ✓ | ✓ | ✓ | Assign · Monitor · BI · Drivers · Shippers · Tickets · Vendors · Access |
|
Transport Operator
Assign & monitor active routes |
— | ✓ Active | — | — | ✓ | — | — | — | Assign · Monitor · Invoice · BI (view only, no export) · Drivers · Tickets |
|
Salesperson
Books orders, raises the route |
✓ | — | — | — | — | — | — | — | Order Booking (create & edit) · Create Route · BI (view only, no export) · Tickets |
|
Finance
Ticketing only |
— | — | — | — | — | — | — | — | Tickets (create & edit) |
✓ All = can edit active & completed/failed routes · ✓ Active = edit only while route is in-progress (not confirmed/completed/failed)
Email Templates
Configure the invite email templates sent to vendors and shippers. Changes are saved to Firestore and immediately applied to Firebase Auth.
Vendor Invite Email
Sent when inviting a new vendor (transport company) to the Vendor Portal.
Shipper Invite Email
Saved to Firestore and applied to Firebase Auth each time a shipper invite is sent.
Claims Email (Loss & Damage)
Sent to shipper(s) when a damage/loss ticket is resolved. Supports placeholders: {{ticket_id}} {{shipper_name}} {{route_id}} {{date}} {{description}} {{amount}} {{claim_type}}
Order Booking
Record shipper booking orders. Route Creation Status reflects whether a matching route (Reference + Shipper + Route Date) already exists.
Upload Issues
| Reference No | Shipper | Route Date | Delivery Date | Truck No | Trip Type | Truck Type | Helpers | Booking Status | Route Code | Remark | Route Creation | Actions |
|---|
Create Route
Deploy New Route
Configure shipper, driver, multiple waypoints with GPS coordinates, contact details and SLA times — all in one form before saving.
Duplicate copies an existing route's shipper, drops and settings onto a new Route ID and a Route Date you choose.
CSV Template Format
One row per drop. Rows sharing the same Route_ID are grouped into a single route. Drop order follows Drop_Sequence, or file row order when it is blank.
Columns:
Route_ID, Shipper_Global_ID, Route_Date, Revenue_Route_Type, Cost_Route_Type, Revenue_Service_Type, Cost_Service_Type, VAS_Cost_Actual_Helper, VAS_Revenue_Actual_Helper, Driver_ID, Vehicle_Type, Route_Code, Reference, Drop_ID, Drop_Sequence, Drop_Type, Drop_Address, Drop_LatLng, Drop_ContactName, Drop_ContactNumber, Drop_StartTime, Drop_EndTime, Drop_PlannedDeliveryDate, Drop_BranchCode, Drop_Instructions
• Route_ID: leave blank to auto-generate a running number (each blank row = a separate new single-drop route). For multi-drop new routes, use a consistent placeholder (e.g. "NEW-001") across all that route's rows — the placeholder is discarded and replaced with a generated ID once the route is created. For an existing route, enter its real ID to update it.
• Reference must be unique per Route Date + Shipper_Global_ID. A row is rejected if the same Reference is repeated in the file, or already exists on another route for that date & shipper. Leave blank to skip the check.
• Route-level fields (first row of each group is used; a differing later-row value is flagged): Shipper_Global_ID, Route_Date, Revenue_Route_Type, Cost_Route_Type, Revenue_Service_Type, Cost_Service_Type, VAS_Cost_Actual_Helper, VAS_Revenue_Actual_Helper, Driver_ID, Vehicle_Type, Route_Code, Reference.
• VAS_Revenue_Actual_Helper: helpers billed to the shipper (head count). Blank is not zero — a blank leaves the route's existing value alone and lets billing keep whatever was entered there. Enter 0 to bill zero helpers.
• Route_Date format: YYYY-MM-DD | LatLng format: "13.7563, 100.5018"
• StartTime / EndTime: HH:MM format — minutes must be 00 or 30 (e.g. 09:00, 14:30). Required — a blank window is rejected; enter a window (e.g. 09:00 & 18:00).
• Drop_Type: "pickup" or "delivery" — any drop can be either, multiple pickups per route allowed. Blank defaults to the first row in the group = pickup, all others = delivery.
• Drop_PlannedDeliveryDate: YYYY-MM-DD — delivery-type drops only, defaults to Route_Date if blank.
• Drop_BranchCode: the branch code from the Branches tab of the fulfillment portal (e.g. BHC-CHA) — delivery drops only. This is what links the drop to its OMS order: the order is matched by shipper + branch code + planned delivery date. Leave blank if the drop has no OMS order. Two delivery drops with the same branch code on the same date are rejected — neither would link.
• Drop_ID / Drop_Sequence: leave Drop_ID blank to add a new drop; use the value from a By-Drop export to target an existing drop. On an existing route a matching Drop_ID updates that drop in place, only while it is still PENDING (COMPLETED/FAILED drops are left untouched). Drop_Sequence (whole number) sets the drop order; blank falls back to file row order.
Drag & Drop CSV File
or click to browse from your computer
Upload Issues
Route Planner Export (Auto-Convert)
Upload a raw stop-level export (.csv or .xlsx) — one row per stop. The converter groups stops by vehicle-id, flattens them into routes, then imports directly.
• Expected columns: vehicle-id, stop-number, stop-address, stop-latitude, stop-longitude, start-time-window, end-time-window, arrival-time, stop-name, type
• vehicle-id format: [Shipper Global ID]-[YYMMDD]-[Suffix] — used to derive Route_ID, Shipper_Global_ID, Route_Date
• stop-name format: [ContactNumber]_[ContactName] (split on first underscore)
• type (optional): "P" → Pickup, "D" → Delivery, any other value passed through as-is. Blank defaults to stop 0 = Pickup, all others = Delivery.
• Stops with type = "depot" (typically stop-number 0) are excluded entirely — no Drop column is created for them. Drop0 is always the first non-depot stop, numbered sequentially regardless of the raw stop-number.
• If arrival-time contains "1d", that drop's Planned Delivery Date is Route_Date + 1 day
• vehicle-name (optional): parsed for route type codes — Rev:S → Revenue Single Trip, Rev:R → Revenue Round Trip, Cost:S → Costing Single Trip, Cost:R → Costing Round Trip. Example: 4W2.5T_Rev:S_Recur_Cost:R_Recur. Omit to leave both types blank.
• Same create/update/skip rules as the standard template apply once converted
• Re-uploading overwrites: if a route already exists with the same vehicle-id (Reference) + Shipper ID + Route Date, that route is updated in place instead of creating a duplicate (a route whose first drop is already COMPLETED is skipped).
Drag & Drop Planner Export
CSV or Excel — converted and imported automatically
Conversion Issues
Import History
· this sessionVehicle Routing Problem (VRP) Optimizer
Assigns multiple shipments across a fleet of vehicles — respecting weight, volume, and delivery time windows — and returns the optimal visit sequence for each truck.
• Max 3 runs/day per unique shipment batch (tweak params freely within the limit)
• Max 1,000 locations/month across all VRP calls (free tier guard)
• Each run costs 2 locations per shipment (pickup + delivery)
• Upload a CSV/XLSX to bulk-load fleet + shipments at once
Bulk Load — Drops from File
One row per delivery stop. Configure fleet above. Pickup defaults to depot.
Drop .csv or .xlsx here or browse
Replaces current drop list — fleet cards are unchanged
Route Configuration
Depot — Start & End Point for All Vehicles
Fleet
No vehicles added — click Add Vehicle
Shipments
No shipments added — click Add Shipment
Confirm Route Creation
Review before pushing to live system
Pending Vendor Reassignment Requests
Route Monitoring
Today's Completion Rate
--%
Some rows had issues
Sorted by shipper late impact — worst shipper first, worst route within each. Click any column header to override.
| Route Date ⇕ | Route ID ⇕ | Shipper Name ⇕ | Driver | Progress ⇕ | Status ⇕ | Action |
|---|
Invoice Monitoring
Review delivery document photos for in-progress and completed routes with DOC Return, then mark each Valid or Invalid.
| Route Date ⇕ | Route ID ⇕ | Shipper Name ⇕ | Driver ⇕ | Documents ⇕ | Checked Status ⇕ |
|---|
Driver Fleet & Approvals
Audit Logs
Track of all key actions performed by operators and admins.
Shipper Directory
Register New Enterprise Shipper
Add credentials, pickup location, geofence settings and LINE invite access
CSV Template Format
Global_ID, Shipper_Name, Pickup_Location, Pickup_LatLng, Liaison_Name, Phone_Number, Login_Email, Admin, Salesperson, Route_Treatment, Geofence_Enabled, Geofence_Radius_M
• Route_Treatment: Fixed Route / Dynamic Route (blank = not set) | Geofence_Enabled: true / false | Geofence_Radius_M: metres (e.g. 1000)
Drag & Drop Shippers CSV
or click to browse
| Enterprise · by ID | Login / LINE | Pickup Details | Actions |
|---|
Driver Assignment
Assign approved drivers to routes. Search routes by ID, shipper, or date.
Pending Vendor Reassignment Requests
| Route | Shipper | Route Date | Drop 1 Address | Assigned Driver | Action |
|---|
Ticketing
Track driver penalties, shipper issues, and address complaints.
| Ticket ⇕ | Type ⇕ | Route / Shipper / Driver ⇕ | Status ⇕ | Lead Time ⇕ | Assigned To ⇕ | Created ⇕ | Actions |
|---|
Vendor Fleet Management
Create and manage transport company vendor accounts.
Ticket Admin
Manage issue types, sub-issue types and their SLA targets.
SLA target = working days from ticket creation to a decision (Resolved or Not Do — a waiver stops the clock too). Working week is Mon–Sat; Sundays, Thai BOT holidays and the BI public-holiday calendar are excluded. A blank target inherits the type default, which inherits 2 working days. Compliance is reported in BI Analytics → Ticketing Performance.
Add New Issue Type
BI Analytics
Filters
The Route Breakdown export downloads per-drop detail for every route matching the filters above. Set a date range to export beyond the latest 500 routes.
Transport Performance
Tap any metric card to see its formula and the exact drops behind the number.
How each metric is calculated
Overall OTP
--%
pickup + delivery on-time · tap for detail
Pickup OTP
--%
pickup on-time (early ok) · tap for detail
Delivery OTP
--%
delivery on-time (early ok) · tap for detail
DOC Return OTP
--%
by next working day · tap for detail
Fail Rate
--%
failed ÷ all drops · lower is better
Avg Time at Drop
—
arrived → success/fail · tap for detail
Total Routes
0
0 routes matched
Trend Analysis
routes & pickup/delivery on-time performance over the selected period
Trip Summary — routes by service type
Pickup Performance — on-time vs not on-time
Delivery Performance — on-time vs not on-time
Distance & Drop Metrics — actual distance & drop counts by period
Drops use billing logic — Revenue = every delivery drop; Cost = unique delivery locations (same lat/lng = 1 stop).
| Period | Act Dist Avg | Act Dist Max | Rev Drops Avg | Rev Drops Max | Cost Drops Avg | Cost Drops Max |
|---|
Shipper Performance
7 transport metrics per shipper · click any header to sort
Vendor Performance
7 transport metrics per vendor fleet (driver's company) · click any header to sort
Driver Performance
7 transport metrics per driver · click any header to sort
Ticketing Performance
Working days: Mon–Sat · Sundays, Thai BOT holidays and the excluded · SLA target is set per sub-issue type in Ticket Admin (default 2 working days) · Resolved and Not Do both stop the clock
Active Tickets
0
open + working
Total Tickets
0
raised in date range
Resolved
—
resolved or not-do
Avg Lead Time
—
open → resolved (working hrs)
SLA Compliance
--%
% of closed tickets that met their sub-type SLA target
SLA by Issue Type & Sub-issue Type
target vs. avg working-day lead time · % of closed tickets that met target
By Assignee
total assigned · resolved · avg lead time