Online Car Rental / Trip Management System
Online Car Rental / Trip Management System is a full-featured web application for running a car-rental and fleet business of any size – from a single-branch operator with a handful of cars to a multi-branch fleet with drivers, categories and rate plans. It covers the entire rental lifecycle: taking a reservation, checking a vehicle out with a security deposit, checking it back in, auto-drafting the invoice, collecting payment, and recording every expense, fine and maintenance job along the way.
Built on CodeIgniter 3 with a clean modular (HMVC) architecture, it runs on any standard PHP host. Everything a rental manager needs – reservations, invoices, payments, deposits, reports and financial summaries – is available out of the box from a single, easy-to-install package.
Live Demo: Online Car Rental / Trip Management System
Email: admin@example.com
Password: 12345
Key Highlights
- 25+ Modules covering the complete car-rental & fleet lifecycle
- PHP 7.4 – 8.5 compatible – runs on virtually any host
- MySQL / MariaDB – shared hosting friendly, no CLI or Composer required
- Full Reservation Lifecycle – reserve, confirm, check-out, check-in, close, cancel, no-show
- Double-Booking Prevention – enforced at the database level with row locking
- Security Deposits – hold at check-out, apply or refund at settlement
- Auto-Drafted Invoices – rental + extras + km overage + fuel + late fee, computed at check-in
- Roles & Permissions – menu-level access matrix per user group
- Audit Trail – every important change recorded with before/after values
- CSRF Protection – tokens on every POST form
All Modules
- Dashboard – KPI summary cards, fleet-expiry alerts and charts
- Reservations – full booking lifecycle with conflict prevention
- Calendar – month / week / day view of every booking
- Check-out / Check-in – odometer, fuel, deposit capture and return snapshot
- Rental Agreement – print-ready agreement per booking
- Invoices – auto-draft, edit, issue, void, print
- Payments & Deposits – part-payments, receipts, deposit apply/refund
- Rate Plans – hourly/daily/weekly/monthly, free-km + overage, car- or category-scoped
- Rental Extras – billable add-ons (GPS, child seat, driver…)
- Cars / Fleet – vehicle records with image, category, branch, daily rate, status
- Vehicle Categories – bookings target a category, car assigned at check-out
- Branches – pickup / drop-off locations
- Production – brand, model, fuel type and body type reference data
- Maintenance – service records, next-due tracking, workshop status flip
- Insurance – policies per car with expiry tracking
- Fuel Log – fuel fills per car, optional reservation link
- Damage – reports with photo, severity, charge-to-client
- Documents – file + expiry vault for car / driver / client
- Traffic Fines – charge to company / client / driver
- Clients – profiles, KYC, blacklist, login account
- Drivers – profiles, licence, salary, commission, login account
- Expenses – categorized operating expenses with a managed category list
- Reports – revenue, utilisation, profit/car, top clients, cash-flow, receivables, fines, payroll
- Notifications – in-app bell plus optional email / SMS reminder cron
- Roles & Permissions – per-group, per-menu access matrix
- Audit Log – who changed what, and when
- Settings – business info, currency, language, email, backup / restore
- Profile & Auth – login, password reset via email, self-service profile
Reservation & Booking Lifecycle
- Take a booking against a vehicle category, branch and date range
- Quote the rental portion from the matching rate plan
- Reserve → confirm → check-out → check-in → close, plus cancel and no-show
- Database-level double-booking prevention (car and driver) with row locking
- KYC guards: blacklist and driving-licence expiry block risky rentals
- Assign the specific car at check-out from the available fleet only
- Security deposit held at check-out, settled at invoice time
- Print-ready rental agreement
- Full month / week / day calendar of bookings
- Free-cancellation window with automatic cancellation-fee invoicing
Invoicing, Payments & Deposits
- Invoice auto-drafted at check-in: rental + extras + km overage + fuel shortfall + late fee
- Drafts are fully editable before issue
- Issue → record part / full payment → partial / paid
- Payment methods: cash, card, bank, mobile wallet, deposit
- Overpayment guard rejects amounts exceeding the outstanding balance
- Security-deposit apply or refund from the invoice page
- Damage repair costs and client-charged fines pushed onto the draft invoice automatically
- Void an invoice, print the invoice and payment receipts
Fleet Operations
- Maintenance / service records per car with next-due tracking
- Workshop status flip – a car in maintenance is hidden from bookings and check-out
- Insurance policies per car with expiry tracking
- Fuel log per car, optionally linked to a reservation
- Damage reports with photo upload, severity and charge-to-client
- Document vault (car / driver / client) with expiry dates and seeded document types
- Traffic fine management charged to company, client or driver
- Dashboard fleet-alert row: service due, policies and documents expiring soon
People, Expenses & Reports
- Client profiles with KYC (licence, NID/passport, date of birth) and blacklist flag
- Driver profiles with licence, hire date, salary and commission percentage
- Clients and drivers each get a login account (dual-write to the auth system)
- Categorized expense logging with a managed, editable category list
- Eight business reports, each with a period filter, CSV export and print
- Revenue by month, fleet utilisation, profit per car, top clients
- Income vs expense, receivables, outstanding fines, driver payroll
- Driver payroll = salary + commission on driven revenue − unpaid fine deductions
Security & Data Integrity
- Ion Auth library – industry-standard authentication
- bcrypt password hashing for user accounts
- CSRF tokens on every POST form
- Global XSS filtering on input
- Menu-level role-based access control (admin is a code-level superuser)
- Full audit trail: user, IP and before/after values on important changes
- Overpayment and negative-payment guards on every payment form
- Row-locked conflict checks so two bookings can never take the same car
- Server-side validation as the backstop behind client-side required-field checks
- Configurable encryption key and timezone via environment variables
Settings & Configuration
- Business info: system name, title, address, phone, email for documents
- Configurable currency symbol used across invoices and reports
- Timezone-aware datetimes (default Asia/Dhaka, override via env var)
- Multiple language folders (English strings ship enabled)
- DB-driven SMTP email settings for password-reset mail
- Booking-policy settings: free-cancellation window, cancellation fee, late fee, VAT
- Database backup & restore from the browser
- Searchable Select2 dropdowns and red-asterisk required-field validation everywhere
Technology Stack
- CodeIgniter 3.1.13 with HMVC
- PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5
- MySQL 5.7+ or MariaDB 10.2+
- Ion Auth, Bootstrap 3, jQuery, DataTables, Select2, CKEditor, FullCalendar, Morris.js
Server Requirements
| Requirement | Value |
| PHP | 7.4 or higher (up to 8.5) |
| Database | MySQL 5.7+ or MariaDB 10.2+ |
| Web Server | Apache with mod_rewrite, or Nginx |
| PHP Extensions | mbstring, pdo_mysql, gd, fileinfo |
| SMTP | Optional – required only for password-reset and reminder emails |
Shared hosting compatible. No root access, Composer, Node.js, or CLI required. Upload via FTP, import the SQL, edit one config file – done.
What’s Included
- Full PHP source code (CodeIgniter 3 HMVC)
- SQL database file, ready to import
- All frontend assets (Bootstrap, jQuery, DataTables, Select2, FullCalendar, etc.)
- Sample data for testing
- Step-by-step installation documentation
- Standalone HTML documentation and live-preview pages
Change Log
v2.0.0 – 15 July 2026 (Current release – major update)
A large release that turns the original trip-booking tool into a complete car-rental and fleet-management platform. Dozens of new modules, a rebuilt framework foundation, and a long list of bug fixes and refinements.
New Features – Booking & Billing
- Full reservation booking engine – complete lifecycle (reserve → confirm → check-out → check-in → close, plus cancel and no-show), with check-out / check-in condition snapshots and a printable rental agreement.
- Double-booking prevention – database-level row locking rejects overlapping reservations for the same car or driver.
- Booking calendar – FullCalendar view of all reservations at a glance.
- Vehicle categories & branches – book by category and assign the specific car at check-out; manage multiple pickup / drop-off locations.
- Rate plans & rental extras – hourly / daily / weekly / monthly pricing with free-km allowance and overage charges, plus an add-on catalogue (GPS, child seat, etc.).
- Invoicing – invoices auto-draft at check-in (rental + extras + km overage + fuel + late fee), then edit → issue → part-pay → paid, with void and print.
- Payments – record part-payments against an invoice by cash, card, bank, mobile wallet or deposit, with a printable receipt.
- Security deposits – held at check-out, applied or refunded at settlement.
New Features – Fleet Operations
- Maintenance / service records – per-car service history with next-due tracking; a car in the workshop is automatically taken out of the bookable pool.
- Insurance policies – per-car policies with expiry tracking and alerts.
- Fuel log – per-car fuel fills, optionally linked to a reservation.
- Damage reports – photo upload and severity; repair cost can be charged to the client’s invoice.
- Document management – file + expiry attachments for cars, drivers and clients (registration, fitness, tax token, licence, NID and more).
- Traffic fines – record fines charged to the company, client or driver; client fines flow onto the invoice, driver fines into payroll.
- Car details page – tabbed view of a vehicle’s maintenance, insurance, damage, fuel and documents, with one-click move-to-workshop / back-in-service.
New Features – People, Access & Reporting
- Client & driver KYC – licence number and expiry, NID / passport, date of birth and a blacklist flag; expired-licence and blacklist checks block ineligible bookings.
- Human-readable client / driver codes – identifiers such as CLT-0111 and DRV-0021.
- Roles & permissions – a menu-level access matrix per user group so each role sees only what it may use.
- Audit trail – every important change recorded with user, IP and before/after values, with a filterable viewer.
- Reports – eight reports (revenue, fleet utilisation, profit per car, top clients, income vs expense, outstanding fines, driver payroll and more), each with period filter, CSV export and print.
- Notifications – in-app notification bell in the header, plus an optional email / SMS reminder engine (return reminders, licence / insurance / document expiry alerts) and an automated nightly database backup.
- Managed expense categories – maintain the expense-category list from the UI instead of a hard-coded array.
- Email (SMTP) settings – mail configuration is now managed from the Settings screen.
Improvements
- Rebuilt on CodeIgniter 3.1.13 (HMVC) and verified on PHP 7.4 through 8.5 – runs on virtually any modern host.
- CSRF protection enabled on every POST form.
- Searchable dropdowns everywhere – every select field is now a type-to-search Select2 widget.
- System-wide required-field UX – a red asterisk and inline validation message on every required field, on both admin and login pages.
- Correct time-zone handling so late fees and daily pickup widgets read local wall-clock time.
- Built-in database backup & restore from the Settings screen.
Bug Fixes
- Driver creation failed silently on submit (a broken validation rule) – drivers can now be added again.
- Editing a client no longer resets their login password to a default value; a blank password field now keeps the existing password.
- Editing a driver with a blank password field no longer wipes the stored password.
- Deleting a client or driver now also removes their login account, so removed people can no longer sign in.
- New clients no longer get a shared default password – the admin sets each client’s password (with confirmation) on the create form.
- Edit forms now pre-select the record’s saved dropdown values (brand, model, fuel, body, client, car, driver) instead of always showing the first option.
- Expense date is now saved correctly.
- Numerous smaller stability and PHP 8 compatibility fixes across the codebase.
v1.0.0 – December 2017 (Initial release)
- First public release.
- Core trip / booking management for cars, drivers, clients and trips.
- Expense and basic payment tracking.
- Admin dashboard with clients, trips, cars and drivers overview.
- User authentication with admin, driver and client roles.
Thank you for choosing Online Car Rental / Trip Management System. For any questions or issues, reach out through the support page or contact us at chaoscoding404@gmail.com, and we will get back to you as soon as possible.