Live Documentation

Vendor Platform
Complete Guide

Everything a vendor needs to know — from registration and KYC to fleet setup, staff management, quotes, bookings, and financial tracking.

2M+
Bookings
10K+
Vendors
150+
Cities
8
Services
📋 Introduction

What is the Vendor Platform?

The TransRentals Vendor Platform is a full-featured B2B dashboard for transport vendors. Vendors can register, get verified, list their services and fleet, respond to customer quote requests, manage direct bookings, track staff, and monitor their financials — all from a single dashboard.

✅ Multi-service support (Bike, Car, Bus, Truck, Luxury, Equipment)
✅ Web dashboard + Mobile app (JWT-based)
✅ Real-time chat with customers
✅ Fleet tracking with docs, maintenance, fuel
✅ Staff management with attendance & payroll
✅ P&L tracking per booking with expense breakdown
🗺️ Full Journey

Complete Vendor Lifecycle

End-to-end flow from first visit to daily operations

✍️
Register
Create account
→
📄
Upload KYC
GST, PAN, Docs
→
🔍
Admin Review
Verification
→
✅
Approved
Full access
→
⚙️
Request Services
+ Locations
→
🚙
Add Fleet
Vehicles + Staff
→
💬
Quotes
Respond to leads
→
📅
Manage Trips
Accept → Complete
→
💰
Financials
Earn + Track
flowchart TD A([🚀 Vendor Visits Platform]) --> B[Register with\nEmail + Phone + Business Info] B --> C{Validation\nPassed?} C -->|No| B C -->|Yes| D[Account Created\nStatus: DOCUMENTS_PENDING] D --> E[Upload KYC Documents\nGST · PAN · Address Proof · Aadhaar] E --> F[Status: UNDER_REVIEW] F --> G{Admin\nDecision} G -->|Reject| H([❌ REJECTED\nContact Support]) G -->|Approve| I[Status: APPROVED\n✅ Full Dashboard Access] I --> J[Request Services\nBike · Car · Bus · Truck etc] I --> K[Request Locations\nCities & States] J --> L{Admin\nApproves?} K --> L L --> M[Services & Locations Granted] M --> N[Add Fleet Vehicles\nUpload Photos · Set Pricing] M --> O[Add Staff\nDrivers · Helpers · Mechanics] N --> P[Vehicle Verified by Admin] O --> Q[Staff Active] P --> R{Booking\nSource} Q --> R R --> S[Platform Quote\nRequests from Customers] R --> T[Direct Booking\nWalk-in · Phone · Shared Form] S --> U[Vendor Submits Quote] U --> V{Customer\nAccepts?} V -->|No| W([Quote Expired/Rejected]) V -->|Yes| X[Booking Confirmed\n+ Payment Received] T --> X X --> Y[Assign Driver + Vehicle] Y --> Z[Trip In Progress] Z --> AA[Trip Completed] AA --> BB[Collect Payment\nTrack Expenses] BB --> CC[Financials Updated\nNet Earnings Calculated] CC --> DD([💰 Payout to Bank]) style A fill:#7C3AED,color:#fff style I fill:#059669,color:#fff style H fill:#DC2626,color:#fff style DD fill:#059669,color:#fff style W fill:#9CA3AF,color:#fff
✍️ Step 1

Registration & Onboarding

Required Information

FieldTypeValidation
emailStringValid email, unique
passwordStringMin 8 characters, bcrypt hash
phoneStringIndian format (6-9 + 9 digits)
businessNameStringRequired
ownerNameStringRequired
gstNumberOptionalGST format
panNumberOptionalPAN format
address, city, stateOptionalBusiness address
✅ On Success
Account created with status DOCUMENTS_PENDING.
Vendor redirected to document upload page.

Registration Flow

