Versi 1
| Field | Isi |
|---|---|
| Dokumen ID | VBS-GDG-001 |
| Deskripsi | Master kandang / gudang / cabang: mengelola daftar cabang brand beserta nomor, nama, lokasi, kontak, alamat, metode pembayaran, user yang ditugaskan, dan work center utama, termasuk arsip dan pemulihan cabang |
| Nomor Revisi | 1 |
| Tanggal | 2026-10-04 |
| Keterangan | Dokumentasi baseline dari dokumentasi fitur demo dan kode FE |
1. Ringkasan
a. In scope
- User melihat daftar cabang (nomor cabang, nama cabang) dan memfilter berdasarkan nama cabang, nomor cabang, dan fungsi cabang
- User menambah cabang: nama cabang, nomor cabang, lokasi, kepala cabang, fungsi, email, telepon, alamat (lebih dari satu)
- Jika fitur lokasi aktif: lokasi dan nomor cabang wajib, sistem otomatis membuat work center utama, dengan opsi custom nama work center yang berbeda dari nama cabang
- Jika fitur lokasi tidak aktif: user juga mengatur metode pembayaran yang tersedia dan daftar user (karyawan, username, jabatan) di cabang
- Sistem membatasi jumlah cabang sesuai limit paket brand dan mengarahkan ke pembelian add-on cabang
- User mengubah dan melihat detail cabang, termasuk memilih work center utama
- User menghapus cabang, melihat arsip cabang nonaktif, dan memulihkan cabang terpilih
- Istilah kandang, gudang, dan cabang mengacu ke entitas yang sama
b. Catatan
c. Kesimpulan
- [FE] -
- [BE] -
2. Functional Requirement
| Kode | Deskripsi |
|---|---|
| FR-01 | Sistem menampilkan daftar cabang dengan pagination dan filter nama, nomor, dan fungsi cabang |
| FR-02 | Sistem menolak tambah cabang bila jumlah cabang sudah mencapai limit brand |
| FR-03 | User dapat menambah cabang dengan informasi cabang, alamat, dan kontak |
| FR-04 | Jika fitur lokasi aktif, sistem mewajibkan lokasi dan nomor cabang lalu membuat work center utama otomatis, dengan opsi custom nama work center |
| FR-05 | Jika pembuatan work center gagal, sistem membatalkan (menghapus) cabang yang baru dibuat |
| FR-06 | Jika fitur lokasi tidak aktif, user dapat mengatur metode pembayaran tersedia dan daftar user cabang |
| FR-07 | User dapat mengubah data cabang termasuk work center utama, alamat, metode pembayaran, dan daftar user |
| FR-08 | User dapat melihat detail cabang |
| FR-09 | User dapat menghapus cabang, dan sistem mengosongkan cabang default brand jika cabang itu yang dihapus |
| FR-10 | User dengan hak akses arsip dapat melihat cabang nonaktif dan memulihkannya secara massal |
3. Use Case List
| Kode | Deskripsi |
|---|---|
| UC-01 | Melihat dan memfilter daftar cabang |
| UC-02 | Menambah cabang baru |
| UC-03 | Mengubah data cabang |
| UC-04 | Melihat detail cabang |
| UC-05 | Menghapus cabang |
| UC-06 | Memulihkan cabang dari arsip |
4. Use Case Scenario
UC-01 : Melihat dan memfilter daftar cabang
| Aktor | User brand dengan hak akses gudang |
| Deskripsi | User melihat daftar cabang brand |
| Prekondisi | User sudah login di brand aktif |
| Alur utama | 1. User membuka menu Master, Lokasi, Cabang. 2. Sistem menampilkan daftar (nomor cabang, nama cabang). 3. User klik Filter dan mengisi nama cabang, nomor cabang, atau fungsi cabang. 4. Sistem memuat ulang daftar dan menyimpan filter di URL. |
| Alur negatif | - Jika tidak ada data, tabel menampilkan pesan cabang kosong. - Jika gagal memuat, daftar dikosongkan. |
| Bisnis rule | - Fungsi cabang: Cabang (gudang), Resto, Retail. |
| Postkondisi | Daftar cabang sesuai filter tampil |
| Trigger | User membuka halaman Cabang |
| Kode FR | FR-01 |
UC-02 : Menambah cabang baru
| Aktor | User brand dengan hak akses basic gudang |
| Deskripsi | User mendaftarkan cabang / gudang / kandang baru |
| Prekondisi | Jumlah cabang belum mencapai limit brand |
| Alur utama | 1. User klik Tambah Baru. 2. User mengisi tab Informasi Cabang: nama cabang, nomor cabang, lokasi, kepala cabang, fungsi, email, telepon, alamat. 3. Jika fitur lokasi aktif, user dapat menyalakan "Custom Nama WC" dan mengisi nama work center. 4. Jika fitur lokasi tidak aktif, user mengisi tab Metode Pembayaran Tersedia dan Daftar User. 5. User klik Simpan. 6. Sistem membuat cabang, lalu work center atau metode pembayaran dan user cabang. |
| Alur negatif | - Jika limit tercapai, muncul notifikasi "Cabang Anda sudah mencapai limit, silakan lakukan penambahan melalui pembelian Add-on Cabang terlebih dahulu" dan halaman add-on dibuka. - Jika informasi belum lengkap, muncul "Oops, ada yang belum diisi di tab Informasi Cabang". - Jika ada duplikat, muncul "Oops, Ada yang duplikat di tab Daftar User" atau "... di tab Metode Pembayaran Tersedia". - Jika simpan cabang gagal, muncul "Gagal Membuat Cabang. error: ...". - Jika work center gagal dibuat, cabang dibatalkan dengan pesan "Gagal membuat Workcenter, pembuatan Cabang dibatalkan". - Jika metode pembayaran atau user cabang gagal, muncul notifikasi gagal. |
| Bisnis rule | - Nama cabang wajib. Nomor cabang dan lokasi wajib bila fitur #lokasi aktif.- Telepon minimal 6 karakter, email harus valid. - Fungsi default "Semua Aktivitas". - Work center otomatis memakai nomor cabang dan nama cabang, atau nama custom jika diaktifkan. |
| Postkondisi | Notifikasi "Cabang berhasil dibuat" |
| Trigger | User klik Simpan |
| Kode FR | FR-02 FR-03 FR-04 FR-05 FR-06 |
UC-03 : Mengubah data cabang
| Aktor | User brand dengan hak akses basic gudang |
| Deskripsi | User memperbarui informasi cabang |
| Prekondisi | Cabang ada |
| Alur utama | 1. User klik ikon edit pada baris cabang. 2. Sistem memuat data cabang, metode pembayaran, dan user cabang. 3. User mengubah informasi, alamat, work center utama, metode pembayaran, atau daftar user. 4. User klik Simpan. |
| Alur negatif | - Jika informasi belum lengkap, muncul "Oops, ada yang belum diisi di tab Informasi Cabang". - Jika update gagal, muncul notifikasi error. |
| Bisnis rule | - Alamat dan telepon yang dikosongkan dikirim sebagai aksi hapus. |
| Postkondisi | Notifikasi "Berhasil update Cabang" |
| Trigger | User klik edit |
| Kode FR | FR-07 |
UC-04 : Melihat detail cabang
| Aktor | User brand dengan hak akses view gudang |
| Deskripsi | User melihat informasi lengkap cabang |
| Prekondisi | Cabang ada |
| Alur utama | 1. User klik baris cabang. 2. Sistem menampilkan informasi cabang, metode pembayaran, dan daftar user. |
| Alur negatif | - Jika gagal memuat, user dikembalikan ke daftar. |
| Bisnis rule | - Tab metode pembayaran dan daftar user hanya relevan bila fitur lokasi tidak aktif. |
| Postkondisi | Detail cabang tampil |
| Trigger | User klik baris |
| Kode FR | FR-08 |
UC-05 : Menghapus cabang
| Aktor | User brand dengan hak akses basic gudang |
| Deskripsi | User menghapus cabang yang tidak dipakai |
| Prekondisi | Cabang ada |
| Alur utama | 1. User klik ikon hapus. 2. Sistem menampilkan konfirmasi "Anda yakin ingin menghapus (nama cabang)?". 3. User konfirmasi. 4. Sistem menghapus cabang. Jika cabang ini adalah cabang default brand, konfigurasi default dikosongkan. |
| Alur negatif | - Jika server menolak, muncul alert pesan error. |
| Bisnis rule | - Cabang default brand otomatis dikosongkan dari konfigurasi brand. |
| Postkondisi | Alert "Berhasil hapus Cabang" |
| Trigger | User klik hapus |
| Kode FR | FR-09 |
UC-06 : Memulihkan cabang dari arsip
| Aktor | User brand dengan hak akses archive gudang |
| Deskripsi | User mengaktifkan kembali cabang nonaktif |
| Prekondisi | Ada cabang nonaktif |
| Alur utama | 1. User klik Arsip. 2. Sistem menampilkan cabang nonaktif. 3. User mencentang cabang lalu klik pulihkan. 4. User konfirmasi "Ya, pulihkan!". 5. Sistem mengaktifkan cabang terpilih. |
| Alur negatif | - Jika gagal, muncul notifikasi error. |
| Bisnis rule | - Pemulihan dilakukan massal dengan mengubah status aktif. |
| Postkondisi | Notifikasi "Berhasil memulihkan cabang terpilih" |
| Trigger | User klik pulihkan |
| Kode FR | FR-10 |
5. Data Flow Diagram
DFD-01 — Alur data master cabang
6. Sequence Diagram
SD-01 — UC-01 : Melihat dan memfilter daftar cabang
SD-02 — UC-02 : Menambah cabang baru
SD-03 — UC-03 : Mengubah data cabang
SD-04 — UC-04 : Melihat detail cabang
SD-05 — UC-05 : Menghapus cabang
SD-06 — UC-06 : Memulihkan cabang dari arsip
7. Table Schema
8. API Schema
| Endpoint | Status | Perubahan |
|---|---|---|
GET /gudang | existing | - |
GET /gudang/:id | existing | - |
POST /gudang | existing | - |
PUT /gudang/:id | existing | - |
DELETE /gudang/:id | existing | - |
POST /gudang/bulk-update | existing | - |
POST /workcenter | existing | - |
GET /gudang-metode-pembayaran/custom | existing | - |
POST /gudang-metode-pembayaran/bulk | existing | - |
PUT /gudang-metode-pembayaran | existing | - |
GET /karyawan-gudang | existing | - |
POST /karyawan-gudang/bulk | existing | - |
PUT /karyawan-gudang | existing | - |
PUT /brand/config/:id | existing | - |