- CRUD jenis armada (contoh: minibus, bus besar, mobil SUV).
- Data yang diperlukan:
- Nama jenis armada.
- Kapasitas kursi.
- Fasilitas (contoh: AC, charger, dll.).
- CRUD armada dengan detail seperti:
- Nomor polisi.
- Kapasitas.
- Status armada (aktif/nonaktif).
- Relasi: Terkait dengan jenis armada.
- CRUD data supir, meliputi:
- Nama.
- Nomor telepon.
- Nomor SIM.
- Pengalaman kerja.
- CRUD rute perjalanan:
- Kota asal.
- Kota tujuan.
- Durasi estimasi perjalanan.
- Jarak tempuh.
- Relasi: Dikaitkan dengan tarif per rute dan jenis unit armada.
- Tarif berdasarkan:
- Jenis armada.
- Rute perjalanan.
- Waktu (normal/peak season).
- Penjadwalan keberangkatan dengan validasi:
- Unit armada tidak boleh digunakan pada jadwal yang sama.
- Supir tidak boleh bertugas di dua jadwal yang bertabrakan.
- Data yang diperlukan:
- Tanggal keberangkatan.
- Jam keberangkatan.
- Rute.
- Unit armada.
- Supir.
- Transaksi penjualan tiket, meliputi:
- Data penumpang (nama, nomor telepon).
- Jumlah tiket yang dipesan.
- Kursi yang dipilih (cek ketersediaan secara real-time).
- Relasi: Terkait dengan jadwal keberangkatan.
- Biaya yang dihitung:
- Bahan bakar.
- Gaji supir.
- Biaya parkir.
- Biaya lain-lain.
- Relasi: Dikaitkan dengan jadwal keberangkatan.
- Laporan pemasukan: Berdasarkan penjualan tiket.
- Laporan pengeluaran: Dari biaya operasional.
- Laporan laba kotor:
- Per keberangkatan.
- Harian, bulanan, tahunan.
- Pengunjung dapat melihat jadwal berdasarkan:
- Rute perjalanan.
- Tanggal tertentu.
- Pengunjung dapat melihat tarif berdasarkan:
- Rute perjalanan.
- Jenis unit armada.
- Form pemesanan tiket, meliputi:
- Nama, nomor HP, email.
- Rute dan jadwal keberangkatan.
- Jumlah kursi yang dipesan.
- Fitur tambahan: Pilih kursi yang tersedia (cek ketersediaan secara real-time).
- Metode pembayaran:
- Transfer bank.
- E-wallet.
- Payment gateway.
- Pengguna dapat upload bukti pembayaran.
- Tiket dalam format PDF, mencantumkan:
- Data penumpang.
- Jadwal keberangkatan.
- Rute perjalanan.
- Harga tiket.
- Kode QR untuk validasi.
- Laravel (PHP): Untuk CRUD fitur operasional dan API public.
- Node.js atau Go: Untuk performa tinggi (misal: real-time cek ketersediaan kursi).
- Vue.js/React: Untuk website publik (pengguna bisa pesan tiket dan cek jadwal).
- Blade (Laravel): Untuk antarmuka admin internal.
- PostgreSQL: Mendukung relasi kompleks (armada, rute, supir, dll.).
- Redis: Untuk cache real-time ketersediaan kursi.
- Socket.io: Jika ada rencana update jadwal atau pemesanan secara real-time.
- Gunakan layanan seperti:
- Midtrans.
- Xendit.
- Stripe.
- Fokus pada fitur internal:
- Manajemen armada.
- Jadwal keberangkatan.
- Penjualan tiket.
- Buat laporan dasar untuk kelancaran operasional.
- Kembangkan website publik untuk:
- Pemesanan tiket.
- Integrasi pembayaran online.
- Tambahkan fitur seperti:
- Diskon musiman.
- Integrasi Google Maps untuk estimasi waktu perjalanan.
- Monitor performa sistem agar tetap responsif.