flowchart TD A[Vendor fills Registration Form] --> B{Email exists?} B -->|Yes| C[❌ Error: Email taken] B -->|No| D{Phone exists?} D -->|Yes| E[❌ Error: Phone taken] D -->|No| F[Hash password\nbcrypt cost 12] F --> G[Create vendor record\nstatus = DOCUMENTS_PENDING] G --> H[Send welcome notification] H --> I([✅ Redirect to\nDocument Upload]) style C fill:#FEE2E2,color:#991B1B style E fill:#FEE2E2,color:#991B1B style I fill:#D1FAE5,color:#065F46
⚠️ Rate Limiting
Registration is rate-limited to prevent spam and abuse. Multiple attempts from same IP will be blocked temporarily.
🔐 Step 2

Login & Authentication

🌐 Website Login
Browser · Desktop & Mobile Web
1
Open the website
Go to transrentals.in/vendor/login in your browser
2
Enter your Email & Password
Use the email and password you registered with
3
Redirected to Dashboard
Once logged in, you'll be taken directly to your vendor dashboard
💡 Session stays active for 30 days — no need to log in again and again
📱 Mobile App Login
Android & iOS App
1
Install the TransRentals Vendor App
Download from Play Store or App Store
2
Enter your Registered Email & Password
Use the same credentials you used during registration
3
Allow Notifications
Get instant alerts for new booking requests
💡 Once logged in to the app, notifications will be delivered automatically

Account Status Checks at Login

🚫 BLOCKED
"Account has been blocked. Contact support."
⏸️ SUSPENDED
"Account is suspended. Contact support."
❌ REJECTED
"Application was rejected. Contact support."
📄 Step 3

KYC & Document Verification

Required Documents

🏢
GST Certificate
Business GST registration
Required
🪪
PAN Card
Business / Owner PAN
Required
📋
Business Registration
Incorporation certificate
Required
🏠
Address Proof
Utility bill / Lease agreement
Recommended
🏦
Cancelled Cheque
Bank account proof
Recommended
🆔
Owner Aadhaar & PAN
Personal identity documents
Recommended

Verification Flow & Status Progression

flowchart TD A[Vendor Uploads Documents] --> B[ClamAV Malware Scan] B --> C{Clean?} C -->|Infected| D[❌ File Rejected\nMalware Found] C -->|Clean| E[Magic Number Validation\nVerify actual file type] E --> F{Valid\nType?} F -->|No| G[❌ Invalid File Type] F -->|Yes| H[Stored Securely\nVendor-isolated path] H --> I[Status: UNDER_REVIEW] I --> J[Admin Reviews\nAll Documents] J --> K{Decision} K -->|Approve All| L[Status: APPROVED\n✅ Full Access] K -->|Reject| M[Status: REJECTED\nReason Provided] M --> N[Vendor Can\nRe-upload & Reapply] N --> A style D fill:#FEE2E2,color:#991B1B style G fill:#FEE2E2,color:#991B1B style L fill:#D1FAE5,color:#065F46 style M fill:#FEE2E2,color:#991B1B

Vendor Status Lifecycle

DOCUMENTS
PENDING
After register
→
UNDER
REVIEW
Docs uploaded
→
APPROVED
✅
Admin approves
or
REJECTED
❌
Can reapply
or
SUSPENDED
⏸️
Admin action
or
BLOCKED
🚫
Admin action
⚙️ Step 4

Services & Location Requests

Approved vendors must request specific services and locations before receiving bookings

Available Services

🏍️
Bike Rental
SVC_1
🚙
Self-Drive Car
SVC_2
🚌
Bus & Tempo
SVC_3
🚛
Transporter
SVC_4
🚗
Car Rental
SVC_5
📦
Packers & Movers
SVC_6
🔧
Equipment Rental
SVC_7
✨
Luxury Cars
SVC_8

Request Flow

