KTMS Logistics OS Enterprise

Arsitektur Alur Kerja Operasional • Berdasarkan Diagram Alur Sistem Terpadu

Flowchart Resmi Sistem Eksekusi Logistik

Panduan Lengkap Alur Kerja Operasional TMS

Menjelaskan siklus hidup pengiriman secara end-to-end: mulai dari Draft Order, penentuan rute & container, pencocokan tarif multi-tier (Inbound, Distribusi, Lain-lain & Manual), Dispatch Mapping (driver handshake), pemantauan Live GPS & geofence checkpoints, konfirmasi POD, hingga penutupan ganda (Close Waybill & Close Order) yang tersinkronisasi ke basis data.

12
Tahap Inti
8
Decision Point
3+1
Jalur Tarif
IoT GPS
Geofence POD

Visualisasi Bagan Alur (Flowchart Visual)

Pilih mode tampilan antara diagram vektor resolusi tinggi interaktif atau gambar bagan alur sumber asli.

Bagan Vektor Definisi Tinggi: Warna node mencerminkan modul fungsional (Biru = Core, Cokelat = Tarif, Merah = Keputusan, Ungu = Tracking, Hijau = Database).
flowchart TD classDef startEnd fill:#0f172a,stroke:#38bdf8,stroke-width:2px,color:#fff; classDef coreProcess fill:#0284c7,stroke:#38bdf8,stroke-width:2px,color:#fff; classDef tariffProcess fill:#b45309,stroke:#fbbf24,stroke-width:2px,color:#fff; classDef decision fill:#991b1b,stroke:#f87171,stroke-width:2px,color:#fff; classDef trackingProcess fill:#7e22ce,stroke:#c084fc,stroke-width:2px,color:#fff; classDef dbSync fill:#ea580c,stroke:#fed7aa,stroke-width:2px,color:#fff; Start([Mulai Operasional]):::startEnd --> S1[1. Create Draft Order]:::coreProcess S1 --> S2[2. Tentukan Rute & Kontainer / Armada]:::coreProcess S2 --> D1{Apakah Sudah Fix Order?}:::decision D1 -- Tidak (Revisi Data) --> S2 D1 -- Ya --> S3[3. Data Order Berstatus FIX]:::tariffProcess S3 --> WB[Create Surat Jalan / Waybill]:::tariffProcess WB --> D_Tarif{Ada Referensi Tarif di Master Tarif?}:::decision %% Jalur Tanpa Master Tarif D_Tarif -- Tidak Ada --> T_Manual[Input Manual Tarif di Surat Jalan]:::tariffProcess T_Manual --> T_Ready[Tarif Terkalkulasi di Waybill]:::tariffProcess %% Jalur Ada Master Tarif D_Tarif -- Ada Referensi --> D_Kat{Pilih Kategori Tarif: Selling / Buying}:::decision %% Cabang 1: Inbound / Import D_Kat -- 1. Inbound / Import --> T_Inbound[Pilih Rute Asal & Tujuan Port / Depot]:::tariffProcess T_Inbound --> D_Extra{Ada Biaya Tambahan?}:::decision D_Extra -- Ya --> T_AddCost[Input Biaya Tambahan Demurrage / Storage]:::tariffProcess D_Extra -- Tidak --> D_UnitInbound{Tarif Per Kontainer / Truk?}:::decision T_AddCost --> D_UnitInbound D_UnitInbound --> T_InboundTotal[Total Tarif Rute Inbound]:::tariffProcess T_InboundTotal --> T_Ready %% Cabang 2: Local Distribution D_Kat -- 2. Local Distribution --> T_Dist[Pilih Area & Zona Distribusi]:::tariffProcess T_Dist --> D_DistUnit{Hitung per Rit atau Tonase?}:::decision D_DistUnit -- Tarif Ritase --> T_Rit[Tarif Ritase per Kontainer]:::tariffProcess D_DistUnit -- Tarif Berat / CBM --> T_Ton[Tarif Berdasarkan Tonase / Volume]:::tariffProcess T_Rit --> T_DistTotal[Total Biaya Distribusi]:::tariffProcess T_Ton --> T_DistTotal T_DistTotal --> T_Ready %% Cabang 3: Lain-lain D_Kat -- 3. Lain-lain --> T_Other[Pilih Service Type / Paket Khusus]:::tariffProcess T_Other --> T_OtherTotal[Kalkulasi Biaya Kustom]:::tariffProcess T_OtherTotal --> T_Ready %% Dispatch & Driver Handshake T_Ready --> S4[4. Dispatch Mapping: Pasangkan Driver & Kendaraan]:::coreProcess S4 --> D_Driver{Driver Terima Tugas?}:::decision D_Driver -- Ditolak / Tidak Siap --> S4_Reassign[Reassign / Ganti Driver & Armada]:::trackingProcess S4_Reassign --> S4 D_Driver -- Diterima Driver --> S4_Accept[Update Status: Siap Cetak Surat Jalan]:::coreProcess S4_Accept --> D_Print{Cetak Surat Jalan Fisik?}:::decision D_Print -- Tunda / Pending --> S4_Hold[Tunda Cetak / Standby di Pool]:::trackingProcess S4_Hold -.-> D_Print D_Print -- Cetak Dokumen --> S5[5. Cetak Surat Jalan / Print Waybill]:::coreProcess S5 --> D_Depart{Kendaraan Siap Berangkat?}:::decision D_Depart -- Belum Siap --> S5_Wait[Menunggu Loading / Gate Out]:::trackingProcess S5_Wait -.-> D_Depart %% Perjalanan & IoT GPS D_Depart -- Truk Berangkat --> S6[6. Status: Waybill ONTRIP]:::coreProcess S6 --> S6_GPS[Lacak Live GPS & Telemetri Real-Time]:::trackingProcess S6_GPS --> D_Checkpoint{GPS Mendeteksi Geofence Checkpoint?}:::decision D_Checkpoint -- Dalam Perjalanan --> S6_GPS D_Checkpoint -- Memasuki Geofence --> S7[7. Milestone Checkpoint Reached]:::trackingProcess S7 --> D_Arrive{Tiba di Lokasi Tujuan / Consignee?}:::decision D_Arrive -- Masih Ontrip --> S6_GPS D_Arrive -- Tiba di Tujuan --> S8[8. Konfirmasi Bongkar / Unloading ARRIVED]:::trackingProcess %% Proof of Delivery & Closing S8 --> D_Unload{Apakah Proses Bongkar & TTD Selesai?}:::decision D_Unload -- Menunggu Proses Bongkar --> S8 D_Unload -- Selesai Bongkar --> S9[9. Upload Dokumen Bukti POD]:::trackingProcess S9 --> S10[10. Terima Fisik Surat Jalan & Verifikasi Operasional]:::coreProcess S10 --> S10_Status[Update Status: return_document]:::coreProcess S10_Status --> S11[11. Close Surat Jalan / Close Waybill]:::coreProcess S11 --> S12[12. Close Order Keseluruhan / Order Closed]:::coreProcess S12 --> EndTerminal([Selesai Operasional]):::startEnd S12 --> DBSync[(UPDATE DATABASE: order_closed & bill_ready)]:::dbSync DBSync -. Pencatatan Ledger & Piutang .-> S12
Dekonstruksi Alur Kerja

