Halaman Kurir



1. Tujuan Halaman Kurir

Halaman Kurir dipakai untuk:

  • Melihat daftar transaksi yang perlu diantar/dipantau oleh kurir.

  • Memfilter transaksi berdasarkan tanggal, status, dan kurir.

  • Mengatur status transaksi (antar, delivered, cancel).

  • Mengatur dan mencatat pembayaran (khusus jika kurir juga boleh terima pembayaran).

  • Cetak kwitansi & label barcode.

  • Akses cepat ke WA (WhatsApp) dan detail pelanggan.

  • Mengatur tracking waktu proses cucian (order → proses → selesai → delivered).

File program: l_kurir.php
Menu: “Halaman Kurir” (tab Kurir).


2. Hak Akses / Role

Ada beberapa jenis pengguna yang terkait:

  • KURIR (ROLE_KURIR)

  • KASIR (ROLE_KASIR)

  • PEMILIK (ROLE_PEMILIK)

Perbedaan perilaku penting:

  • Jika login sebagai KURIR:

    • Filter “Kurir” otomatis terisi dirinya sendiri dan dikunci (tidak bisa melihat transaksi kurir lain).

    • Di modal, pilihan kurir juga dikunci ke dirinya sendiri.

  • Jika login sebagai KASIR/PEMILIK:

    • Bisa memilih “Kurir” mana pun di filter.

    • Bisa mengatur transaksi untuk semua kurir.


3. Bagian Atas: Filter Status (Badges)

Di bagian atas, ada deretan badge status:

  • Semua

  • Order

  • Proses

  • Selesai

  • Delivered

  • Lunas

  • Lunas Sebagian

  • Belum Lunas

  • Cancel

  • Terlambat

Cara pakai:

  • Klik salah satu badge untuk memfilter tabel berdasarkan status tersebut.

  • Badge yang aktif akan terlihat “terpilih”.

  • Di sampingnya ada teks kecil: Status: <Nama Status> yang menunjukkan filter status yang sedang aktif.

Catatan:

  • Badge “Terlambat” menampilkan transaksi yang estimasi selesainya sudah lewat tapi statusnya belum selesai/delivered.


4. Filter Bar (Filter Tanggal, Kurir, dan Pencarian)

Di bawah badge, ada kartu “Filter” yang berisi:

  1. Tipe Filter

    • Saat ini yang aktif: “Per Hari”.

    • Input tanggal akan muncul untuk filter harian.

  2. Tanggal

    • Input tanggal (date picker).

    • Ada tombol:

      • Tombol “<” : mundur 1 hari.

      • Tombol “>” : maju 1 hari.

    • Tabel akan otomatis reload saat tanggal diganti.

  3. Filter Kurir

    • Dropdown “Kurir”:

      • “Lihat semua kurir” → menampilkan semua transaksi.

      • Pilih nama kurir tertentu → hanya tampil transaksi untuk kurir tersebut.

    • Kalau login sebagai KURIR:

      • Dropdown ini otomatis terisi nama kurir yang sedang login, dan dikunci (disable).

  4. Pencarian Global

    • Input “Cari (kode/nama/HP)”:

      • Bisa mencari berdasarkan kode transaksi, nama pelanggan, atau nomor HP.

      • Minimal 2 huruf/angka untuk memicu pencarian otomatis.

    • Tombol “X” di sisi kanan untuk menghapus teks pencarian.

    • Tombol “Cari” untuk memaksa reload data dengan kata kunci yang diisi.

Setiap perubahan filter (tipe, tanggal, kurir, status, maupun pencarian) akan:

  • Reload tabel transaksi.

  • Mengupdate ringkasan di bagian bawah (jumlah transaksi dan total pendapatan).


5. Tabel Transaksi Kurir

Tabel utama memiliki kolom:

  1. Tgl/Jam

    • Ditampilkan 2 baris:

      • Baris pertama: Tanggal panjang (misalnya: “Senin, 01 Jan 2025”).

      • Baris kedua: jam transaksi (misal “14.30”).

  2. Kode

    • Menampilkan kode transaksi.

    • Jika transaksi terlambat, di atas kode akan muncul badge “Terlambat”.

    • Di bawah kode bisa muncul keterangan estimasi selesai, misal: “Est Selesai: 01 Jan 2025 18:00”.

    • Klik kode transaksi akan membuka “Modal Proses Transaksi Kurir”.

  3. Pelanggan

    • Baris 1: Nama pelanggan + (No HP) di dalam tanda kurung, jika tersedia.

      • Klik nama pelanggan akan membuka WA Center (halaman pusat template WA).

    • Baris 2: Alamat (bila ada, jika kosong akan tampil “-”).

    • Baris 3: Email (jika ada, kalau tidak ada tampil “-”).

  4. Kurir

    • Nama kurir yang ditugaskan untuk transaksi tersebut (jika sudah diset).

  5. Item

    • Jumlah item/barang di transaksi tersebut.

  6. Total

    • Grand total transaksi dalam format Rupiah.

  7. Bayar

    • Badge status pembayaran:

      • Lunas

      • Lunas Sebagian

      • Belum Lunas

    • Menunjukkan status berdasarkan total pembayaran yang sudah masuk dibandingkan grand total.

  8. Status

    • Badge status transaksi:

      • ORDER

      • PROCESS

      • FINISH

      • DELIVERED

      • CANCEL

  9. Aksi

    • Tombol-tombol aksi (misal: buka detail, hapus, dll – tergantung konfigurasi backend).

    • Ada juga fitur hapus transaksi dengan konfirmasi dan alasan (jika diaktifkan di server).

