// BPE-FMS · INTERACTIVE TRAINING GUIDE
Welcome to BPE Fleet Management System
Complete all 12 modules to be certified to use the system. Click any module card below to jump straight to it, or use the sidebar to navigate.
ℹ️
How to use this guideEach module has numbered steps you can expand. Every form shows real sample data you can copy. Every photo angle has a downloadable SVG you can upload to the system as a test file.
User Roles in this System
Requestor — Any staff who needs to borrow a vehicle
Fleet PIC — Fleet person-in-charge, approves and manages all vehicles HOD — Head of Department, second approver PM — Project Manager, approves project-related trips Admin — System administrator, full access
All 12 Training Modules
01
Register a Vehicle
~5 min · Admin / Fleet PIC
02
Request a Vehicle
~8 min · Requestor
03
Approve Requisition
~5 min · Fleet PIC / HOD
04
Pre-trip Inspection
~10 min · Fleet PIC
05
Vehicle Handover
~5 min · Fleet PIC
06
Vehicle Return
~8 min · Requestor + Fleet PIC
07
Report a Repair
~5 min · Requestor / Fleet PIC
08
Documents & Q&A
~5 min · All roles
09
Undertaking Letters
~4 min · Fleet PIC
10
Touch 'n Go Cards
~3 min · Fleet PIC
11
Reports & Alerts
~6 min · Fleet PIC / HOD
12
Predictions (AI)
~6 min · Fleet PIC / HOD
// MODULE 01 · ADMIN / FLEET PIC
Register a Vehicle
Add a new vehicle to the BPE fleet database before it can be requisitioned or inspected.
Fleet PIC / Admin→ Vehicles → Add Vehicle→ Fill details→ Vehicle created · status: Available
1
Navigate to Vehicles → Add Vehicle
›

From the left sidebar, click Vehicles, then click the "Add Vehicle" button at the top-right of the page. This opens the Add New Vehicle form. You must be logged in as Fleet PIC or Admin.

2
Fill in vehicle details — use this sample data
›

Copy this sample data exactly to register a pickup truck for testing:

Sample Data — LGT-P02 Vehicle Record (Pickup Truck)
Plate No.WKL 5522
ModelToyota Hilux Rogue 2.8
Typepickup_truck
Current Odometer (km)54,320
Last Service (km)52,000
Next Service (km)56,000
Insurance Expiry2026-11-30
Road Tax Expiry2026-11-30
Statusavailable
Sample Data — Sky Lift (Extra Fields Required)
Plate No.WA 1133 B
ModelZoomlion ZT18J Sky Lift
Typesky_lift
PMA Expiry2026-08-15
PUSPAKOM Expiry2026-06-01
GDL Expiry2027-01-20
⚠️
Sky Lift OnlyPMA, PUSPAKOM (twice yearly), and GDL licence fields only appear when vehicle type is set to sky_lift. These are legally mandatory — the system will block requisition if they are expired.
3
Click "Add Vehicle" — confirm the vehicle appears in the list
›

Click "Add Vehicle". You will be redirected to the Vehicles list. Find WKL 5522 in the list. Its status should show Available.

✅
Success criteriaVehicle appears in list, status is Available, and odometer shows 54,320 km.
// MODULE 02 · REQUESTOR · LGT-P02-F001 Section A
Request a Vehicle (Requisition)
Submit a Vehicle Requisition Form at least 1 working day before the trip. This triggers the approval workflow.
Requisitions → New Requisition→ Fleet PIC verifies→ HOD / PM approves→ Approved
1
Navigate to Requisitions → + New Request
›

Click Requisitions in the sidebar, then "New Requisition". This opens the New Vehicle Requisition form. You are filling in LGT-P02-F001 Section A — the pre-trip request.

⏰
1 Working Day Rule (§4.1.1.1)The "Date Required" must be at least 1 full working day after today. You cannot book a vehicle for same-day use through this form.
2
Fill in Section A — use this sample data
›
LGT-P02-F001 · Vehicle Requisition Form — Section A (Pre-trip)
Requestor Details
Name
Ahmad Faris bin Malik
Department
Engineering
Phone
012-345 6789
Trip Details
Purpose
outstation
Destination
Site Alpha, Gebeng, Pahang
Project / Task
Pipeline inspection — PO-2026-0042
Date Required
2026-04-22
Estimated Return
2026-04-24
Estimated Days
3
Vehicle Selection AI
Plate No. (AI suggests)
WKL 5522
Model
Toyota Hilux Rogue 2.8
3
Use "AI Suggest" to auto-pick the best vehicle AI
›