flowchart TD A[Vendor selects\nDesired Service] --> B[Submits Request\nwith experience info] B --> C[Status: PENDING] C --> D{Admin\nDecision} D -->|Approve| E[Service Granted\nAdded to vendor_approved_services] D -->|Reject| F[Request Rejected\nWith reason] E --> G[Vendor Requests\nCity/Location for Service] G --> H[Location Request\nStatus: PENDING] H --> I{Admin\nDecision} I -->|Approve| J[Location Active\nVendor receives bookings\nfrom that city] I -->|Reject| K[Request Rejected] style E fill:#D1FAE5,color:#065F46 style J fill:#D1FAE5,color:#065F46 style F fill:#FEE2E2,color:#991B1B style K fill:#FEE2E2,color:#991B1B
🚙 Step 5

Fleet Management

🚗
Add Vehicle
/fleet/add
Reg. number, model, color, pricing
📋
Documents
/fleet/documents
RC, Insurance, PUC, Fitness, Permit
🔧
Service & Maintenance
/fleet/service
History, costs, next due date
⚠️
Incidents
/fleet/incidents
Accidents, damage, insurance claims
⛽
Fuel Tracking
/fleet/fuel
Quantity, cost, mileage efficiency
📊
Analytics
/fleet/analytics
Utilization, cost/km, fleet health

Add Vehicle Flow

flowchart LR A[Fill Vehicle Form\nReg. Number · Model · Color · Year] --> B[Upload Images\nMax 10 photos per vehicle] B --> C[Set Fleet Locations\nWhich cities active?] C --> D[Set Pricing\nPer trip type and location] D --> E[Vehicle Created\nstatus: Unverified] E --> F{Admin\nVerification} F -->|Verified| G[✅ Vehicle Active\nAppears in search results] F -->|Rejected| H[❌ Issue Found\nVendor notified] G --> I[Track Docs\nRC · Insurance · PUC · Permit] I --> J{Docs\nExpiring?} J -->|Yes| K[⚠️ Alert on Dashboard] J -->|No| L[All Good ✅] style G fill:#D1FAE5,color:#065F46 style H fill:#FEE2E2,color:#991B1B style K fill:#FEF3C7,color:#92400E

Vehicle Documents Tracked

DocumentPurposeAlert
🪪 RC (Registration Certificate)Proof of ownership and registrationTracked but no expiry
🛡️ InsuranceThird-party / comprehensive cover⚠️ 30 days before expiry
🌿 PUC CertificatePollution compliance⚠️ 7 days before expiry
📋 PermitCommercial vehicle permit⚠️ 30 days before expiry
✅ Fitness CertificateVehicle roadworthiness⚠️ 30 days before expiry
💰 Road TaxAnnual/lifetime tax receipt⚠️ 30 days before expiry
👥 Step 6

Staff Management

Staff Roles & Modules

🚗 DRIVER 🤝 HELPER 🔧 MECHANIC 👔 SUPERVISOR 💼 OFFICE_STAFF
ModuleRouteFeatures
👥 All Staff/staffView, filter, search employees
➕ Add Employee/staff/addPersonal info, docs, license, bank
📋 Attendance/staff/attendanceDaily mark, monthly summary, %
💰 Payroll/staff/payrollSalary, deductions, payment history

Attendance Status Options

✅ PRESENT ❌ ABSENT 🏖️ LEAVE ½ HALF_DAY

Add Staff Flow

flowchart TD A[Fill Staff Form] --> B[Personal Info\nName · Phone · Address] B --> C[Identity Docs\nAadhaar · PAN] C --> D{Role = Driver?} D -->|Yes| E[License Details\nNumber · Type · Expiry] D -->|No| F[Skip License] E --> G[Bank Details\nFor payroll] F --> G G --> H[Set Salary\nJoining Date] H --> I[Staff Created\nStatus: ACTIVE] I --> J[Daily Attendance\nMarking] J --> K[Monthly Payroll\nAuto-calculated] style I fill:#D1FAE5,color:#065F46
💬 Operations

Quotes System

Vendors receive customer enquiries and submit competitive quotes

Quote Lifecycle

