Flow 14 dari 28 — Phase 3Admin Melihat Dashboard Analitik Cabang
Aktor: Admin Cabang / Super Admin
Isi: 4 kartu ringkasan + grafik tren + beban mekanik
Update: Otomatis setiap 60 detik
flowchart TD
A["Admin buka Dashboard Backoffice"] --> B["Lihat 4 Kartu Ringkasan"]
B --> C["Kartu 1: Total Reservasi Hari Ini (biru)"]
B --> D["Kartu 2: Sedang Dikerjakan (oranye)"]
B --> E["Kartu 3: Selesai Hari Ini (hijau)"]
B --> F["Kartu 4: Dibatalkan Hari Ini (merah)"]
C --> G["Klik kartu > lihat daftar reservasi terkait"]
D --> G
E --> G
F --> G
B --> H["Grafik Tren Reservasi (7 hari / 4 minggu / 12 bulan)"]
B --> I["Beban Kerja Mekanik: siapa sibuk, siapa tersedia"]
B --> J["Jadwal Hari Ini — dikelompokkan per sesi"]
H --> K{Tentukan periode}
K -->|Super Admin| L["Bisa lihat dan bandingkan SEMUA cabang"]
K -->|Admin Cabang| M["Hanya lihat cabang sendiri"]
style L fill:#1d4ed8,color:#fff
style M fill:#0891b2,color:#fff
Apa yang Bisa Dilihat di Dashboard
| Komponen | Data yang Ditampilkan | Manfaat untuk Manajemen |
| Kartu Ringkasan | Angka besar + perbandingan % dengan hari kemarin | Sekilas tahu kondisi operasional hari ini |
| Dashboard Eksekutif | Ringkasan seluruh 22 cabang dalam 1 layar — khusus Pemilik/Direksi (hanya lihat, tidak bisa ubah data) | Top Management pantau semua cabang tanpa perlu drill-down manual |
| Grafik Tren | Line/bar chart reservasi harian, mingguan, bulanan | Lihat pola naik-turun reservasi |
| Beban Mekanik | Foto, nama, jumlah mobil dikerjakan, progress bar | Tahu siapa yang kelebihan beban, siapa yang bisa tambah |
| Jadwal Hari Ini | Timeline per sesi: nama pelanggan, plat, paket, status | Pantau slot terisi per sesi |
| Perbandingan Cabang | Tabel ranking: total reservasi, completion rate (Super Admin) | Identifikasi cabang terbaik & terburuk |
📖 Cerita Contoh
Pak Hendra (Super Admin) membuka dashboard nasional pagi hari. Layar menampilkan: 48 reservasi hari ini di seluruh Indonesia, 12 mobil sedang dikerjakan, 8 selesai, 2 dibatalkan. Di tab Executive Dashboard, ia bisa melihat ringkasan seluruh 22 cabang dalam satu layar tanpa scroll. Grafik tren menunjukkan kenaikan 15% dibanding minggu lalu. Di tabel perbandingan, Cabang Medan tampil teratas. Pak Hendra bisa klik Cabang Medan untuk melihat detailnya.
Flow 15 dari 28 — Phase 3Admin Mengelola Data Mekanik & Penugasan
Aktor: Admin Cabang / Super Admin
CRUD Mekanik: Tambah, Edit, Nonaktifkan
Assignment: Tugaskan mekanik ke reservasi
flowchart TD
A["Buka menu Master > Mekanik"] --> B["Lihat daftar mekanik cabang"]
B --> C{Tindakan}
C -->|Tambah/Edit| D["Isi form: nama, spesialisasi, nomor HP"]
C -->|Assign ke Reservasi| E["Buka detail reservasi > klik Assign Mekanik"]
C -->|Lihat Jadwal| F["Kalender beban kerja mekanik per bulan"]
D --> G["Data mekanik tersimpan"]
E --> H["Pilih mekanik dari daftar (bisa lebih dari 1)"]
H --> I["Sistem cek: mekanik tidak double-booking"]
I --> J["Mekanik ditugaskan — notifikasi WhatsApp ke mekanik"]
F --> K["Lihat jumlah reservasi per tanggal"]
style G fill:#16a34a,color:#fff
style J fill:#16a34a,color:#fff
Data Mekanik & Aturan Penugasan
| Aspek | Penjelasan |
| Data Mekanik | Nama, spesialisasi (contoh: Kaki-Kaki, EPS, Spooring), nomor HP, status aktif |
| Penugasan | Satu reservasi bisa ditugaskan ke beberapa mekanik. Sistem memvalidasi tidak ada bentrokan jadwal. |
| Notifikasi | Setelah ditugaskan, mekanik menerima notifikasi WhatsApp: "Anda ditugaskan ke reservasi B 1234 ABC, 15 Juni sesi 1" |
| Service Log | Setiap mekanik bisa mencatat aktivitas pengerjaan — muncul sebagai linimasa di detail reservasi |
| Pembatalan Tugas | Admin bisa membatalkan penugasan — kecuali mekanik sudah mencatat service log |
📖 Cerita Contoh
Rina (Admin Cabang) melihat reservasi Budi yang sudah check-in. Ia buka detail reservasi, klik Assign Mekanik. Muncul daftar mekanik aktif: Agus (Kaki-Kaki, 3 mobil hari ini), Budi (Spooring, 2 mobil). Rina pilih Agus karena keahliannya sesuai. Sistem memvalidasi Agus tidak bentrok jadwal. Rina klik Konfirmasi. Agus langsung menerima notifikasi WhatsApp: "Anda ditugaskan: B 1234 ABC, Spooring, sesi 1."
Flow 16 dari 28 — Phase 3Admin Mengatur Jadwal Sesi & Slot
Aktor: Admin Cabang
Fungsi: Generate sesi otomatis, atur kuota slot, set hari libur
flowchart TD
A["Buka menu Master > Kelola Sesi"] --> B{Pilih tindakan}
B -->|Generate Otomatis| C["Pilih cabang, paket, rentang tanggal"]
C --> D["Atur konfigurasi: jumlah sesi/hari, jam mulai, kuota slot"]
D --> E["Lihat pratinjau sesi yang akan dibuat"]
E --> F["Klik Generate"]
F --> G["Sesi otomatis dibuat untuk seluruh rentang tanggal"]
B -->|Edit Manual| H["Klik sesi tertentu di kalender"]
H --> I["Ubah: jam mulai, kuota slot, atau nonaktifkan sesi"]
I --> J["Sesi diperbarui"]
B -->|Set Hari Libur| K["Klik tanggal di kalender"]
K --> L["Tandai sebagai Hari Libur / Cabang Tutup"]
L --> M["Semua sesi di tanggal itu dinonaktifkan"]
style G fill:#16a34a,color:#fff
style J fill:#16a34a,color:#fff
style M fill:#16a34a,color:#fff
Aturan Generate Sesi
| Aturan | Penjelasan |
| Hari Kerja | Senin – Sabtu (Minggu otomatis tidak dibuat sesi) |
| Kategori Paket | Kaki-Kaki (2 sesi/hari, 4 jam/sesi) — Spooring (3 sesi/hari, 2 jam/sesi) |
| Batas Generate | Maksimal 90 hari ke depan. Sistem juga otomatis generate 30 hari ke depan via penjadwalan. |
| Kuota Default | 5 slot per sesi. Bisa diubah per sesi spesifik (contoh: Sabtu dinaikkan jadi 8). |
| Tidak Bisa Hapus | Sesi yang sudah memiliki reservasi tidak bisa dihapus — hanya bisa dinonaktifkan. |
📖 Cerita Contoh
Rina ingin membuat jadwal untuk bulan Agustus. Ia buka Kelola Sesi, pilih cabang Jakarta Pusat, pilih kedua paket, rentang 1–31 Agustus. Konfigurasi: 5 slot per sesi. Klik Generate. Dalam hitungan detik, semua sesi untuk bulan Agustus siap. Rina kemudian mengatur kuota Sabtu menjadi 8 slot karena biasanya lebih ramai.
Flow 17 dari 28 — Phase 3Super Admin Mengelola Data Master (Cabang, Paket, Item)
Aktor: Super Admin (kewenangan pusat)
Data: Cabang, Paket Layanan, Item Paket
CRUD: Tambah, Edit, Nonaktifkan
flowchart TD
A["Super Admin buka menu Master Data"] --> B{Pilih jenis data}
B -->|Cabang| C["Kelola Data Cabang"]
B -->|Paket| D["Kelola Paket Layanan"]
B -->|Item| E["Kelola Item dalam Paket"]
C --> F["Tambah/Edit/Nonaktifkan cabang: nama, kode, alamat, telepon, kota, provinsi, koordinat peta"]
D --> G["Tambah/Edit/Nonaktifkan paket: nama, deskripsi, kategori, estimasi waktu, rentang harga"]
E --> H["Tambah/Edit/Nonaktifkan item: nama, deskripsi, harga — setiap item terkait dengan satu paket"]
F --> I["Perubahan langsung tampil di website pelanggan"]
G --> I
H --> I
style I fill:#16a34a,color:#fff
Data yang Dikelola
| Jenis Data | Field Penting | Dampak Perubahan |
| Cabang | Nama, kode (unik), alamat, telepon, kota, provinsi, koordinat peta, status aktif | Cabang nonaktif tidak muncul di website. Data baru langsung bisa dipilih pelanggan. |
| Paket Layanan | Nama, deskripsi, kategori (Kaki-Kaki / Spooring), estimasi menit, harga mulai-sampai, urutan tampil | Paket nonaktif tidak muncul. Urutan menentukan tampilan di website. |
| Item Paket | Nama, deskripsi, harga. Setiap item terkait dengan satu paket. | Item adalah rincian apa saja yang termasuk dalam satu paket. |
📖 Cerita Contoh
Jantra Kakikaki membuka cabang baru di Makassar. Pak Hendra (Super Admin) buka Master Data → Cabang, klik Tambah. Isi: Jantra Makassar, kode MKS, alamat lengkap, telepon, koordinat dari Google Maps. Klik Simpan. Cabang Makassar langsung muncul di website pelanggan dan bisa langsung digunakan untuk reservasi.
Flow 18 dari 28 — Phase 3Super Admin Mengelola Pengguna Backoffice
Aktor: Super Admin (satu-satunya yang bisa)
Fungsi: Tambah, Edit, Nonaktifkan akun staff
Keamanan: Semua tindakan tercatat di log aktivitas
flowchart TD
A["Super Admin buka menu Pengguna"] --> B["Lihat daftar semua pengguna backoffice"]
B --> C["Filter: jabatan, cabang, status"]
C --> D{Tindakan}
D -->|Tambah| E["Isi form: nama, email, nomor HP, jabatan, cabang"]
D -->|Edit| F["Ubah data atau jabatan pengguna"]
D -->|Nonaktifkan| G["Toggle status jadi Nonaktif"]
E --> H{VALIDASI}
F --> H
G --> H
H -->|Minimal 1 Super Admin aktif| I["Perubahan tersimpan — tercatat di log aktivitas"]
H -->|Mau nonaktifkan Super Admin terakhir| J["❌ Ditolak: harus ada minimal 1 Super Admin aktif"]
style I fill:#16a34a,color:#fff
style J fill:#dc2626,color:#fff
Jabatan & Hak Akses
| Jabatan | Wajib Pilih Cabang? | Hak Akses |
| Super Admin | Tidak (bisa lihat semua) | Semua fitur + semua cabang |
| Admin Cabang | ✅ Wajib | Dashboard, Reservasi, Mekanik, Laporan (cabang sendiri) |
| CSO | ✅ Wajib | Dashboard, Reservasi, Pelanggan (cabang sendiri) |
| Mekanik | ✅ Wajib | Lihat pekerjaan, update status (cabang sendiri) |
📖 Cerita Contoh
Cabang baru di Makassar butuh Admin Cabang. Pak Hendra buka Pengguna, klik Tambah. Isi nama, email, pilih jabatan "Admin Cabang", pilih cabang "Makassar". Klik Simpan. Sistem otomatis mengirim email ke admin baru untuk membuat password. Semua tercatat: "Hendra membuat pengguna baru — Admin Cabang Makassar".
⚠ Jika Terjadi Masalah
| Masalah | Apa yang Terjadi |
| Mencoba nonaktifkan diri sendiri | Sistem menolak — tidak bisa nonaktifkan akun sendiri |
| Mencoba nonaktifkan Super Admin terakhir | Sistem menolak — harus selalu ada minimal 1 Super Admin |
Flow 19 dari 28 — Phase 3Admin Membuat Laporan & Export (PDF/Excel)
Aktor: Admin Cabang / Super Admin
Jenis: Harian, Bulanan, Pelanggan
Export: PDF (siap cetak) atau Excel (data mentah)
flowchart TD
A["Admin buka menu Laporan"] --> B{Pilih jenis laporan}
B -->|Harian| C["Pilih tanggal"]
B -->|Bulanan| D["Pilih bulan dan tahun"]
B -->|Pelanggan| E["Pilih periode"]
C --> F["Lihat ringkasan: total reservasi, completion rate, revenue estimasi"]
D --> G["Lihat agregat: tren grafik, top paket, pelanggan baru vs returning"]
E --> H["Lihat: total pelanggan, retention rate, top 10 pelanggan"]
F --> I{Pilih format export}
G --> I
H --> I
I -->|PDF| J["Unduh laporan siap cetak — dengan header, logo, tabel"]
I -->|Excel| K["Unduh data mentah — multi-sheet, format Rupiah"]
style J fill:#1d4ed8,color:#fff
style K fill:#16a34a,color:#fff
Isi Laporan
| Jenis | Data yang Dicakup | Kegunaan |
| Laporan Harian | Total reservasi, completion rate, estimasi revenue, jumlah pembatalan, detail per sesi & paket | Pantauan operasional harian |
| Laporan Bulanan | Total reservasi sebulan, tren harian, distribusi status (pie chart), top 5 paket, revenue per hari, perbandingan bulan lalu | Review kinerja bulanan, dikirim ke manajemen pusat |
| Laporan Pelanggan | Total pelanggan, pelanggan baru vs returning, rata-rata reservasi, retention rate, top 10 pelanggan | Analisis loyalitas pelanggan |
📖 Cerita Contoh
Akhir bulan, Rina perlu mengirim laporan ke pusat. Ia buka Laporan → Bulanan, pilih Agustus 2026. Sistem menampilkan ringkasan: 245 reservasi, 92% selesai, estimasi revenue Rp 185 juta. Grafik menunjukkan Sabtu selalu hari tersibuk. Rina klik Export PDF. File PDF terunduh dengan header Jantra Kakikaki, logo, tabel rapi. Siap dikirim ke Pak Hendra.
Flow 20 dari 28 — Phase 3Sistem Mengirim Notifikasi WhatsApp Otomatis
Aktor: Sistem (otomatis)
Penerima: Pelanggan & Mekanik
Channel: WhatsApp Cloud API (Meta)
flowchart TD
A["Terjadi peristiwa di sistem"] --> B{Jenis peristiwa}
B -->|Reservasi dibuat| C["Kirim WA ke Pelanggan: konfirmasi reservasi"]
B -->|H-1 sebelum jadwal| D["Kirim WA ke Pelanggan: pengingat besok servis"]
B -->|Mekanik ditugaskan| E["Kirim WA ke Mekanik: info kendaraan dan sesi"]
B -->|"Status berubah (selesai)"| F["Kirim WA ke Pelanggan: servis selesai"]
C --> G["Notifikasi terkirim — tercatat status kirim"]
D --> G
E --> G
F --> G
style G fill:#16a34a,color:#fff
style C fill:#25D366,color:#fff
style D fill:#25D366,color:#fff
style E fill:#25D366,color:#fff
style F fill:#25D366,color:#fff
Jenis Notifikasi WhatsApp
| Pemicu | Penerima | Contoh Isi Pesan |
| Reservasi berhasil dibuat | Pelanggan | "Reservasi Anda di Jantra Jakarta Pusat pada 15 Juni sesi 1 (08:00) telah dikonfirmasi. B 1234 ABC — Spooring & Balancing." |
| H-1 sebelum jadwal | Pelanggan | "Pengingat: Besok servis kendaraan B 1234 ABC di Jantra Jakarta Pusat, 15 Juni jam 08:00. Datang 15 menit sebelumnya." |
| Mekanik ditugaskan | Mekanik | "Anda ditugaskan: B 1234 ABC, Toyota Avanza, Spooring, sesi 1 (08:00-10:00). Keluhan: Setir terasa berat." |
| Servis selesai | Pelanggan | "Servis B 1234 ABC di Jantra Jakarta Pusat telah selesai. Silakan ambil kendaraan Anda. Terima kasih!" |
📖 Cerita Contoh
Budi reservasi untuk 15 Juni. Sehari sebelumnya (14 Juni sore), HP-nya bergetar — notifikasi WhatsApp dari Jantra Kakikaki: "Pengingat: Besok servis B 1234 ABC jam 08:00 di Jantra Jakarta Pusat." Budi jadi tidak lupa. Pagi harinya, setelah mekanik Agus ditugaskan, HP Agus juga bergetar: "Anda ditugaskan B 1234 ABC, sesi 1." Semua informasi sampai ke orang yang tepat, tepat waktu, tanpa perlu ditelepon manual.