After entering Destination and Estimated Days, click the purple "AI Suggest" button. Gemini will:

  • Score all available vehicles (0–100)
  • Rank by service buffer, expiry dates, and suitability for the destination
  • Show reasons for each recommendation
  • Highlight vehicles with critical alerts in red
  • Match vehicle type to your task — e.g. "repairing high building" will recommend a sky lift, not a van
📝
Fill in Project / Task for best resultsThe AI reads your Project / Task field to understand the nature of work. If your task involves working at height (e.g. "repair antenna on roof", "painting building facade"), the AI will recommend a sky lift over a regular vehicle. A vague or empty Project/Task field may result in a less suitable recommendation.
Expected AI Response (sample)
Recommendation: WKL 5522 (Score: 87)
"Best service buffer (2,680 km remaining). Road tax and insurance valid through November 2026. Pickup truck suitable for outstation site visit to Pahang."
4
Submit the requisition
›

Click "Submit Requisition". The form is assigned a reference number (e.g. VRF-2026-0042) and status changes to Pending Fleet PIC.

📋
What happens nextFleet PIC receives a notification. They will verify the request and either forward to HOD/PM for approval or reject with a reason.
🗑️
Need to cancel or delete a requisition?A Delete Requisition button is available on the requisition detail page at any status — including Approved or In Use. Only the original requestor or Fleet PIC can delete it. If the vehicle is already In Use, it will automatically be returned to Available status. This action is permanent and cannot be undone.
// MODULE 03 · FLEET PIC / HOD / PM
Approve a Requisition
Fleet PIC verifies first, then HOD or PM gives final approval. Both steps are required before the vehicle can be dispatched.
Pending Fleet PIC→ Fleet PIC: Verify & Forward→ Pending HOD→ HOD/PM: Approve→ Approved
1
Fleet PIC — Open the requisition
›

Log in as Fleet PIC. Go to Requisitions. Filter by Status: Pending Fleet PIC. Open VRF-2026-0042.

Check the following before verifying:

  • Vehicle WKL 5522 is available on the requested dates
  • Requestor has a valid Undertaking Letter on file
  • Insurance and road tax are valid for the full trip duration
  • No critical alerts on the selected vehicle
2
No BPE vehicle available? Mark as Rental (LGT-P02 §5.1)
›
🚗
Rental path (alternate)If no BPE vehicle is available for the trip dates, Fleet PIC marks the requisition as a rental instead of rejecting it. PE then sources an external rental vehicle and generates a PO.

On the requisition page, scroll to "No BPE Vehicle Available?" panel. Click "Mark as Rental Vehicle", enter the vendor name and PO reference, then click "Confirm Rental".

Rental Details
Rental Vendor
Mayflower Car Rental Sdn Bhd
PO Reference
PO-2026-0199

The requisition shows a RENTAL VEHICLE badge in Section A. The pre-trip BPE inspection is not required — proceed straight to HOD approval and handover.

3
Click "Verify & Forward to HOD"
›

At the bottom of the requisition, click "Verify & Forward to HOD". Status changes to Pending HOD. HOD is notified automatically.

🚫
Cannot approve if: Requestor has no undertaking letter, vehicle has expired insurance/road tax, or a bold checklist item was rated 3 in the last inspection. Rental requisitions skip the inspection check.
4
HOD / PM — Final approval
›

Log in as HOD or PM. Go to Requisitions, filter by Pending HOD. Open the form and click "Approve Requisition".

Or click "Reject", enter a reason, then click "Confirm Rejection" — the requestor will see the rejection reason.

Sample Approval Comment
"Approved for site visit PO-2026-0042. Return by 24 Apr 2026 EOD. Vehicle must be clean and fuelled upon return."
// MODULE 04 · FLEET PIC · LGT-P02-F003
Pre-trip Vehicle Inspection
Mandatory inspection before any vehicle is handed over. Uses LGT-P02-F003 checklist. AI damage detection and odometer OCR are available.
🔴
Blocking Rule (LGT-P02-F003)If any BOLD checklist item (steering, brakes, seatbelt, dashcam, tyres, headlights, etc.) is rated 3 = Needs Repair, the vehicle CANNOT be dispatched. The requisition is blocked until the defect is resolved.
1
Take photos of the vehicle BEFORE you start the form
›

