Mode Gelap
Linen Control
Track stock & sirkulasi linen (sprei, handuk, pillow case, bath robe, dll) — cycle dari kamar ke laundry dan kembali. Modul P1.5.
Path menu: Housekeeping → Linen Control (/housekeeping/linen)
Konsep
Linen punya 2 dimensi tracking:
- Stock fisik — total linen yang dimiliki hotel
- Status fisik — di kamar / di laundry (WIP) / damaged / lost
Sistem menggunakan single virtual location (v1) — tidak per-room atau per-floor split. Stock = SUM(linen_transactions.quantity_change).
2 Tabel Utama
Master Linen Items
| Field | Keterangan |
|---|---|
| Code | Kode (mis. "SPRE-K", "HAND-S") |
| Nama | Nama linen (mis. "Sprei King Size", "Handuk Mandi Standard") |
| Kategori | bedsheet / pillowcase / towel / bathrobe / curtain / other |
| Unit Cost | Harga per piece (untuk tracking damage/loss cost) |
| Low Stock Threshold | Alert kalau stock di bawah angka ini |
Linen Transactions (log)
Setiap mutasi linen tercatat sebagai 1 transaction:
| Type | quantity_change | laundry_wip_change | Use Case |
|---|---|---|---|
| purchase | +N | 0 | Beli baru, masuk stock |
| damaged | -N | 0 | Rusak, dibuang |
| lost | -N | 0 | Hilang |
| adjustment | ±N | 0 | Stock opname adjustment |
| to_laundry | 0 | +N | Kirim ke laundry |
| from_laundry | 0 | -N | Terima dari laundry |
Stock Snapshot
Halaman menampilkan per linen item:
- Stock Tersedia = SUM(quantity_change) — total yang dimiliki & siap pakai
- In Laundry (WIP) = SUM(to_laundry) − SUM(from_laundry) — sedang di-process
- Total Lifetime Damage = ABS(SUM where type=damaged)
- Total Lifetime Lost = ABS(SUM where type=lost)
Color indicator kalau stock < threshold → alert "Low Stock".
Aksi
Tambah Linen Master
+ Tambah Linen — input field master di atas.
Record Transaction
+ Catat Transaksi — pilih:
- Type
- Quantity
- Catatan (mis. "lost dari kamar 301", "damaged stain teh")
Untuk transfer ke/dari laundry, type to_laundry / from_laundry — auto update WIP counter.
Stock Opname (Inventory Count)
Periodik (mis. mingguan), HK supervisor count fisik linen, bandingkan dgn system. Kalau beda, input transaction adjustment dengan delta.
Filter & Search
- Filter kategori
- Search nama
- View per-item history transactions
Tips
- Set threshold realistic — terlalu rendah = sering low-stock alert, terlalu tinggi = jarang trigger
- Stock opname rutin — minimal mingguan untuk hotel kecil, harian untuk hotel besar
- Track per laundry batch — gunakan field
reference_numberdi transaction untuk batch tracking (mis. "LDY-20260512-A") - Untuk laporan periodic, pakai Linen Control Report