flowchart TD A[Customer submits\nRental Request] --> B[Broadcast to all\neligible vendors] B --> C[Vendor sees request\nin Quote Inbox] C --> D{Vendor\nDecides?} D -->|Skip| E[Request stays open] D -->|Quote| F[Fill Pricing Form\nRate · GST · Inclusions · Terms] F --> G[Quote Submitted\nStatus: PENDING] G --> H{Customer\nReviews Quotes} H -->|Accepts| I[Status: ACCEPTED\n🎉 Booking Confirmed] H -->|Rejects| J[Status: REJECTED] H -->|Ignores| K[Status: EXPIRED\nAfter validity date] I --> L[Payment Processed] L --> M[Booking Assigned\nto Vendor] style I fill:#D1FAE5,color:#065F46 style J fill:#FEE2E2,color:#991B1B style K fill:#F3F4F6,color:#374151

Quote Form Fields

FieldDescription
dailyRateBase rate per day/trip
totalAmountTotal before GST
gstAmountTax amount (18% standard)
grandTotalTotal amount payable
inclusionsWhat's included (helmet, fuel, etc.)
exclusionsWhat's NOT included
termsConditionsVendor T&Cs
validTillQuote expiry datetime
📝 Quote Templates
Create reusable templates per service type to quickly fill quotes. Available at /vendor/{service}/templates

Quote Statuses

⏳
PENDING
Submitted, awaiting
👀
VIEWED
Customer saw it
✅
ACCEPTED
Booking created
❌
REJECTED
Customer passed
⏰
EXPIRED
Validity passed
📅 Operations

Booking Management

flowchart LR A([Customer Books\nor Quote Accepted]) --> B[PENDING_PAYMENT\nAwaiting payment] B --> C{Payment\nReceived?} C -->|No| D([Booking Cancelled\nTimeout]) C -->|Yes| E[CONFIRMED\nVendor notified] E --> F{Vendor\nAccepts?} F -->|Reject| G[REJECTED\nCustomer refunded] F -->|Accept| H[ACCEPTED\nAssign Driver + Vehicle] H --> I[READY_FOR_PICKUP\nor IN_PROGRESS] I --> J[Trip Running 🚗] J --> K[COMPLETED\nTrip finished] K --> L[Collect Payment\nTrack Expenses] L --> M([Earnings Updated 💰]) style A fill:#7C3AED,color:#fff style K fill:#059669,color:#fff style D fill:#6B7280,color:#fff style G fill:#DC2626,color:#fff style M fill:#059669,color:#fff

All Booking Statuses

PENDING_PAYMENT
PENDING
QUOTED
CONFIRMED
ACCEPTED
IN_PROGRESS
COMPLETED ✅
CANCELLED / REJECTED

Vendor Actions per Status

Current StatusAvailable ActionsNext Status
CONFIRMEDAccept Booking, Reject BookingACCEPTED / REJECTED
ACCEPTEDAssign Driver, Assign Vehicle, Start TripIN_PROGRESS
IN_PROGRESSComplete Trip, Update LocationCOMPLETED
COMPLETEDCollect Payment, Add Expenses, Rate Customer—
📲 Operations

Direct Bookings

Vendor-initiated bookings for walk-in, phone, or WhatsApp customers

Two Ways to Create

📝 Manual Entry
Vendor adds booking directly from dashboard at /vendor/direct-bookings/add. Fill customer info, service, dates, amount.
🔗 Shared Booking Link
Vendor creates a unique URL at /vendor/booking-links. Customer fills the form → booking created automatically.

Payment Tracking

pending Invoice created, awaiting payment
partial Partial advance collected
collected Full cash payment received
paid_online Razorpay payment link used
waived Amount waived by vendor

Direct Booking + Expense Flow

flowchart TD A[Create Direct Booking\nCustomer info + Service + Amount] --> B[Booking Created\nPayment: pending] B --> C[Assign Driver\n+ Vehicle optional] C --> D[Trip Completed] D --> E[Update Payment Status\ncollected / paid_online] E --> F[Add Trip Expenses\nFuel · Toll · Driver Pay etc] F --> G[View P&L Summary] G --> H[Revenue: ₹X\nExpenses: ₹Y\nNet: ₹Z] style H fill:#D1FAE5,color:#065F46