Stand approximately 3–4 metres from the vehicle for exterior angles. Photos must be clear, taken in daylight or well-lit area. 4 angles are required (Front, Rear, Left Side, Right Side) before the form can be submitted. Odometer, Tires, Documents, Interior, and Damage are optional but recommended.

Front
① Front
Stand directly in front of the vehicle. Include the full bumper and number plate.
⬇ Download sample
Rear
② Rear
Stand directly behind. Include taillights, rear bumper, and rear number plate.
⬇ Download sample
Left Side
③ Left Side
Stand to the left. Capture full body length — doors, mirrors, sill.
⬇ Download sample
Right Side
④ Right Side
Stand to the right. Same as left side — full body length.
⬇ Download sample
Odometer
⑤ Odometer
Close-up of instrument cluster. Digits must be clearly readable. AI will OCR the km value.
⬇ Download sample
Interior
⑥ Interior
From driver's door, capture seats, dashboard, and seatbelts. AI checks cleanliness.
⬇ Download sample
Damage
⑦ Damage (if any)
Close-up of any existing dents, scratches, cracks. Helps AI rate severity and pre-fills checklist.
⬇ Download sample
🛞
⑧ Tires (optional)
Close-up of tyre tread and sidewall. Check tread depth ≥2.5mm and manufacturing date (DOT code). LGT-P02-F003 §6.1 item 6.
📋
⑨ Documents (optional)
Photo of road tax sticker, insurance cert, or GDL. Helps Fleet PIC verify legal compliance at a glance. LGT-P02-F003 §6.1 item 7.
🏗️
Sky Lift — 3 additional photo angles (LGT-P02 §6.2)When the vehicle is a sky lift, the system automatically shows three extra angle chips: Boom / Hydraulics, Outrigger, and Bucket / Platform. These angles only appear for sky lift vehicles. The inspection type also defaults to Daily for sky lifts (§6.2 pre-operation daily check). If any of these is rated Severity 3 by the AI Damage Scan, an immediate WhatsApp alert is sent to Fleet PIC and PM — do NOT operate the sky lift until rectified.
2
Create Inspection record & upload photos
›

Go to Inspections, click "New Inspection". Link it to requisition VRF-2026-0042, set type to Request (before handover). Click "Start Inspection". On the next screen, upload the 7 photos downloaded above — tag each with the correct angle.

When you upload the odometer photo (tagged odometer), the system automatically triggers OCR AI. Wait 3–5 seconds for the km value to auto-fill.

3
Run AI Damage Scan AI
›

Click the purple "AI Damage Scan" button. Gemini analyses all 4 exterior photos (front, rear, left, right). After ~10 seconds you'll see a result panel like this:

Sample AI Damage Scan Result
Overall condition: Fair
Safe to proceed: ✅ Yes
Finding 1 — Rear bumper, left corner: Severity 2 — Minor scuff, cosmetic only. Monitor.
Finding 2 — Front left tyre: Severity 1 — OK, no visible wear issues.
Summary: Vehicle is roadworthy. Pre-existing cosmetic scuff on rear bumper noted.

Click "Auto-apply to checklist" to pre-fill the checklist rows with AI findings. Then click "Confirm findings" to lock the AI result.

4
Complete the physical checklist
›

Go through the physical vehicle and rate each item. Use this reference:

LGT-P02-F003 — Vehicle Inspection Checklist (partial sample)
ItemRatingNotes
Steering Wheel1 ✓OK
Brake System1 ✓OK
Air Conditioning1 ✓OK
Seatbelt (all)1 ✓OK
Dashcam1 ✓Operational
Dashboard Alarm2 ⚠Check engine light — monitor
Headlights1 ✓OK
Brake Lights1 ✓OK
Tires1 ✓Tread depth ~4mm, manufactured 2023
Engine Oil Level1 ✓OK
Bumper (front)2 ⚠Pre-existing scuff — noted in AI scan
Rating scale: 1 = OK · 2 = Monitor / Inform Fleet PIC · 3 = Do NOT proceed (bold items)
💬
Remarks and photos for Attention / Repair itemsWhen you rate any item as 2 (Attention) or 3 (Repair), a remark box appears automatically — describe the defect or issue clearly. An "Add photo" button also appears so you can attach evidence photos directly to that checklist item. To remove a wrongly uploaded photo, hover over the thumbnail and click the red ✕ button.
5
Submit inspection
›
📸
All 4 required angles must be uploaded (LGT-P02-F003 §6.1)The Submit button is locked until Front, Rear, Left Side, and Right Side photos are all uploaded. The angle tracker chips at the top of the Photos panel show which are still missing. Odometer, Tires, Documents, Interior, and Damage are optional but recommended.
🔴
Critical items block submissionIf any bold item (steering, brakes, tyres, etc.) is rated 3, the Submit button is disabled. Resolve the defect and re-rate the item before you can proceed.

