Platform Dokumen Presentasi

Alur Bisnis
EVIGO

Pemetaan end-to-end seluruh alur operasional — dari manajemen armada oleh admin, pemesanan oleh perusahaan dan pelanggan individu, hingga eksekusi perjalanan oleh driver.

Admin Panel
B2B Portal
B2C Portal
Driver App

Ekosistem Platform EVIGO

Empat aktor utama yang saling terhubung melalui satu backend terpadu. Setiap panel memiliki hak akses, alur data, dan status order yang spesifik.

Peta Ekosistem
Admin Panel
Web · Operator internal
B2B Portal
Web · Perusahaan klien
EVIGO Backend
Laravel · Sanctum · API
B2C Portal
Web · Pelanggan individu
Driver App
Mobile Flutter · Pengemudi
ADMIN
Kelola master data · Assign order ke driver · Monitor trip · Buat invoice
B2B
Buat booking · Approval oleh manager · Lacak status order perusahaan
B2C
Login OTP · Booking mandiri · Bayar QRIS · Verifikasi pickup
DRIVER
Terima order · Verif kode pickup B2C · Update status trip · Kirim GPS

Alur Bisnis — Operator Internal

Admin adalah pusat kendali seluruh operasional EVIGO. Semua entitas master data, penugasan order, dan penagihan dikontrol dari sini.

1. Login & Autentikasi

Akses admin terproteksi Sanctum + role middleware

1
Admin buka halaman login
Frontend request CSRF token, lalu kirim email + password ke endpoint login.
2
Validasi role & sesi
Backend cek role admin. Router guard validasi sesi di setiap navigasi. Gagal → redirect ke login.
3
Masuk ke Dashboard
KPI operasional: trip aktif, order pending assign, revenue bulan ini, invoice jatuh tempo.
GET /admin/overview

2. Setup Master Data

Fondasi operasional — wajib dikonfigurasi sebelum menerima order

1
Buat kategori kendaraan
Pickup 1T, CDD 4T, Fuso 8T, Cold Chain — dasar klasifikasi armada.
2
Daftarkan kendaraan & driver
Kendaraan dipetakan ke kategori. Driver didaftarkan dan bisa di-assign ke kendaraan.
3
Konfigurasi lokasi & tarif
Master lokasi (titik hub) dan tarif per rute & kategori sebagai dasar pricing semua order.
4
Daftarkan perusahaan B2B
Buat akun company beserta user B2B dan tarif kontrak khusus per perusahaan.

3. Pengelolaan Order

Dari order masuk hingga driver berangkat

1
Order masuk dari B2B / B2C
Admin melihat semua order baru di daftar order. Order B2B sudah melalui approval manager. Order B2C langsung pending.
2
Admin assign driver & kendaraan
Admin pilih driver tersedia dan kendaraan sesuai kategori order. Jadwal keberangkatan dikonfirmasi.
POST /admin/orders/assign
3
Monitoring trip aktif
Admin pantau posisi armada secara real-time. Filter berdasarkan tipe B2B atau B2C.

4. Billing & Invoice

Penagihan manual dan generate otomatis bulanan B2B

1
Kelola invoice manual (B2C)
Buat, edit, delete invoice. Kirim ulang email. Download dan print PDF invoice.
2
Generate invoice bulanan B2B
Flow 3 langkah: pilih perusahaan & periode → preview semua trip → store dan kirim ke customer B2B.
Options → Preview → Store
3
Monitor status pembayaran
Lacak invoice: Draft · Terkirim · Lunas · Jatuh Tempo. Resend untuk yang belum dibayar.

Alur Bisnis — Portal Perusahaan

Perusahaan klien mengakses portal untuk membuat dan mengelola booking armada. Order melalui mekanisme approval internal sebelum diproses operasional.

1. Login & Hak Akses

Autentikasi email + password, role: manager atau staff

1
Login via email & password
Sistem cek user_type B2B. Non-B2B dilogout otomatis. Session terproteksi Sanctum + middleware role b2b.
2
Dashboard perusahaan
Statistik order company: total, pending, on trip, completed. 5 order terbaru ditampilkan sebagai quick view.
3
Perbedaan Manager vs Staff
Staff hanya bisa buat booking. Manager dapat approve dan reject order pending dari seluruh tim perusahaan.
Manager
Approve · Reject · Booking
Staff
Booking saja · View-only approval

2. New Booking

Permintaan pengiriman oleh perusahaan

1
Isi form booking
Pilih pickup, dropoff, jadwal, kategori kendaraan. UI menghitung estimasi jarak dan durasi via Google Maps.
2
Pilih tarif kendaraan B2B
Tarif otomatis muncul berdasarkan kontrak aktif perusahaan. Harga B2B berbeda dari tarif umum.
3
Submit → status PENDING
Order dibuat dengan source B2B_PORTAL. Masuk antrian approval. Manager mendapat notifikasi badge.
POST /b2b/orders

3. Alur Approval Order B2B

Mekanisme persetujuan internal perusahaan sebelum order diproses oleh admin EVIGO

Dibuat
Staff/Manager submit
Pending
Menunggu manager
Approved
Manager menyetujui
On Trip
Driver berangkat
Completed
Perjalanan selesai
Rejected — Manager menolak dengan alasan. Status final, tidak bisa diubah.
Cancelled — User B2B batalkan. Hanya dari status Pending atau Approved.

Alur Bisnis — Portal Pelanggan Individu

Pelanggan individual mengakses layanan pengiriman langsung tanpa persetujuan. Login menggunakan OTP email tanpa password.

1. Login OTP & Session