Expense Categories

⛽ Fuel 👤 Driver Payment 🛣️ Toll 🅿️ Parking 🔧 Maintenance 🧹 Cleaning 📋 Other
💰 Financials

Earnings & Financial Tracking

📊
Total Revenue
All booking amounts
✅
Collected
Cash in hand
⏳
Pending Dues
Yet to collect
📉
Total Expenses
All trip costs

Net Earnings Formula

Net Earnings
= Collected − Total Expenses
Positive
📈 Profit
Negative
📉 Loss

Financials Page Features

▸ Monthly filter (last 6 months + All Time)
▸ Summary cards with key metrics
▸ Expense breakdown by category (bar chart)
▸ Pending payments list (sorted by amount due)
▸ Direct link to each pending booking

Financial Data Flow

flowchart TD A[Booking Completed] --> B[Revenue Added\ntotalAmount] B --> C{Payment\nCollected?} C -->|Yes| D[paidAmount Updated\ncollected / paid_online] C -->|No| E[Shows in\nPending Dues list] D --> F[Add Expenses\nFuel · Toll · Driver etc] F --> G[Financials Page] G --> H[Monthly Summary\nRevenue · Collected · Expenses] H --> I[Net Earnings\nCollected minus Expenses] I --> J{Profitable?} J -->|Yes| K[📈 Green Banner] J -->|No| L[📉 Red Banner] style K fill:#D1FAE5,color:#065F46 style L fill:#FEE2E2,color:#991B1B
🔐 Authentication
POST/auth/mobile-loginMobile JWT login
GET/profileGet vendor profile
PUT/profileUpdate profile
📄 Documents
GET/documentsList all KYC docs
POST/documentsUpload new document
DELETE/documents/[id]Delete document
⚙️ Services & Locations
GET/servicesMy approved services
POST/servicesRequest new service
GET/locationsMy approved locations
POST/locationsRequest new location
💰 Financials
GET/financials?month=2026-02Financial summary
GET/earningsEarnings overview
PUT/bank-detailsUpdate bank info
🚙 Fleet
GET/fleetAll vehicles
POST/fleetAdd vehicle
PUT/fleet/[id]Update vehicle
DELETE/fleet/[id]Delete vehicle
POST/fleet/uploadUpload vehicle images
GET/fleet/serviceMaintenance records
POST/fleet/serviceAdd maintenance
GET/fleet/fuelFuel records
POST/fleet/fuelLog fuel
GET/fleet/incidentsIncident records
POST/fleet/incidentsLog incident
GET/fleet/analyticsFleet analytics
GET/fleet/documentsVehicle docs
📲 Direct Bookings
GET/direct-bookingsAll direct bookings
POST/direct-bookingsCreate booking
GET/direct-bookings/[id]Booking details
PUT/direct-bookings/[id]Update booking
GET/direct-bookings/[id]/expensesTrip expenses
POST/direct-bookings/[id]/expensesAdd expense
DELETE/direct-bookings/[id]/expenses/[eid]Delete expense
-->
🏷️ Reference

All Status Codes

Vendor Account
DOCUMENTS_PENDINGInitial state
UNDER_REVIEWDocs submitted
APPROVEDFull access
REJECTEDCan reapply
SUSPENDEDTemporary
BLOCKEDPermanent
Booking Status
PENDING_PAYMENT
PENDING
QUOTED
CONFIRMED
ACCEPTED
IN_PROGRESS
COMPLETED ✅
CANCELLED / REJECTED
Payment Status
pending
partial
collected
paid_online
waived
Quote Status
PENDING
VIEWED
ACCEPTED
REJECTED
EXPIRED
TransRentals Vendor Platform
Documentation v2.0 · Branch: shrushti-updates · February 2026
Built with Next.js · MySQL · Prisma · Razorpay · Firebase FCM