Once photos are uploaded and no critical items are rated 3, click "Submit Inspection". The system generates e.g. INS-2026-0118 linked to VRF-2026-0042.

✅
Inspection referenceRequisition automatically moves to Ready for Handover.
🗑️
Made a mistake? If an inspection was created in error and has not yet been approved, a Delete Inspection button appears in the Actions panel on the inspection detail page. Only the original inspector or Fleet PIC can delete it. Approved inspections cannot be deleted.
// MODULE 05 · FLEET PIC · LGT-P02 §4.1.3
Vehicle Handover & Dispatch
Official handover of the vehicle keys and documents to the requestor. Updates vehicle status to In Use.
1
Open the approved requisition
›

In Requisitions, open VRF-2026-0042. Status must be Approved and an inspection record (INS-2026-0118) must be attached.

2
Enter odometer reading & fill handover details
›
⚠️
Odometer (Before) is required (LGT-P02 §4.1.3 h)You must enter the current odometer reading before clicking Hand Over. The button is blocked until this field is filled.
Handover Data
Odometer Before (km)54,320 — enter from dashboard or OCR
Date Lent2026-04-22
Items handed overKeys, road tax disc, spare tyre tool
3
Click "Hand Over Vehicle (Mark In Use)"
›

Click "Hand Over Vehicle (Mark In Use)". Status changes to In Use and vehicle status becomes in_use. The vehicle is now locked — it will not appear in AI vehicle matching for other requests until returned.

📱
What the requestor seesTheir requisition shows "Vehicle dispatched — return by 24 Apr 2026." They are responsible for the vehicle from this moment.
// MODULE 06 · REQUESTOR + FLEET PIC · LGT-P02-F001 Section B
Vehicle Return & Post-trip Inspection
Requestor fills Section B. Fleet PIC conducts return inspection. Damage found after the trip is the requestor's financial responsibility.
1
Emergency & Accident Protocol (§5.1.1.1) — while vehicle is in use
›
🚨
If an accident, breakdown, or abnormal condition occurs while the vehicle is in use:
The requisition page shows an Emergency & Accident Reporting panel automatically whenever a vehicle is in active use (status = In Use). Follow the steps shown there:
  1. Ensure personal safety. Move to a safe location.
  2. Call 999 (Malaysia Emergency) if there are injuries or a road hazard.
  3. Call 03-2052 9999 (PDRM Bukit Aman) or nearest police station to lodge a report.
  4. Notify Fleet PIC immediately — same day, no exceptions (LGT-P02 §5.1.1.1).
  5. Do not admit liability or sign any document on-site without Fleet PIC guidance.
  6. Click "Log Urgent Repair / Breakdown Report" on the requisition page so Fleet PIC and PM are notified in the system.
2
Requestor: Fill Section B on return
›
⚠️
Return inspection required first (LGT-P02 §4.1.4.5)The "Complete Section B" button is locked until Fleet PIC has completed a return inspection for this requisition. If you see an amber prompt instead of the button, click "Create Return Inspection" and complete it first.

Log in as Requestor. Open VRF-2026-0042. Once a return inspection exists, click "Complete Section B (Return Vehicle)".

LGT-P02-F001 · Section B (Return)
Return Details
Date Returned
2026-04-24
Time Returned
16:45
Parked At
BPE HQ · Basement B2 · Bay 07
Odometer (return)
54,842 km
Vehicle Cleaned?
Yes
Delayed Return?
No
Keys Returned to Fleet PIC? *
Yes — keys handed to Fleet PIC
Required field per LGT-P02 §5.1.1.3

Upload the odometer photo from the return trip — AI will OCR the reading AI and check for mileage anomalies.

3
Fleet PIC: Conduct return inspection
›

