'pelesenan', 'item_type' => KnowledgeItem::TYPE_FAQ, 'title' => 'Apakah dokumen yang diperlukan untuk memohon lesen perniagaan baru?', 'content' => "Untuk memohon lesen perniagaan baru, pemohon perlu menyediakan dokumen berikut:\n\n" . "1. Salinan kad pengenalan pemohon (MyKad)\n" . "2. Borang permohonan yang telah dilengkapkan\n" . "3. Salinan geran tanah atau perjanjian sewaan premis\n" . "4. Pelan lantai premis perniagaan\n" . "5. Sijil pendaftaran perniagaan (SSM)\n" . "6. Gambar premis dari dalam dan luar\n\n" . "Sila hubungi Bahagian Pelesenan untuk maklumat lanjut.", 'tags' => ['lesen', 'perniagaan', 'permohonan', 'dokumen'], 'is_active' => true, ], [ 'category_slug' => 'pelesenan', 'item_type' => KnowledgeItem::TYPE_FAQ, 'title' => 'Berapa lama masa yang diperlukan untuk kelulusan lesen perniagaan?', 'content' => "Proses kelulusan lesen perniagaan biasanya mengambil masa 14 hingga 30 hari bekerja " . "bergantung kepada jenis lesen dan kelengkapan dokumen yang dikemukakan.\n\n" . "Pemohon boleh semak status permohonan melalui kaunter Bahagian Pelesenan atau " . "menghubungi talian hotline kami.", 'tags' => ['lesen', 'tempoh', 'kelulusan'], 'is_active' => true, ], // ── Cukai ───────────────────────────────────────────────────── [ 'category_slug' => 'cukai', 'item_type' => KnowledgeItem::TYPE_FAQ, 'title' => 'Bila tarikh akhir pembayaran cukai taksiran?', 'content' => "Cukai taksiran perlu dibayar dalam dua penggal:\n\n" . "• Penggal pertama: 28 Februari setiap tahun\n" . "• Penggal kedua: 31 Ogos setiap tahun\n\n" . "Bayaran lewat akan dikenakan denda atau caj penalti. " . "Pembayaran boleh dibuat di kaunter, atas talian, atau melalui bank.", 'tags' => ['cukai', 'taksiran', 'tarikh', 'bayaran'], 'is_active' => true, ], // ── WiFi Johor ──────────────────────────────────────────────── [ 'category_slug' => 'wifi-johor', 'item_type' => KnowledgeItem::TYPE_FAQ, 'title' => 'Bagaimana cara untuk sambung ke WiFi Johor?', 'content' => "Cara menyambung ke WiFi Johor:\n\n" . "1. Hidupkan WiFi pada peranti anda\n" . "2. Pilih rangkaian 'WiFi Johor' atau 'WiFiJohor'\n" . "3. Buka pelayar web — halaman log masuk akan muncul\n" . "4. Daftar menggunakan nombor telefon atau e-mel\n" . "5. Masukkan OTP yang diterima\n" . "6. Anda kini boleh menggunakan internet percuma\n\n" . "WiFi Johor tersedia di taman awam, perpustakaan, dan bangunan kerajaan terpilih.", 'tags' => ['wifi', 'johor', 'internet', 'sambung'], 'is_active' => true, ], // ── Penguatkuasaan ──────────────────────────────────────────── [ 'category_slug' => 'penguatkuasaan', 'item_type' => KnowledgeItem::TYPE_FAQ, 'title' => 'Bagaimana cara untuk membuat aduan berkaitan penguatkuasaan?', 'content' => "Aduan berkaitan penguatkuasaan boleh dibuat melalui cara berikut:\n\n" . "1. Kaunter aduan di Jabatan Penguatkuasaan\n" . "2. Hotline: 07-XXX XXXX (Isnin-Jumaat, 8pagi-5ptg)\n" . "3. E-mel: penguatkuasaan@majlis.gov.my\n" . "4. Sistem aduan atas talian\n\n" . "Sertakan maklumat berikut dalam aduan:\n" . "• Nama dan nombor telefon pengadu\n" . "• Lokasi kejadian\n" . "• Tarikh dan masa kejadian\n" . "• Penerangan ringkas masalah", 'tags' => ['aduan', 'penguatkuasaan', 'prosedur'], 'is_active' => true, ], // ── Sewaan Gerai ────────────────────────────────────────────── [ 'category_slug' => 'sewaan-gerai-majlis', 'item_type' => KnowledgeItem::TYPE_FAQ, 'title' => 'Apakah syarat untuk menyewa gerai majlis?', 'content' => "Syarat-syarat untuk menyewa gerai majlis:\n\n" . "1. Pemohon mestilah warganegara Malaysia\n" . "2. Berumur 18 tahun ke atas\n" . "3. Tiada tunggakan dengan pihak majlis\n" . "4. Mempunyai lesen perniagaan yang sah (jika berniaga)\n" . "5. Menandatangani perjanjian sewaan\n\n" . "Kadar sewa bergantung kepada lokasi dan jenis gerai. " . "Sila rujuk jadual kadar sewa yang terkini di kaunter.", 'tags' => ['gerai', 'sewa', 'syarat', 'permohonan'], 'is_active' => true, ], // ── Lain-lain ───────────────────────────────────────────────── [ 'category_slug' => 'lain-lain', 'item_type' => KnowledgeItem::TYPE_FAQ, 'title' => 'Apakah waktu operasi pejabat majlis?', 'content' => "Waktu operasi pejabat majlis adalah seperti berikut:\n\n" . "• Isnin – Khamis: 8:00 pagi – 5:00 petang\n" . "• Jumaat: 8:00 pagi – 12:00 tengah hari (tutup 12:15 – 2:45 ptg)\n" . "• Sabtu, Ahad, dan Cuti Umum: Tutup\n\n" . "Perkhidmatan kaunter ditutup 15 minit sebelum masa tutup pejabat.", 'tags' => ['waktu', 'operasi', 'pejabat', 'jadual'], 'is_active' => true, ], ]; $count = 0; foreach ($items as $data) { $slug = $data['category_slug']; unset($data['category_slug']); $category = Category::where('slug', $slug)->first(); if (!$category) { $this->command->warn(" Kategori '{$slug}' tidak dijumpai. Skip."); continue; } KnowledgeItem::updateOrCreate( [ 'category_id' => $category->id, 'title' => $data['title'], ], array_merge($data, [ 'category_id' => $category->id, 'language' => 'ms', 'is_public' => true, ]) ); $count++; } $this->command->info("✓ {$count} knowledge items (sample FAQ) berjaya dibuat."); } }