Sentra Rental — Modules¶
Sistem SentraRental Share didesain sebagai Modular Monolith dengan pemisahan domain yang bersih:
sentra-rental-monolith/
├── src/
│ ├── identity/ # User, KTP verification OCR, RBAC JWT
│ ├── booking/ # Pemesanan, Redlock, dynamic pricing, rescheduling, waiting list
│ ├── inventory/ # Katalog aset, QR/Barcode generation, depresiasi aset
│ ├── handover/ # Inspeksi check-out/check-in, photo S3 upload, SHA-256 hash
│ ├── billing/ # Payment gateway, deposit hold pre-auth & settlement, invoice PDF
│ ├── maintenance/ # Jadwal berkala, downtime lock, vendor invoice
│ ├── payroll/ # Komisi petugas handover, insentif inspector, gaji berbasis utilisasi
│ └── shared/ # Logger, database client, notification wrapper (WhatsApp API)
| Modul | File | Deskripsi |
|---|---|---|
| Availability Calendar | calendar.md | Redis bitmask harian per unit, BITOP atomic check, waitlist Sorted Set |
| Booking | booking.md | State machine PENDING→COMPLETED, Redlock anti-double-booking, cancellation rules |
| Deposit & Fine | deposit-fine.md | Pre-auth hold via payment gateway, capture on damage/late, dispute resolution |
| Payroll | payroll.md | Insentif checkout/checkin inspector & driver, penalty deduction, payroll bulanan |