PJ Car Rentals
A 1,330-line booking engine with triple-factor security.
Production car and bike rental platform with a smart booking system, Razorpay payments, document verification and a customer self-service portal. The client needed flexible pricing across cars and bikes, advance payments and document verification — built on Django 5.0, custom MongoDB authentication and Razorpay.
Line booking API
Auth (2FA + TOTP + Passkeys)
Payment gateway
Production system
Triple authentication security
2FA + TOTP (Google Authenticator) + Passkeys (WebAuthn) with backup codes, session-based auth and MongoDB storage — no Django Auth.
Smart booking & payments
15-minute soft locks, conflict detection, Razorpay integration, flexible advance payments (20–100%), payment risk management and atomic booking counters.
Document verification workflow
Customer portal for secure uploads, admin verification, re-upload on rejection, auto-deletion after 90 days and document locking after trip start.
Everything shipped, module by module.
Smart booking
- Soft lock (15-min hold)
- Online & offline bookings
- Alternative vehicle suggestions
- Calendar with blocked slots
- Atomic booking number (PJ2502A001)
Razorpay integration
- Advance payment (20–100%)
- Online gateway
- Cash & QR (offline)
- Payment risk management
- Webhook verification
Document verification
- Licence / Aadhaar / ID checks
- Admin approve / reject
- Re-upload for rejected docs
- Locking after trip start
- Auto-deletion (90 days)
Customer portal
- Hash-based secure access
- Document upload interface
- Payment status tracking
- Booking details view
- 48-hour post-trip access
Dynamic pricing engine
- 0.5–12h half-day rate
- 13–24h full-day rate
- Multi-day remainder logic
- 12% tax calculation
- Coupon discount system
Comprehensive dashboard
- 2-tier role system
- Vehicle & booking CRUD
- Verification interface
- Revenue reports & analytics
- Admin activity audit trail