Go to Inspections → New Inspection. Set type to Return (upon return), link to VRF-2026-0042, click "Start Inspection". Repeat the 7-photo process and run AI Damage Scan again.

⚠️
Compare against pre-trip inspectionThe system shows the pre-trip (INS-2026-0118) photos side by side. Any NEW damage found that wasn't in the pre-trip inspection is automatically flagged as requestor-caused damage (§4.1.2 C).
4
Close the requisition
›

After the return inspection is submitted and approved, click "Close Requisition". Status changes to Closed. Vehicle status returns to available.

Total km driven = 54,842 − 54,320 = 522 km. This is recorded and the AI mileage anomaly check runs automatically.

// MODULE 07 · ALL ROLES · LGT-P02 §5.2
Report a Vehicle Repair
Any user can log a repair. AI classifies the category and urgency score (1–5). Urgency 4–5 triggers immediate Fleet PIC notification.
1
Navigate to Repairs → + New Repair
›

Click Repairs in the sidebar, then "New Repair Request". This opens the New Repair Request form. Select vehicle WKL 5522.

2
Describe the issue and use AI Classify AI
›
Sample Issue 1 — Urgent (Urgency 4)
"The engine is making a loud knocking sound since this morning. The temperature gauge is rising above normal. I have parked the vehicle and am not driving it."
Expected AI Result — Issue 1
Category: breakdown_urgent
Urgency: 4 — URGENT
Do NOT use vehicle: YES
Action: Contact Fleet PIC immediately. Do not start the engine. Arrange towing to workshop.
Notify: Fleet PIC, PM
Sample Issue 2 — Routine (Urgency 2)
"Air conditioning is not as cold as before. Still works but not very effective. Noticed this over the past few days."
Expected AI Result — Issue 2
Category: non_urgent_repair
Urgency: 2 — Monitor
Action: Log in inspection checklist remarks. Notify Fleet PIC via WhatsApp. Schedule gas top-up at next service.
3
Submit the repair request
›

Review the AI classification. Accept the category or change it if needed. Click "Submit Request" (button changes to "Log Urgent Request" if urgency ≥ 4). Reference number e.g. RPR-2026-0031 is generated.

🔔
Fleet PIC NotificationsUrgency 4–5 → immediate alert on Fleet PIC's dashboard (Critical Alerts section). Urgency 1–3 → appears in Repairs list for review.
// MODULE 08 · ALL ROLES
Documents & AI Procedure Q&A
All BPE fleet procedures are indexed for AI search. Ask any question in plain English or Bahasa Malaysia — the AI answers with exact section citations.
1
Upload a procedure document
›

Go to Documents → Upload. Use this sample document record:

Sample Document Record
TitleFleet Management Procedure
Doc CodeLGT-P02
Typeprocedure
RevisionRev 01
Effective Date2025-10-10

After upload, click "Index for AI". The system splits the document into ~400-token chunks and creates embeddings using Gemini text-embedding-004. This takes ~30 seconds for a 20-page document.

2
Ask questions in the Q&A panel AI
›

Click the Q&A tab on the Documents page. Try these sample questions:

Sample Questions & Expected AI Answers
Q: What are the steps to request a vehicle?
A: Per LGT-P02 §4.1.1, complete steps: 1) Submit VRF (LGT-P02-F001) at least 1 working day in advance. 2) Fleet PIC verifies availability. 3) HOD/PM approves. 4) Pre-trip inspection by Fleet PIC...
Q: What do I do if there is a road accident?
A: Per LGT-P02 §5.1.1.1: 1) Call Malaysia Emergency Hotline 999. 2) File police report within 24 hours. 3) Notify Fleet PIC immediately. 4) Do not move vehicle until police arrive if serious injury...
Q: Berapa hari notis perlu diberikan sebelum meminjam kenderaan?
A: Mengikut LGT-P02 §4.1.1.1, permohonan mestilah dikemukakan sekurang-kurangnya 1 hari bekerja sebelum tarikh diperlukan...
// MODULE 09 · FLEET PIC · LGT-P02 APPENDIX 1
Undertaking Letters
Every user who will ever request a vehicle MUST have a signed undertaking letter on file. Requisitions are blocked until this is uploaded.
🔴
Blocking Rule (LGT-P02 §4.1.4.7)A requisition for any user CANNOT be approved if their undertaking letter is not on file or has been invalidated.
1
Go to Undertakings (Fleet PIC / Admin only)
›