5 Fase Siklus Hidup Pengiriman TMS

Setiap tahapan memiliki aturan validasi, status dokumen terhubung, dan peran pelaksana yang jelas.

FASE 1

Inisiasi Order

Pembuatan pesanan muatan dari shipper/pelanggan dan penetapan rute.

  • 1. Create Draft Order: Input data shipper, muatan, & jadwal kirim.
  • 2. Route & Container: Tentukan rute, jenis kontainer & armada.
  • Looping Revisi: Jika belum FIX, data terus direvisi di Draft.
Status: BOOKING → FIX
FASE 2

Rating & Tarif

Generate Surat Jalan (Waybill) dan kalkulasi tarif otomatis/manual.

  • 3. Order FIX: Order dipecah jadi $\ge 1$ Surat Jalan (Waybill).
  • Dynamic Match: Selling/Buying diuji terhadap 3 skema (Inbound, Distribusi, Lain-lain).
  • Manual Fallback: Jika tidak ada di master, tarif diinput manual.
Output: Tarif Terkalkulasi
FASE 3

Dispatch Mapping

Alokasi driver, kendaraan, dan cetak dokumen surat jalan resmi.

  • 4. Dispatch Mapping: Pasangkan Truk + Chassis + Supir.
  • Driver Handshake: Driver terima/tolak tugas via Mobile App. Jika tolak → Reassign.
  • 5. Print Waybill: Cetak fisik surat jalan setelah armada siap.
Status: ASSIGNED → PRINT_WAYBILL
FASE 4

GPS & Eksekusi

