Lewati ke isi

Sentra Rental — Overview

Product Requirements (PRD)

1.1 Latar Belakang & Deskripsi Produk

SentraRental Share adalah platform Enterprise Resources Planning (ERP) dan manajemen aset terdistribusi yang dirancang khusus untuk bisnis persewaan bernilai tinggi (high-value assets) multi-cabang di Indonesia. Platform ini melayani berbagai industri rental:

  • Transportasi: Mobil penumpang, SUV premium, sepeda motor petualang.
  • Media & Kreatif: Kamera DSLR/Mirrorless cinema, lensa premium, lighting, drone industri.
  • Event & Entertainment: Sound system, LED screen, alat pesta, gaun pernikahan designer.
  • Konstruksi & Industri: Alat berat, generator set, scaffolding, alat bor proyek.
  • Gaming: Konsol Playstation 5, PC gaming, simulator racing.

Sistem ini memecahkan masalah mendasar dalam industri rental yaitu: double booking, kebocoran pendapatan (leakage), manipulasi kondisi fisik aset oleh staf/pelanggan, manajemen denda dan uang jaminan (deposit), serta pelacakan performa utilisasi finansial per unit barang secara real-time.

1.2 Profil Target Pasar & Kebutuhan Khusus

  • Operasional Multi-Cabang: Sinkronisasi stok antar cabang fisik (hub & spoke) dengan pembagian armada (fleet allocation).
  • Kepatuhan Hukum Indonesia: Kontrak digital (Digital Agreement) berbasis UU ITE dan UU PDP, format penagihan PPN 11% dan PPh 23 untuk klien korporat.
  • Integrasi Finansial Lokal: Pembayaran deposit instan lewat dynamic QRIS bank-transfer dan mekanisme pre-authorisation (hold limit kartu kredit/e-wallet) melalui Xendit atau Midtrans.

1.3 Key Performance Indicators (KPI) Bisnis

KPI Formula / Definisi
Asset Utilization Rate (%) (Jumlah Hari Tersewa / Total Hari Kapasitas) × 100%
Asset Yield / ROI Per Unit Pendapatan bersih kumulatif ÷ harga perolehan aset
Downtime Ratio (%) % waktu aset dalam status perbaikan vs total kepemilikan
Damage Rate per Cabang Jumlah insiden kerusakan saat check-in ÷ total siklus sewa
Average Settle Time for Deposits Kecepatan pengembalian dana jaminan setelah dikurangi denda

1.4 Batasan Sistem (System Constraints)

  • Konektivitas: Aplikasi Handover Lapangan (Inspector Mobile App) wajib Offline-First — merekam foto kondisi unit di basement/proyek terpencil tanpa sinyal, sinkronisasi otomatis saat internet kembali.
  • Konkuransi: Kalender ketersediaan unit harus dikunci secara real-time menggunakan Redis Distributed Lock (Redlock) pada level SKU dan nomor seri aset untuk mencegah double booking pada detik transaksi yang sama.

Business Flow

2.1 End-to-End Rental Journey

graph TD
    A[Pelanggan Pilih Unit & Tanggal] --> B{Cek Ketersediaan Real-Time}
    B -- Tersedia (Redis Lock) --> C[Isi Form & Unggah Dokumen: KTP, SIM, Selfie]
    B -- Penuh --> A1[Masuk Waiting List]
    C --> D[Pembayaran Uang Sewa + Deposit Jaminan]
    D --> E{Approval Admin & Verifikasi KTP via Dukcapil API}
    E -- Ditolak --> F[Refund Otomatis via Payment Gateway]
    E -- Disetujui --> G[Aset Dipersiapkan di Cabang]
    G --> H[Check-Out Handover: Inspeksi Foto & Checklist Fisik]
    H --> I[Penerbitan Surat Jalan & Digital Agreement Signed]
    I --> J[Masa Rental Aktif]
    J --> K{Pengembalian Tepat Waktu?}
    K -- Terlambat --> L[Hitung Otomatis Denda Keterlambatan per Jam]
    K -- Tepat Waktu --> M[Check-In Handover: Inspeksi Fisik Masuk]
    L --> M
    M --> N{Ada Kerusakan / Barang Hilang?}
    N -- Ya --> O[Hitung Denda Kerusakan dari Katalog Part]
    N -- Tidak --> P[Potong Biaya Tambahan Jika Ada]
    O --> P
    P --> Q[Pelepasan Sisa Uang Jaminan / Deposit Settle]
    Q --> R[Update Status Aset: Tersedia / Perlu Maintenance]

2.2 Alur Penyelesaian Sengketa Kerusakan & Denda (Dispute Resolution Flow)