Click Undertakings in the sidebar. This page is only visible to Fleet PIC and Admin.

2
Sample undertaking letter data
›
Sample Undertaking Record
UserAhmad Faris bin Malik
User Emailfaris.malik@bpe.com.my
Witnessed ByNazrul bin Ismail (Fleet PIC)
Signed At2026-01-15
StatusValid

Upload the signed PDF undertaking letter (Appendix 1 of LGT-P02). Once uploaded and marked Valid, that user can have requisitions approved.

// MODULE 10 · FLEET PIC · VEHICLE USE POLICY §5
Touch 'n Go Cards
Authorised toll cards assigned to specific vehicles. Strictly for business use on the assigned vehicle only.
🚫
Personal Use = Disciplinary Action (Vehicle Use Policy §4.5)Fuel card and Touch 'n Go card are strictly for the assigned vehicle and business travel. Personal use or use in a different vehicle can result in termination.
1
Register a Touch 'n Go card
›
Sample Card Record
Card Number6012-3456-7890-1234
Assigned VehicleWKL 5522
Cardholder NameAhmad Faris bin Malik
Cardholder Emailfaris.malik@bpe.com.my
StatusActive
Last Receipt At2026-04-18

Fleet PIC records when the card was last used (from submitted receipts). The "No receipt yet" warning appears in amber if no receipt has been submitted for the card.

// MODULE 11 · FLEET PIC / HOD / PM
Reports & Alerts Management
AI-generated reports and expiry alerts. Dashboard shows ranked alerts — AI prioritises by operational risk, not just days remaining.
1
Understanding the Dashboard Alert Panel
›

The Active Alerts panel on the Dashboard shows AI-prioritised alerts. Here is what each type means:

Critical Alerts (Red)
• Road tax or insurance expired or expires within 7 days
• Mileage anomaly — km added with no active requisition
• Sky lift PUSPAKOM overdue
• PMA certificate expired
Warning Alerts (Amber)
• Any document expiring within 30 days
• Vehicle approaching service due (within 500 km)
• Return overdue — vehicle not returned on expected date
• AI confidence low on odometer OCR
2
Generate a Monthly Fleet Report AI
›

Go to Reports. Click "Generate Monthly Summary". Select the month (e.g. April 2026). This triggers a BullMQ job that:

  • Queries all requisitions, inspections, repairs for the month
  • Calculates fleet utilisation rate, total km driven, repair costs
  • Gemini writes executive summary, findings, and recommendations
  • Generates a PDF — download link appears when done (~30 seconds)
Sample Report Excerpt (AI-generated)
"Fleet utilisation for April 2026 stood at 68%, with 8 of 12 vehicles dispatched on at least one requisition. Total distance driven was 4,820 km across 11 trips. Two vehicles (WA 1133 B and WKL 5522) accounted for 54% of mileage. Repair expenditure totalled RM 3,200 — 76% attributed to scheduled mileage service. Recommended action: schedule PUSPAKOM inspection for WA 1133 B before June 2026 — currently 23 days remaining."
3
Automatic WhatsApp alerts (background cron jobs)
›

The system runs three scheduled background jobs automatically — no action required from Fleet PIC:

Scheduled Cron Jobs
06:00 daily — Anomaly Check
Scans for mileage added to vehicles with no active requisition. Creates a critical alert and logs it to the Dashboard.
07:00 daily — Expiry Check
Finds vehicles with road tax, insurance, PMA, PUSPAKOM, or GDL expiring within 30 days. Ranks alerts by operational risk and sends a WhatsApp message to Fleet PIC for warning/critical items.
08:00 every Monday — Weekly Inspection Report
Counts all inspections from the past 7 days (total, action required, daily checks). Sends a WhatsApp summary to Fleet PIC for reporting purposes per LGT-P02 §6.1 notes.
📱
WhatsApp templates must be registered in Meta Business Manager before notifications are sent. Templates: bpe_expiry_alert, bpe_weekly_inspection, bpe_urgent_repair, bpe_action_required. Contact your system administrator if WhatsApp alerts are not arriving.
4
Acknowledge alerts
›

On the Dashboard, each alert has an "Acknowledge" button. Click it after you have taken action (e.g. booked road tax renewal). This removes it from the critical list. Acknowledged alerts are still stored — they appear in the monthly compliance report.