Tanpa password — verifikasi email 6 digit

1
Masukkan email
Sistem validasi email: cek blacklist, rate-limit. Jika lolos, kirim OTP 6 digit ke email customer.
2
Verifikasi OTP
Backend verifikasi kode, buat atau sinkronkan akun B2C, lalu terbitkan token Sanctum berlaku 14 hari.
Token 14 hari · localStorage
3
Guard otomatis
Router guard cek token + expiry setiap navigasi. Token expired → kembali ke form OTP secara otomatis.

2. Booking Pengiriman

Pelanggan pesan pengiriman secara mandiri

1
Pilih lokasi & kendaraan
Pickup location_id dari master lokasi. Kategori kendaraan otomatis mengikuti tarif yang tersedia di lokasi tersebut.
2
Estimasi harga
UI hitung rute via Google Maps. Estimasi harga dikonfirmasi dari backend sebelum submit.
3
Order dibuat → kode verifikasi
Backend buat order B2C status PENDING + generate pickup verification code unik untuk digunakan saat driver tiba.
pickup_verification_code

3. Pembayaran QRIS

Sistem pembayaran digital terintegrasi webhook

1. Generate QRIS
Customer minta QRIS dari halaman checkout berdasarkan reference order/invoice.
2. Scan & Bayar
Customer scan QRIS melalui GoPay, OVO, Dana, ShopeePay, atau mBanking.
3. Polling Status
Frontend polling status pembayaran secara berkala sampai terkonfirmasi paid.
4. Webhook Update
Backend terima webhook dari payment gateway. Status order/invoice diupdate otomatis.
STATUS ORDER B2C
Pending
Assigned
On Trip
Completed
Cancelled(dari pending saja)
Rejected

Alur Bisnis — Aplikasi Pengemudi

Driver menggunakan aplikasi mobile untuk menerima order, mengeksekusi trip, dan mengirimkan data lokasi secara real-time.

1. Splash & Login
Token Sanctum di secure storage
1
Cek token di secure storage
Valid → langsung ke Dashboard. Tidak ada/expired → ke Login.
2
Login email + password
401 = salah. 403 = non-aktif atau bukan role driver.
3
Token disimpan & header dipasang
Token, expires_at, dan data driver disimpan. Authorization header aktif otomatis.
2. Dashboard & Status Kerja
Toggle on-duty / off-duty
1
Dashboard memuat data driver
Profil, kendaraan assigned, statistik order, dan trip aktif (jika ada).
2
Toggle On Duty / Off Duty
Off Duty ditolak (422) jika driver masih memiliki trip aktif yang belum selesai.
3
Navigasi ke daftar order
Lihat order yang assigned, buka detail, atau lanjutkan trip aktif dari widget dashboard.
3. Verifikasi Pickup (B2C)
Kode 4 digit khusus order pelanggan individu
1
Minta kode dari customer
Driver tiba di titik pickup, minta kode 4 digit yang dikirim sistem ke customer saat booking.
2
Input & verifikasi di app
Kode salah → 422. Benar → pickup_verified_at disimpan. Trip otomatis jadi CHECKIN.
3
STARTED terkunci tanpa verifikasi
Untuk B2C: STARTED ditolak backend jika pickup code belum diverifikasi. B2B: tidak perlu verifikasi.
4. Eksekusi Trip & GPS
Update status + tracking lokasi berkala
1
Update status trip secara bertahap
CHECKIN → STARTED → ONGOING → FINISHED. Atau CANCELLED jika batal.
2
Kirim lokasi GPS berkala
Payload: lat, lng, optional speed & address. Backend update posisi kendaraan + simpan log LOCATION_UPDATE.
3
Trip FINISHED → otomasi backend
Set waktu_finish · Kendaraan → AVAILABLE · Driver → OFF_DUTY · Order → COMPLETED.
Status Trip Driver
Assigned Checkin Started *B2C butuh verif Ongoing Finished Cancelled

Bagaimana Keempat Panel Saling Terhubung

Setiap order yang dibuat B2B atau B2C akhirnya dieksekusi oleh Driver dan dikelola oleh Admin. Berikut titik-titik interaksi utamanya.

B2B Admin
Order B2B yang sudah di-approve manager masuk ke daftar order admin sebagai APPROVED
Admin assign driver & kendaraan untuk menjalankan order tersebut
Admin generate invoice bulanan berdasarkan semua trip B2B yang sudah selesai
B2C Admin
Order B2C masuk langsung sebagai PENDING tanpa approval internal
Admin assign driver & kendaraan, sistem memberi kode verifikasi pickup kepada customer
Admin kelola pembayaran QRIS via invoice individual
Admin Driver
Setelah admin assign, order muncul di aplikasi driver dengan status ASSIGNED
Driver mendapat informasi lengkap: rute, customer, kendaraan, dan flag verifikasi pickup (B2C)
Driver update status trip, backend sinkronkan ke status order yang terlihat customer
Driver B2C
Driver meminta kode verifikasi pickup 4 digit dari customer B2C saat tiba
Setelah kode valid, driver baru bisa mengubah status menjadi STARTED
Saat trip FINISHED, status order customer berubah jadi COMPLETED secara otomatis
Alur Operasional Harian yang Disarankan
1
Cek Dashboard
KPI & alert operasional pagi hari
2
Assign Order Pending
Tugaskan driver & kendaraan ke order baru
3
Monitor Armada
Pantau semua trip aktif secara real-time
4
Tindak Customer Issue
Blacklist, complaint, atau konfirmasi pembatalan
5
Tutup dengan Billing
Generate invoice bulanan B2B jika periode siap