sequenceDiagram
    autonumber
    actor Customer as Pelanggan
    actor Inspector as Inspektur Lapangan
    actor Admin as Admin Kasir
    participant DB as Database System

    Inspector->>Customer: Tunjukkan baret baru saat check-in barang
    Inspector->>DB: Upload foto kerusakan & pilih komponen rusak (Katalog Part)
    DB->>DB: Hitung estimasi biaya perbaikan + estimasi downtime aset
    DB->>Admin: Tampilkan Tagihan Kerusakan (Damage Bill)
    Admin->>Customer: Berikan rincian denda kerusakan & downtime
    alt Customer Setuju
        Customer->>Admin: Bayar via QRIS Potong Deposit
        Admin->>DB: Tandai Lunas, rilis sisa deposit ke bank customer
    else Customer Banding (Dispute)
        Customer->>Admin: Ajukan klaim asuransi / bantahan foto check-out
        Admin->>DB: Tarik arsip foto check-out (SHA-256 verified)
        Note over Admin, Customer: Bandingkan foto check-out vs check-in secara visual
        alt Terbukti Kerusakan Baru
            Admin->>Customer: Tunjukkan bukti tak terbantahkan, tahan deposit
        else Kerusakan Lama (False Positive)
            Admin->>DB: Batalkan denda kerusakan, rilis deposit penuh
        end
    end

Feature List

8.1 Modul Rental Booking & Kalender

  • Real-time Availability Grid: Grid interaktif status ketersediaan aset per jam/hari secara horizontal sepanjang bulan.
  • Booking Extension: Perpanjangan rental dari dashboard pelanggan saat masa sewa aktif. Sistem mengecek booking berikutnya yang beririsan; jika ada, request ditolak otomatis dan sistem mencarikan unit alternatif.
  • Waiting List Engine: Antrean untuk unit super-premium. Jika pemesanan utama dibatalkan, sistem mengirim notifikasi WhatsApp otomatis ke antrean nomor 1.

8.2 Modul Asset Management

  • QR Code Asset Handover ID: Setiap unit fisik dipasangi stiker QR berlaminasi. Petugas wajib scan QR sebelum menyerahkan/menerima barang untuk mencegah penukaran tipe barang sejenis secara tidak sah.
  • Asset Lifecycle Tracker: Status transisi aset dari NEWACTIVEUNDER_MAINTENANCEREPLENISHEDRETIRED.

8.3 Modul Deposit & Denda

  • Midtrans/Xendit CC Pre-Auth hold: Menahan limit kartu kredit tanpa mendebet uang pelanggan. Limit rilis otomatis maksimal 24 jam setelah status rental COMPLETED.
  • Damage Tariff Matrix: Katalog biaya ganti rugi suku cadang dan kerusakan (baret mobil per panel = Rp 350.000, lensa berjamur = Rp 500.000, filter UV retak = Rp 150.000).

8.4 Modul Payroll & Insentif

  • Insentif Checkout Dispatch: Komisi per unit yang berhasil diserahkan tanpa cacat dokumentasi (Rp 15.000/unit).
  • Insentif Checkin Clean-Return: Bonus jika staf menyelesaikan kepulangan barang tepat waktu dan mengidentifikasi cacat secara jujur (Rp 20.000/unit).
  • Penalty Deduction: Potongan gaji staf jika terjadi manipulasi data serah terima yang terbukti dari audit rekaman visual (Rp 200.000/pelanggaran).

User Stories

16.1 Customer Booking Kamera

  • Sebagai seorang Pelanggan Kreatif (Fotografer).
  • Saya ingin memilih kamera Sony A7 Mark IV beserta lensa 24-70mm f/2.8 pada kalender penyewaan online untuk akhir pekan.
  • Sehingga saya dapat memastikan bahwa peralatan tersebut tersedia secara sah, terkunci untuk saya, dan tidak mengalami double booking saat saya tiba di toko.
  • Acceptance Criteria:
  • GIVEN: Pelanggan menavigasi ke halaman katalog rental kamera dan memilih rentang tanggal 25 Mei s.d 26 Mei 2026.
  • WHEN: Pelanggan menekan tombol "Booking Sekarang" dan menyelesaikan pembayaran uang sewa + uang jaminan.
  • THEN: Sistem membuat entri transaksi berstatus PAID_APPROVED, mengirimkan PDF tanda bukti booking via WhatsApp, dan mengubah warna baris status kamera di dashboard admin kalender menjadi biru (BOOKED).

16.2 Field Inspector Mencatat Kerusakan Baru Mobil

  • Sebagai staf Inspektur Lapangan (Handover Officer).
  • Saya ingin mencatat goresan baru di bemper kanan depan mobil Avanza B-1234-XYZ saat pengembalian melalui aplikasi mobile.
  • Sehingga sistem dapat menahan uang jaminan secara otomatis sesuai tarif perbaikan panel bemper pada katalog suku cadang.
  • Acceptance Criteria:
  • GIVEN: Inspektur membuka formulir CHECK_IN untuk mobil Avanza B-1234-XYZ pada aplikasi inspeksi mobile.
  • WHEN: Inspektur mencentang cacat "Baret bemper depan", mengunggah foto bukti baret baru, dan submit data inspeksi.
  • THEN: Sistem mengkalkulasi denda kerusakan bemper Rp 350.000, menampilkan tagihan penalti di dashboard admin kasir, dan secara otomatis membagi pengembalian deposit (Rp 500.000 − Rp 350.000 = Rp 150.000 dikembalikan ke e-wallet pelanggan).