Demo Tirto / Booking Motor

Demo — Booking Motor

Panduan demo per alur untuk modul Booking: menahan satu unit Tersedia untuk satu pelanggan di cabang yang sama, memantau umur booking, dan membatalkannya sehingga unit kembali tersedia.

Semua gambar diambil dari build develop yang berjalan dengan data uji (database terpisah, satu akun per role, cabang Cabang E2E A).

Cara membaca gambar

Akun yang dipakai

RoleNamaUsernameDipakai di alur
Admin PDIAgus Salime2e_admin_pdi1, 2, 3, 4
SPVYusuf Hidayate2e_spv5
Kepala CabangDewi Lestarie2e_kepala_cabang5
ADHSri Wahyunie2e_adh6
KawilBambang Sutrisnoe2e_kawil6

Password semua akun uji sama.

Siapa boleh apa

KegiatanRole
Booking Unit (membuat)Superadmin, Kepala Cabang, Admin PDI
Batalkan bookingSuperadmin, Kepala Cabang, Admin PDI, SPV
Melihat daftarSuperadmin, Kawil, Kepala Cabang, Admin PDI, Admin H1, Sales, SPV, ADH

Semua baris diamati di layar (alur 5, 6, 9, 10). Sales hanya melihat booking untuk pelanggannya sendiri, dan semua role selain Superadmin hanya melihat cabangnya (Kawil: cabang binaannya).

Alur satu halaman

Pelanggan + unit Tersedia ──> Booking Unit ──> Diproses (unit Booked, umur bertambah per hari)
                                                  │            │
                                          Batalkan (unit
                                          Tersedia lagi)

1. Melihat daftar Booking

Role: Admin PDI (Agus Salim)

  1. Buka Booking → Booking Motor.
  2. Kolom: Tgl Booking, Umur (hari unit ditahan, 0 pada hari booking), Pelanggan (dengan no telepon), Unit (dengan no rangka), Cabang, Status (Diproses, Dibatalkan, Selesai), Oleh.
  3. Filter: Status, urutan Terbaru dulu / Terlama dulu.
Daftar booking
Daftar booking

2. Membuat booking

Role: Admin PDI (Agus Salim)

  1. Tekan Booking Unit.
  2. Cari dan pilih Pelanggan (di demo: Dian Pratiwi).
  3. Buka pilihan Unit: hanya unit Tersedia di cabang pelanggan yang ditawarkan. Unit yang sudah booked tidak muncul.
Pilihan unit
Pilihan unit
  1. Pilih unit, tekan Booking.
Dialog terisi
Dialog terisi
  1. Toast *Unit dibooking untuk Dian Pratiwi*; baris baru berstatus Diproses, umur 0 hari.
Booking tersimpan
Booking tersimpan

3. Umur booking dan urutan terlama

Role: Admin PDI (Agus Salim)

Pilih status Diproses dan urutan Terlama dulu: unit yang paling lama ditahan (14 hari) ada di atas, diikuti 5 hari dan 0 hari.

Terlama dulu
Terlama dulu

4. Membatalkan booking: unit kembali Tersedia

Role: Admin PDI (Agus Salim)

  1. Selama booking Diproses, unit berstatus Booked di Stok Motor.
Stok sebelum batal
Stok sebelum batal
  1. Pada baris booking tekan Batalkan; konfirmasi *Unit kembali berstatus tersedia dan dapat dibooking pelanggan lain*.
Konfirmasi batal
Konfirmasi batal
  1. Toast *Booking dibatalkan, unit kembali tersedia*. Baris menjadi Dibatalkan, Umur menjadi —, dan tombol Batalkan hilang.
Booking dibatalkan
Booking dibatalkan
  1. Di Stok Motor unit itu kembali Tersedia.
Stok setelah batal
Stok setelah batal

5. SPV dan Kepala Cabang

Role: SPV (Yusuf Hidayat), Kepala Cabang (Dewi Lestari)

SPV melihat daftar tanpa tombol Booking Unit, tetapi boleh Batalkan.

SPV
SPV

Setelah SPV membatalkan, baris menjadi Dibatalkan; kolom Oleh tetap nama pembuat booking, bukan pembatal.

SPV setelah batal
SPV setelah batal

Kepala Cabang punya keduanya: Booking Unit dan Batalkan.

Kepala Cabang
Kepala Cabang

6. Role yang hanya membaca

Role: ADH (Sri Wahyuni), Kawil (Bambang Sutrisno)

Daftar tampil, tetapi tidak ada tombol Booking Unit dan Batalkan pada booking yang Diproses. Bila membatalkan lewat API, ADH ditolak 403 Role adh is not allowed here.

ADH
ADH
Kawil
Kawil

7. Booking Selesai (menjadi transaksi)

Role: Admin PDI (Agus Salim); transaksi dibuat oleh Admin H1

Setelah transaksi dibuat dari unit yang dibooking, status booking menjadi Selesai: Umur menjadi —, tombol Batalkan hilang.

Booking selesai
Booking selesai

Di Stok Motor unit itu tetap berstatus Booked (belum Terjual) setelah transaksi dibuat.

Stok setelah transaksi
Stok setelah transaksi

8. Pelanggan cabang lain

Role: Admin PDI (Agus Salim), cabang A

  1. Di dialog Booking Unit mencari pelanggan cabang B (Siti Rahmawati): tidak ada hasil.
Pelanggan cabang lain
Pelanggan cabang lain
  1. Lewat API pelanggan itu dengan unit cabang A: 404 *Pelanggan dengan ID ... tidak ditemukan* (Admin PDI), dan 400 *Pelanggan dan unit harus berada di cabang yang sama* (Superadmin, yang bisa melihat pelanggan tersebut).

9. Superadmin

Role: Superadmin (Hendra Wijaya)

Memilih pelanggan cabang B, unit yang ditawarkan hanya unit Tersedia cabang B, lalu Booking.

Superadmin booking cabang B
Superadmin booking cabang B

Daftar memuat semua cabang, ada filter Semua cabang (hanya Superadmin), Booking Unit dan Batalkan.

Superadmin daftar
Superadmin daftar

10. Admin H1 dan Sales

Admin H1 melihat booking cabangnya tanpa tombol Booking Unit dan Batalkan:

Admin H1
Admin H1

Sales (cabang A) melihat daftar tanpa tombol; booking pelanggan cabang B tidak muncul:

Sales
Sales

Sales cabang B (Joko Prasetyo) hanya melihat booking pelanggan cabang B:

Sales cabang B
Sales cabang B

Penolakan dari server (tombol tidak tersedia di UI, dicoba lewat API):

PercobaanJawaban
Admin H1 atau Sales membuat booking403 *Role admin_h1 / sales is not allowed here*
Admin H1 atau Sales membatalkan booking403 *Role admin_h1 / sales is not allowed here*
ADH membatalkan booking403 *Role adh is not allowed here*
Admin PDI cabang A membatalkan booking cabang B404 *Booking dengan ID ... tidak ditemukan*
Sales cabang A membaca booking cabang B404 *Booking dengan ID ... tidak ditemukan*

Catatan teknis gambar