Pelacakan pergerakan armada, geofence, dan bongkar barang di tujuan.

  • 6. Ontrip Tracking: Live telemetri koordinat GPS, kecepatan, & BBM.
  • 7. Milestone Geofence: Sistem otomatis mencatat kedatangan checkpoint.
  • 8. Arrived & Unload: Truk sampai di penerima, verifikasi bongkar muat.
Status: ONTRIP → ARRIVED
FASE 5

POD & Dual Close

Upload bukti serah terima, pengembalian surat jalan fisik, dan closing.

  • 9. Upload Bukti POD: Driver foto surat jalan bertanda tangan penerima.
  • 10. Fisik Surat Jalan: Verifikasi kertas asli (Return Document).
  • 11-12. Dual Closing: Close Surat Jalan → Close Order → Ledger DB Sync.
Status: RETURN_DOC → CLOSED

Matriks 8 Titik Keputusan Logika (Decision Points)

Penjelasan percabangan kondisi, alur "Ya", alur "Tidak", dan dampak otomatis pada sistem.

System Branching Engine
# Kondisi Keputusan (Decision) Jalur Jika "Ya" (True) Jalur Jika "Tidak" (False / Loop) Aksi Sistem / Dampak Database
D1 Apakah Sudah Fix Order? Lanjut ke Step 3 (Order Status: FIX). Siap pecah ke Surat Jalan. Kembali ke Step 2. Data rute, armada, & kontainer tetap bisa diedit di Draft. UPDATE orders SET status = 'FIX'
D2 Ada Referensi Tarif di Master? Masuk ke engine tarif otomatis (Inbound / Distribusi / Lain-lain). Buka input manual tarif langsung di halaman Surat Jalan. Lookup charges & charges_item_freight
D3 Driver Terima Tugas (Handshake)? Update status ke Siap Cetak Surat Jalan. Penugasan dikonfirmasi. Masuk antrean Reassign. Dispatcher memilih supir atau armada lain. dispatch_mappings.isAccept = true / false
D4 Cetak Surat Jalan Fisik? Cetak surat jalan barcode resmi. Status berubah jadi PRINT_WAYBILL. Tunda cetak. Dokumen tetap berstatus siap cetak di antrean dispatch. UPDATE waybills SET status = 'print_waybill'
D5 Kendaraan Siap Berangkat? Truk lolos gate-out. Status aktif berubah jadi ONTRIP (Pelacakan aktif). Truk menunggu muatan selesai dimuat atau antre di depot cabang. UPDATE waybills SET status = 'ontrip'
D6 GPS Mendeteksi Checkpoint? Trigger event checkpoint reached. Notifikasi milestone tercapai. Armada masih dalam koridor perjalanan normal (ping live koordinat). INSERT INTO trip_gps_history (pointType)
D7 Tiba di Lokasi Tujuan (Consignee)? Geofence arrival terpenuhi. Masuk proses bongkar barang (ARRIVED). Tetap dalam mode ONTRIP monitoring hingga armada masuk radius tujuan. UPDATE waybills SET status = 'arrive'
D8 Bongkar Selesai & POD Sah? Driver upload foto surat jalan bertanda tangan. Masuk verifikasi fisik. Menunggu antrean bongkar di pabrik/gudang penerima muatan. INSERT INTO location_arival_confirm

Matriks Tanggung Jawab Aktor & Kanal Antarmuka

Aktor / Role Interface / Kanal Tanggung Jawab Utama pada Alur Status yang Dihasilkan
Customer Service / Shipper Web Portal • Modul Order Input pesanan muatan, kalkulasi kuota kontainer, dan validasi rute pengiriman. BOOKING → FIX
Dispatcher Cabang Web Portal • Waybill & Dispatch Memecah order jadi waybill, pasangkan supir + truk + chassis, cetak surat jalan fisik. READY → PRINT_WAYBILL
Pengemudi / Driver Mobile Companion App (Android) Terima/tolak penugasan, navigasi rute, lapor kendala, dan ambil foto tanda tangan penerima (POD). ACCEPT → ONTRIP → POD
IoT GPS Device & Engine Background Worker & Telemetry Streaming koordinat GPS per menit, evaluasi status mesin/kecepatan, dan trigger geofence otomatis. BREADCRUMB_LOGGED
Finance & Billing Controller Web Portal • Billing & Settlement Verifikasi surat jalan kertas asli, rekonsiliasi uang jalan, dan penutupan akhir (Close Order). CLOSED & BILL_READY