// MODULE 12 · FLEET PIC / HOD · PREDICTIVE AI
Predictions (AI)
Use the Predictions screen to see — for every vehicle — what is most likely to fail next, when the next service will actually be due, the projected repair cost over the next 30 / 90 / 365 days, and which compliance windows are coming up. All numbers are derived from your real inspection and repair history; Gemini writes the supporting narrative on top.
Fleet PIC / HOD→ Predictions (sidebar)→ Refresh All→ Review per-vehicle cards · act on Risk 4 / 5
🧠
What the AI actually doesThe system scans every checklist rating from the last 180 days, every repair_request from the last 365 days, and every km accumulated on the odometer. It computes deterministic statistics first (so the numbers stay accurate even if Gemini is offline), then asks Gemini Flash to write a short reasoning paragraph and a Fleet-PIC-friendly summary on top.
1
Open the Predictions page
›

From the sidebar, click Predictions. You'll see four large cards across the top — these are the fleet aggregates: 30-day forecast, 90-day forecast, 365-day forecast, and the count of vehicles flagged at risk. Below that is the Gemini executive summary and a per-category cost breakdown.

2
Run a fresh prediction across the fleet
›

Click the purple Refresh All button at the top right. The system queues a job that walks every non-decommissioned vehicle, recomputes deterministic stats, asks Gemini for narratives, and writes everything back to the predictions table. Typical run: 30–90 seconds. The page polls every 3 seconds until the new generated_at timestamp arrives.

⏱️
Automatic daily refresh: the worker also runs predict_fleet automatically at 05:00 every day, so you usually do not need to click Refresh manually unless you just imported new data.
3
Read each per-vehicle card
›

Each vehicle row shows four prediction blocks:

Per-vehicle Prediction Blocks
⚠️ Likely Failure — top part predicted to fail (e.g. tyres, brake_system) with probability 0–100% and an ETA in days. Driven by checklist ratings: 2 (Attention) is a soft signal, 3 (Repair) is a hard signal, recent repairs raise the probability further.
💸 Cost Forecast — projected MYR spend over 30 / 90 / 365 days. Based on the monthly average from the past 12 months × inflation factor 1.05.
🔧 Next Service — predicted calendar date for the next service, based on real km/day usage from inspections, not just the fixed 10,000 km step. If the vehicle is already past its next_service_km, it shows "OVERDUE".
📅 Downtime · Next 90d — windows where the vehicle will be unavailable due to road tax, insurance, PMA, PUSPAKOM, or GDL renewal. Each window includes a 7-day prep buffer.
4
Risk score — what to do for each level
›

Each vehicle has a Risk badge in green / amber / orange / red:

Risk Score Action Map
1 / 2 — Low · No action. Trust the system.
3 — Moderate · Schedule the predicted service or renewal in your normal weekly planning.
4 — Urgent · Action this week. The system also creates an active Alert on the Dashboard (severity = warning).
5 — Critical · Action today. Dashboard shows the alert as critical. Consider pulling the vehicle from any upcoming requisition.
🚨
Risk 4 and 5 always create an Alert in the alerts table with type = 'prediction', so they show up on the main Dashboard alongside expiry alerts and anomaly alerts.
5
Re-run a single vehicle's prediction
›

If you've just logged a new repair or a fresh inspection for one vehicle, click the small Refresh button on the right side of that vehicle's card. This runs a single-vehicle predict_vehicle job (a few seconds) without re-processing the whole fleet.

6
Filter the list
›

Use the three filter chips above the vehicle list:

  • All Vehicles — every active vehicle, sorted by risk score then failure ETA.
  • At Risk Only — risk score 4 or 5. Use this view in your daily standup.
  • Service ≤ 30 days — vehicles where the predicted service date falls within the next month, so you can pre-book the workshop.
7
How predictions stay honest
›

Predictions are decision support, not autopilot. The system never auto-orders parts, books workshops, or pulls vehicles from active requisitions. Fleet PIC always confirms the action — exactly like every other AI output in BPE-FMS. Numbers come from real database rows; Gemini only adds the narrative reasoning. If the worker is offline or Gemini fails, the page still shows accurate baseline statistics.

📊
Data sources used: last 180 days of inspections (checklist_data ratings), last 365 days of repair_requests (cost_actual + category), last 90 days of inspections (for daily km rate), and the vehicle's own expiry date columns. No external data, no third-party APIs.