📱
Catatan: Aplikasi mobile dikerjakan oleh tim terpisah (Flutter developer) dan berjalan paralel dengan Phase 3 (Backoffice Lanjutan). Semua fitur yang ada di website pelanggan juga tersedia di aplikasi mobile — hanya dioptimalkan untuk pengalaman di layar HP.
Flow 21 dari 28 — Phase 4Pelanggan Login di Aplikasi Mobile
Aktor: Pelanggan
Platform: Android & iOS (Flutter)
Fitur Tambahan: Deep Link + Biometric (sidik jari / face ID)
flowchart TD
A["Pelanggan buka aplikasi Jantra Kakikaki"] --> B["Layar Login"]
B --> C["Masukkan email atau nomor HP"]
C --> D["Klik Kirim Tautan Masuk"]
D --> E["Sistem kirim tautan ke email/WhatsApp"]
E --> F["Pelanggan klik tautan dari HP"]
F --> G["Aplikasi otomatis terbuka — verifikasi token"]
G --> H{Token valid?}
H -->|Ya| I["Login berhasil — masuk ke Halaman Utama"]
H -->|Tidak| J["Token kadaluarsa — minta tautan baru"]
J --> B
I --> K["Setelah login pertama, aktifkan Login Sidik Jari / Face ID"]
K --> L["Login berikutnya cukup tempelkan jari"]
style I fill:#16a34a,color:#fff
style L fill:#16a34a,color:#fff
Perbedaan dengan Login di Website
| Aspek | Website | Aplikasi Mobile |
| Cara buka tautan | Klik di email, buka di browser | Klik tautan → aplikasi otomatis terbuka (Deep Link) |
| Penyimpanan sesi | Cookie browser | Penyimpanan aman di dalam HP |
| Login ulang | Harus minta tautan lagi setiap kali | Bisa pakai sidik jari / face ID — tanpa minta tautan lagi |
| Keamanan tambahan | — | Bisa diwajibkan sidik jari setiap buka aplikasi |
📖 Cerita Contoh
Budi mengunduh aplikasi Jantra Kakikaki dari Play Store. Ia buka, masukkan email, klik Kirim Tautan. Notifikasi WhatsApp masuk — Budi klik tautannya. Aplikasi langsung terbuka dan Budi sudah login. Ia mengaktifkan Login Sidik Jari. Besoknya, Budi buka aplikasi lagi — cukup tempelkan jari, langsung masuk. Tidak perlu minta tautan lagi.
Flow 22 dari 28 — Phase 4Pelanggan Reservasi Cepat via Aplikasi Mobile
Aktor: Pelanggan (sudah login)
Langkah: 5 langkah (vs 6 di website)
Waktu: ± 2-3 menit (dengan auto-fill)
flowchart TD
A["Buka aplikasi — klik Reservasi Baru"] --> B["Langkah 1: Pilih Cabang"]
B --> C["Tampilan grid cabang + cari + lihat di peta"]
C --> D["Langkah 2: Pilih Paket"]
D --> E["Centang paket — bisa geser untuk lihat detail item"]
E --> F["Langkah 3: Pilih Jadwal"]
F --> G["Kalender geser horizontal + sesi vertikal"]
G --> H["Langkah 4: Isi Data (otomatis dari akun)"]
H --> I["Form satu halaman — data kendaraan dan diri sudah terisi"]
I --> J["Langkah 5: Konfirmasi dan Submit"]
J --> K["Ringkasan + tombol Konfirmasi"]
K --> L["Reservasi berhasil — notifikasi push diterima"]
style L fill:#16a34a,color:#fff
Pengalaman Mobile vs Website
| Aspek | Website | Aplikasi Mobile |
| Jumlah langkah | 6 langkah | 5 langkah (form dan konfirmasi lebih ringkas) |
| Pilih cabang | Grid card + search teks | Grid card + search + GPS: lihat di peta |
| Pilih jadwal | Kalender 2 panel | Kalender geser horizontal + daftar sesi vertikal |
| Isi form | Form 2 kolom (desktop) / 1 kolom (mobile) | Form satu halaman scrollable, auto-fill dari akun |
| Notifikasi | Email | Push notification + email |
| Tambah Kalender | Unduh file .ics | Langsung tambah ke kalender HP |
📖 Cerita Contoh
Di tengah perjalanan, Dewi ingat mobilnya perlu servis. Ia buka aplikasi Jantra Kakikaki. Karena sudah login dan ada data kendaraan, ia tinggal: pilih cabang terdekat (aplikasi mendeteksi lokasi), pilih paket Spooring, geser kalender pilih tanggal, semua data sudah terisi otomatis. Klik Konfirmasi. Selesai dalam 2 menit. Notifikasi push langsung muncul: "Reservasi berhasil — 20 Juni, Cabang Surabaya."
Flow 23 dari 28 — Phase 4Pelanggan Melihat Kendaraan & Riwayat di Aplikasi Mobile
Aktor: Pelanggan (sudah login)
Fitur: CRUD Kendaraan, Riwayat, Detail, Push Notification
flowchart TD
A["Buka aplikasi — Halaman Utama"] --> B{Pilih menu}
B -->|Kendaraan Saya| C["Lihat daftar kartu kendaraan"]
B -->|Riwayat| D["Lihat daftar reservasi — scroll tak terbatas"]
B -->|Notifikasi| E["Lihat semua notifikasi push"]
C --> F["Swipe kiri: hapus — klik: edit"]
C --> G["Tambah kendaraan baru (FAB)"]
D --> H["Filter: Semua / Aktif / Selesai / Dibatalkan"]
D --> I["Klik > Detail lengkap + timeline pengerjaan"]
I --> J["Tombol Batalkan / Ubah Jadwal (jika status Dikonfirmasi)"]
E --> K["Klik notifikasi > langsung buka detail reservasi"]
style C fill:#059669,color:#fff
style D fill:#059669,color:#fff
Jenis Notifikasi Push
| Pemicu | Judul Notifikasi | Isi |
| Reservasi dibuat | Reservasi Berhasil | "Reservasi di Cabang Jakarta Pusat, 15 Juni jam 08:00 dikonfirmasi" |
| H-1 sebelum jadwal | Besok Servis | "Besok 15 Juni jam 08:00 di Cabang Jakarta Pusat — B 1234 ABC" |
| Mekanik ditugaskan | Mekanik Siap | "Mekanik Agus akan mengerjakan kendaraan Anda" |
| Servis selesai | Servis Selesai | "Kendaraan B 1234 ABC selesai — silakan ambil di cabang" |
📖 Cerita Contoh
Dewi menunggu servis mobilnya. Ia buka aplikasi, lihat Riwayat. Status mobilnya: Sedang Dikerjakan. Beberapa saat kemudian, notifikasi push muncul: "Servis Selesai — B 5678 DEF siap diambil." Dewi klik notifikasi itu, langsung melihat detail: mekanik Agus, catatan "Ganti shock depan kanan". Dewi tahu persis apa yang dikerjakan tanpa perlu datang atau menelepon.
⚠ Catatan
| Hal | Penjelasan |
| Tidak menggantikan website | Aplikasi mobile adalah pelengkap — website tetap menjadi platform utama untuk reservasi |
| Fitur sama dengan website | Semua yang bisa dilakukan di website pelanggan (reservasi, kendaraan, riwayat) bisa dilakukan di aplikasi |
| Beta Testing | 100 penguji Android sebelum rilis resmi di Play Store & App Store |