Highlight khusus:

  • Baris “terlambat” akan diberi warna khusus (merah muda) dan strip di sisi kiri.

  • Baris bisa punya warna berbeda tergantung status (order, process, finish, delivered, cancel).


6. Summary Footer

Di bawah tabel, ada ringkasan:

  • “Jumlah transaksi: X”

  • “Total pendapatan: Rp Y”

Nilai ini mengikuti filter yang sedang aktif (tanggal, status, kurir, dan kata kunci).


7. Modal Proses Transaksi Kurir

Modal ini muncul ketika:

  • Anda klik kode transaksi di kolom “Kode”, atau

  • Klik tombol aksi yang memang diset untuk membuka detail.

7.1. Bagian Kiri – Detail Transaksi

Berisi:

  • Tanggal/Jam:

    • Tanggal dan jam order.

  • Estimasi Selesai:

    • Estimasi waktu cucian selesai.

  • Status:

    • Badge status (ORDER, PROCESS, FINISH, DELIVERED, CANCEL).

  • Parfum:

    • Nama parfum yang dipilih pelanggan (jika ada).

  • Info Antar:

    • Jika transaksi diberi tanda “antar”, akan muncul badge:

      • “Antar (permintaan pelanggan)”.

Info Pelanggan:

  • Pelanggan: nama pelanggan.

  • No HP: nomor HP pelanggan.

  • Alamat: alamat lengkap pelanggan.

Tabel Detail Layanan:

  • Layanan

  • Jumlah

  • Satuan

  • Harga

  • Total per baris

Jika tidak ada detail, akan tampil tulisan “Tidak ada detail”.

Ringkasan angka:

  • Subtotal

  • Ongkir

  • Diskon

  • Pajak

  • Grand Total

Ringkasan Pembayaran:

  • Bayar (akumulasi): total semua pembayaran yang sudah masuk.

  • Sisa: sisa tagihan (Grand Total – total bayar).

  • Kembalian (terakhir): kembalian dari pembayaran terakhir.

  • Status Pembayaran:

    • Lunas

    • Lunas Sebagian

    • Belum Lunas

  • Riwayat Pembayaran:

    • Daftar pembayaran per tanggal/jam dan metode.

Catatan:

  • Menampilkan catatan transaksi yang pernah disimpan.

  • Di bawahnya ada textarea untuk mengedit/menambahkan catatan baru.


7.2. Bagian Kanan – Aksi Kurir

Bagian ini khusus untuk mengatur hal-hal yang berhubungan dengan kurir:

  1. Checkbox “Diantar ke alamat pelanggan”

    • Jika dicentang:

      • Menandai bahwa transaksi ini akan diantar.

      • Menampilkan info khusus “Antar (permintaan pelanggan)”.

    • Jika tidak dicentang:

      • Dianggap pelanggan ambil sendiri atau antar tidak diperlukan.

  2. Pilihan Kurir

    • Dropdown “Kurir”:

      • Pilih nama kurir yang ditugasi untuk mengantar.

      • Catatan: login sebagai KURIR tidak bisa mengganti menjadi kurir lain.

  3. Checkbox “Tandai Bayar”

    • Jika dicentang:

      • Panel pembayaran akan muncul (“wrap_bayar”).

    • Jika status transaksi sudah LUNAS:

      • Checkbox dan form bayar akan terkunci (tidak bisa lagi menambah pembayaran dari sini).

  4. Panel Pembayaran

    • Tanggal dan Jam:

      • Tanggal dan jam pembayaran.

      • Otomatis terisi waktu sekarang saat modal dibuka pertama kali (bisa diubah).

    • Metode Pembayaran:

      • Pilih metode pembayaran (tunai, transfer, e-wallet, dsb, tergantung yang disetting di sistem).

    • Total Tagihan:

      • Berisi sisa yang harus dibayar (sisa tagihan).

    • Bayar:

      • Input untuk memasukkan nominal yang dibayar pelanggan.

    • Quick Pay:

      • Beberapa badge angka cepat: Rp 5.000, Rp 10.000, Rp 20.000, Rp 50.000, Rp 100.000.

      • Klik sekali → isi nilai ke kolom bayar.

      • Klik sambil menekan tombol Shift di keyboard → nilai akan ditambahkan (bukan diganti).

      • Badge “Pas” akan muncul menyesuaikan sisa tagihan (jika ada).

    • Kembali:

      • Menampilkan kembalian berdasarkan selisih bayar dan sisa tagihan.

    Tombol:

    • “Bayar”

      • Menyimpan pembayaran baru ke sistem.

      • Jika total bayar sudah >= grand total, status otomatis menjadi LUNAS.

      • Akan menawarkan untuk cetak kwitansi jika sudah lunas.

    • “Reset”

      • Mengosongkan input bayar & kembali.

  5. Checkbox “Tandai Diterima (Delivered)”

    • Untuk menandai bahwa cucian sudah diterima pelanggan.

    • Mengubah status transaksi menjadi DELIVERED, dan mencatat waktu “delivered”.

  6. Checkbox “Tandai Batal (Cancel)”

    • Untuk membatalkan transaksi.

    • Aturan:

      • Tidak boleh membatalkan jika transaksi sudah LUNAS.

      • Tidak boleh membatalkan jika sudah ada pembayaran (meski belum lunas).

    • Jika dicentang dan valid:

      • Semua aksi proses dan pembayaran akan dikunci.

      • Muncul pesan peringatan di atas panel aksi.

  7. Catatan

    • Textarea untuk menambah atau mengupdate catatan transaksi.

    • Akan tersimpan saat tombol “Simpan” ditekan.

  8. Tombol-Tombol Aksi

  • “Simpan”

    • Menyimpan:

      • Status antar (diantar/tidak),

      • Kurir yang ditugaskan,

      • Status bayar (jika checkbox bayar aktif),

      • Status cancel/delivered,

      • Catatan.

  • “Kwitansi”

    • Membuka halaman cetak kwitansi transaksi di tab baru.

  • “Label”

    • Membuka halaman cetak barcode/label transaksi di tab baru.

  • “Kirim WA Notif Order”

    • Mengirim pesan WhatsApp kwitansi/order ke pelanggan (kalau nomor HP tersedia).

  • “Buka WA Center”

    • Membuka halaman WA Center, khusus untuk komunikasi WhatsApp dengan pelanggan (berdasarkan pelanggan_id dan nomor HP).

  • “Tracking Waktu Cucian”

    • Membuka modal Tracking untuk mengatur/cek waktu tiap tahap status cucian.

  • “Detail Pelanggan & Maps”

    • Membuka halaman detail pelanggan (di sistem master data), termasuk info maps jika diaktifkan.


8. Modal Tracking Waktu Cucian

Modal ini berfungsi untuk mencatat atau mengoreksi waktu di setiap tahap cucian:

Isi modal:

  1. Info Order

    • Order – Tanggal

    • Order – Jam

  2. Mulai Proses

    • Tanggal dan jam mulai proses (PROCESS).

  3. Selesai (Finish)

    • Tanggal dan jam cucian selesai (FINISH).

  4. Diterima Pelanggan (Delivered)

    • Tanggal dan jam cucian diterima pelanggan (DELIVERED).

  5. Dibatalkan (Cancel)

    • Tanggal dan jam ketika transaksi dinyatakan batal.

  6. Lunas Dibayar

    • Tanggal dan jam ketika pembayaran pertama kali menjadi LUNAS.

Tombol:

  • “Tutup”

    • Menutup modal, perubahan tidak disimpan.

  • “Simpan Tracking”

    • Mengirim data tracking ke server dan menyimpan perubahan.

    • Setelah tersimpan, tabel akan reload dan ringkasan diperbarui.

Link Tambahan:

  • “Lihat tampilan tracking cucian versi penuh”

    • Membuka halaman tracking versi web (untuk dilihat pelanggan/umum jika dibutuhkan).


9. Interaksi Tambahan dan Tips Penggunaan

  • Klik nama pelanggan (di kolom Pelanggan) → membuka WA Center langsung.

  • Jika filter diisi lewat URL (misal: ?kode_trx=...):

    • Halaman ini bisa otomatis memfilter sesuai kode dan langsung membuka transaksi jika hanya 1 baris yang cocok.

  • Gunakan filter Kurir untuk memonitor performa masing-masing kurir per hari (berapa transaksi, total pendapatan).

  • Gunakan badge “Terlambat” untuk cepat melihat transaksi yang melewati estimasi tapi belum selesai/delivered.