{
 "sewa": [
  {
   "title": "Maklumat pihak",
   "sub": "Siapa yang terlibat dalam perjanjian ini?",
   "fields": [
    {
     "key": "landlord",
     "label": "Nama penuh tuan rumah",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: Ahmad bin Ali"
    },
    {
     "key": "landlordId",
     "label": "No. KP / No. pendaftaran tuan rumah",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 900101101234"
    },
    {
     "key": "tenant",
     "label": "Nama penuh penyewa",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: Siti binti Ahmad"
    },
    {
     "key": "tenantId",
     "label": "No. KP / No. pendaftaran penyewa",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Maklumat hartanah",
   "sub": "Butiran kediaman yang akan disewakan.",
   "fields": [
    {
     "key": "address",
     "label": "Alamat penuh hartanah",
     "type": "textarea",
     "required": true,
     "placeholder": "No. unit, jalan, poskod, bandar, negeri"
    },
    {
     "key": "kind",
     "label": "Jenis hartanah",
     "type": "select",
     "required": true,
     "options": [
      "Kondominium / Apartmen",
      "Rumah teres",
      "Rumah berkembar",
      "Banglo",
      "Lain-lain"
     ]
    },
    {
     "key": "furniture",
     "label": "Keadaan perabot",
     "type": "select",
     "required": true,
     "options": [
      "Lengkap berperabot",
      "Separa berperabot",
      "Tanpa perabot"
     ]
    }
   ]
  },
  {
   "title": "Tempoh & bayaran",
   "sub": "Tetapkan bayaran dan tarikh sewaan.",
   "fields": [
    {
     "key": "start",
     "label": "Tarikh mula sewaan",
     "type": "date",
     "required": true
    },
    {
     "key": "end",
     "label": "Tarikh tamat sewaan",
     "type": "date",
     "required": true
    },
    {
     "key": "rent",
     "label": "Sewa bulanan (RM)",
     "type": "number",
     "required": true,
     "placeholder": "1500"
    },
    {
     "key": "deposit",
     "label": "Deposit keselamatan (bilangan bulan sewa)",
     "type": "select",
     "required": true,
     "options": [
      "1",
      "2",
      "3"
     ]
    },
    {
     "key": "payday",
     "label": "Bayaran sebelum / pada haribulan",
     "type": "number",
     "required": true,
     "placeholder": "7"
    }
   ]
  },
  {
   "title": "Terma tambahan",
   "sub": "Pilih syarat yang akan dicerminkan dalam draf.",
   "fields": [
    {
     "key": "notice",
     "label": "Notis penamatan awal (hari)",
     "type": "number",
     "required": true,
     "placeholder": "30"
    },
    {
     "key": "utilities",
     "label": "Tanggungjawab bil utiliti",
     "type": "select",
     "required": true,
     "options": [
      "Penyewa",
      "Tuan rumah",
      "Dibahagi seperti dipersetujui"
     ]
    },
    {
     "key": "sublet",
     "label": "Benarkan sub-sewaan dengan kebenaran bertulis?",
     "type": "check",
     "required": false
    },
    {
     "key": "pets",
     "label": "Benarkan haiwan peliharaan dengan persetujuan bertulis?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan (pilihan)",
     "type": "textarea",
     "required": false,
     "placeholder": "Masukkan butiran khusus yang telah dipersetujui"
    }
   ]
  }
 ],
 "hutang": [
  {
   "title": "Maklumat pihak",
   "sub": "Siapa memberi dan menerima pinjaman?",
   "fields": [
    {
     "key": "lender",
     "label": "Nama penuh pemberi pinjaman",
     "type": "text",
     "required": true
    },
    {
     "key": "lenderId",
     "label": "No. KP / pendaftaran pemberi pinjaman",
     "type": "text",
     "required": true
    },
    {
     "key": "borrower",
     "label": "Nama penuh peminjam",
     "type": "text",
     "required": true
    },
    {
     "key": "borrowerId",
     "label": "No. KP / pendaftaran peminjam",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Butiran pinjaman",
   "sub": "Untuk pinjaman peribadi tanpa faedah sahaja dalam demo.",
   "fields": [
    {
     "key": "principal",
     "label": "Jumlah pinjaman (RM)",
     "type": "number",
     "required": true,
     "placeholder": "10000"
    },
    {
     "key": "date",
     "label": "Tarikh pemberian pinjaman",
     "type": "date",
     "required": true
    },
    {
     "key": "purpose",
     "label": "Tujuan pinjaman",
     "type": "text",
     "required": true,
     "placeholder": "Keperluan peribadi"
    },
    {
     "key": "disbursement",
     "label": "Kaedah penyerahan wang",
     "type": "select",
     "required": true,
     "options": [
      "Pindahan bank",
      "Kaedah lain yang dipersetujui"
     ]
    }
   ]
  },
  {
   "title": "Pembayaran balik",
   "sub": "Nyatakan terma bayaran balik.",
   "fields": [
    {
     "key": "repayment",
     "label": "Cara pembayaran balik",
     "type": "select",
     "required": true,
     "options": [
      "Bayaran sekali gus",
      "Ansuran bulanan"
     ]
    },
    {
     "key": "due",
     "label": "Tarikh akhir bayaran balik",
     "type": "date",
     "required": true
    },
    {
     "key": "installment",
     "label": "Amaun ansuran bulanan (RM) jika berkaitan",
     "type": "number",
     "required": false,
     "uiRequired": true,
     "showIf": {
      "field": "repayment",
      "in": [
       "Ansuran bulanan"
      ]
     }
    },
    {
     "key": "notes",
     "label": "Terma tambahan (pilihan)",
     "type": "textarea",
     "required": false
    }
   ]
  }
 ],
 "kerja": [
  {
   "title": "Majikan & pekerja",
   "sub": "Butiran asas pihak dalam kontrak pekerjaan.",
   "fields": [
    {
     "key": "employer",
     "label": "Nama syarikat / majikan",
     "type": "text",
     "required": true
    },
    {
     "key": "registration",
     "label": "No. pendaftaran majikan",
     "type": "text",
     "required": true
    },
    {
     "key": "employee",
     "label": "Nama penuh pekerja",
     "type": "text",
     "required": true
    },
    {
     "key": "employeeId",
     "label": "No. kad pengenalan / pasport",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Jawatan & tempat kerja",
   "sub": "Skop asas pekerjaan.",
   "fields": [
    {
     "key": "position",
     "label": "Nama jawatan",
     "type": "text",
     "required": true,
     "placeholder": "Eksekutif Pentadbiran"
    },
    {
     "key": "workplace",
     "label": "Alamat tempat bekerja",
     "type": "textarea",
     "required": true
    },
    {
     "key": "region",
     "label": "Wilayah undang-undang pekerjaan",
     "type": "select",
     "required": true,
     "options": [
      "Semenanjung Malaysia / W.P. Labuan",
      "Sabah",
      "Sarawak"
     ]
    },
    {
     "key": "start",
     "label": "Tarikh mula bekerja",
     "type": "date",
     "required": true
    },
    {
     "key": "type",
     "label": "Jenis kontrak",
     "type": "select",
     "required": true,
     "options": [
      "Tetap",
      "Tempoh tetap"
     ]
    },
    {
     "key": "end",
     "label": "Tarikh tamat (jika tempoh tetap)",
     "type": "date",
     "required": false,
     "uiRequired": true,
     "showIf": {
      "field": "type",
      "in": [
       "Tempoh tetap"
      ]
     }
    }
   ]
  },
  {
   "title": "Gaji & faedah",
   "sub": "Butiran gaji dan waktu kerja.",
   "fields": [
    {
     "key": "salary",
     "label": "Gaji pokok bulanan (RM)",
     "type": "number",
     "required": true,
     "placeholder": "3000"
    },
    {
     "key": "hours",
     "label": "Waktu bekerja seminggu (jam)",
     "type": "number",
     "required": true,
     "placeholder": "45"
    },
    {
     "key": "leave",
     "label": "Cuti tahunan (hari)",
     "type": "number",
     "required": true,
     "placeholder": "12"
    },
    {
     "key": "payday",
     "label": "Tarikh / hari pembayaran gaji",
     "type": "text",
     "required": true,
     "placeholder": "Hari terakhir bulan"
    }
   ]
  },
  {
   "title": "Terma lain",
   "sub": "Tertakluk kepada undang-undang pekerjaan terpakai.",
   "fields": [
    {
     "key": "probation",
     "label": "Tempoh percubaan (bulan)",
     "type": "number",
     "required": true,
     "placeholder": "3"
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari)",
     "type": "number",
     "required": true,
     "placeholder": "30"
    },
    {
     "key": "duties",
     "label": "Ringkasan tanggungjawab kerja",
     "type": "textarea",
     "required": true
    },
    {
     "key": "notes",
     "label": "Terma tambahan (pilihan)",
     "type": "textarea",
     "required": false
    }
   ]
  }
 ],
 "bilik": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "property",
     "label": "Alamat rumah dan bilik",
     "type": "textarea",
     "required": true,
     "placeholder": "Alamat lengkap dan bilik bernombor"
    },
    {
     "key": "rent",
     "label": "Sewa bilik bulanan (RM)",
     "type": "number",
     "required": true,
     "placeholder": "600"
    },
    {
     "key": "deposit",
     "label": "Deposit (RM)",
     "type": "number",
     "required": false,
     "placeholder": "600"
    },
    {
     "key": "facilities",
     "label": "Kemudahan dikongsi",
     "type": "textarea",
     "required": false,
     "placeholder": "Bilik air, dapur dan ruang tamu"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "kedai": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "property",
     "label": "Alamat premis perniagaan",
     "type": "textarea",
     "required": true,
     "placeholder": "Alamat lengkap premis"
    },
    {
     "key": "rent",
     "label": "Sewa bulanan (RM)",
     "type": "number",
     "required": true,
     "placeholder": "2500"
    },
    {
     "key": "deposit",
     "label": "Deposit (RM)",
     "type": "number",
     "required": false,
     "placeholder": "5000"
    },
    {
     "key": "use",
     "label": "Kegunaan premis yang dipersetujui",
     "type": "text",
     "required": true,
     "placeholder": "Kedai runcit"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "akuan": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "debt",
     "label": "Amaun hutang diakui (RM)",
     "type": "number",
     "required": true,
     "placeholder": "10000"
    },
    {
     "key": "origin",
     "label": "Asal usul hutang",
     "type": "textarea",
     "required": true,
     "placeholder": "Ringkasan transaksi"
    },
    {
     "key": "due",
     "label": "Tarikh akhir bayar",
     "type": "date",
     "required": true
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "ansuran": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "debt",
     "label": "Baki hutang (RM)",
     "type": "number",
     "required": true,
     "placeholder": "10000"
    },
    {
     "key": "installment",
     "label": "Amaun ansuran (RM)",
     "type": "number",
     "required": true,
     "placeholder": "1000"
    },
    {
     "key": "due",
     "label": "Tarikh mula ansuran",
     "type": "date",
     "required": true
    },
    {
     "key": "frequency",
     "label": "Kekerapan",
     "type": "select",
     "required": true,
     "options": [
      "Bulanan",
      "Mingguan"
     ]
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "offer": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "role",
     "label": "Jawatan ditawarkan",
     "type": "text",
     "required": true,
     "placeholder": "Eksekutif"
    },
    {
     "key": "salary",
     "label": "Gaji bulanan (RM)",
     "type": "number",
     "required": true,
     "placeholder": "3000"
    },
    {
     "key": "start",
     "label": "Tarikh mula",
     "type": "date",
     "required": true
    },
    {
     "key": "workplace",
     "label": "Tempat pekerjaan",
     "type": "text",
     "required": true,
     "placeholder": "Kuala Lumpur"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "freelance": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "deliverables",
     "label": "Hasil kerja / deliverables",
     "type": "textarea",
     "required": true,
     "placeholder": "Senarai hasil kerja dan piawaian"
    },
    {
     "key": "deadline",
     "label": "Tarikh penghantaran",
     "type": "date",
     "required": true
    },
    {
     "key": "ownership",
     "label": "Pemilikan hasil kerja",
     "type": "select",
     "required": true,
     "options": [
      "Hak dipindahkan setelah bayaran penuh",
      "Lesen penggunaan terhad",
      "Perlu rundingan lanjut"
     ]
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "nda": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "secrets",
     "label": "Maklumat sulit yang dilindungi",
     "type": "textarea",
     "required": true,
     "placeholder": "Contoh: dokumen, maklumat pelanggan, strategi"
    },
    {
     "key": "purpose",
     "label": "Tujuan pendedahan",
     "type": "textarea",
     "required": true,
     "placeholder": "Untuk penilaian kerjasama"
    },
    {
     "key": "period",
     "label": "Tempoh kewajipan kerahsiaan (bulan)",
     "type": "number",
     "required": true,
     "placeholder": "24"
    },
    {
     "key": "mutual",
     "label": "Kerahsiaan dua hala?",
     "type": "check",
     "required": false
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "partner": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "capital",
     "label": "Sumbangan modal setiap pihak",
     "type": "textarea",
     "required": true,
     "placeholder": "Sumbangan tunai, aset dan kerja"
    },
    {
     "key": "profit",
     "label": "Bahagian keuntungan/kerugian",
     "type": "textarea",
     "required": true,
     "placeholder": "Kaedah pengagihan"
    },
    {
     "key": "decision",
     "label": "Kaedah keputusan penting",
     "type": "textarea",
     "required": true,
     "placeholder": "Kelulusan bersama, kuorum"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "service": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "deliverables",
     "label": "Skop & hasil perkhidmatan",
     "type": "textarea",
     "required": true,
     "placeholder": "Hasil yang perlu disiapkan"
    },
    {
     "key": "milestone",
     "label": "Jadual/milestone",
     "type": "textarea",
     "required": false,
     "placeholder": "Fasa, tarikh dan kelulusan"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "car": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "vehicle",
     "label": "Model, tahun, nombor pendaftaran",
     "type": "textarea",
     "required": true,
     "placeholder": "Maklumat penuh kenderaan"
    },
    {
     "key": "price",
     "label": "Harga jualan (RM)",
     "type": "number",
     "required": true,
     "placeholder": "30000"
    },
    {
     "key": "condition",
     "label": "Keadaan kenderaan diketahui",
     "type": "textarea",
     "required": true,
     "placeholder": "Kerosakan, pemeriksaan dan rekod"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "moto": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "vehicle",
     "label": "Model, tahun, nombor pendaftaran",
     "type": "textarea",
     "required": true,
     "placeholder": "Maklumat penuh motosikal"
    },
    {
     "key": "price",
     "label": "Harga jualan (RM)",
     "type": "number",
     "required": true,
     "placeholder": "8000"
    },
    {
     "key": "condition",
     "label": "Keadaan motosikal diketahui",
     "type": "textarea",
     "required": true,
     "placeholder": "Kerosakan, pemeriksaan dan rekod"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "reno": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "property",
     "label": "Alamat tapak renovasi",
     "type": "textarea",
     "required": true,
     "placeholder": "Alamat tapak"
    },
    {
     "key": "work",
     "label": "Skop kerja serta spesifikasi",
     "type": "textarea",
     "required": true,
     "placeholder": "Bahan, kerja, kualiti"
    },
    {
     "key": "completion",
     "label": "Tarikh siap yang dipersetujui",
     "type": "date",
     "required": true
    },
    {
     "key": "milestone",
     "label": "Jadual tuntutan kemajuan",
     "type": "textarea",
     "required": true,
     "placeholder": "Deposit, kemajuan dan baki"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "cater": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "event",
     "label": "Jenis acara, lokasi & tarikh",
     "type": "textarea",
     "required": true,
     "placeholder": "Butiran acara"
    },
    {
     "key": "headcount",
     "label": "Bilangan tetamu",
     "type": "number",
     "required": true,
     "placeholder": "100"
    },
    {
     "key": "menu",
     "label": "Menu dan kuantiti",
     "type": "textarea",
     "required": true,
     "placeholder": "Butiran menu"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "photo": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "event",
     "label": "Acara dan tarikh",
     "type": "textarea",
     "required": true,
     "placeholder": "Acara, lokasi dan tarikh"
    },
    {
     "key": "deliverables",
     "label": "Jumlah gambar/video dan tempoh penyerahan",
     "type": "textarea",
     "required": true,
     "placeholder": "Senarai hasil"
    },
    {
     "key": "usage",
     "label": "Hak guna gambar",
     "type": "textarea",
     "required": false,
     "placeholder": "Kegunaan pelanggan dan portfolio"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "wedding": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "event",
     "label": "Tarikh dan tempat majlis",
     "type": "textarea",
     "required": true,
     "placeholder": "Tarikh, lokasi, acara"
    },
    {
     "key": "services",
     "label": "Senarai perkhidmatan vendor",
     "type": "textarea",
     "required": true,
     "placeholder": "Sunting, dekorasi, koordinasi"
    },
    {
     "key": "vendors",
     "label": "Pihak yang mengurus vendor",
     "type": "text",
     "required": false,
     "placeholder": "Pelanggan / Perancang majlis"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "influencer": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "campaign",
     "label": "Kempen, platform & hasil",
     "type": "textarea",
     "required": true,
     "placeholder": "Bilangan posting, format, platform"
    },
    {
     "key": "deadline",
     "label": "Tarikh siaran",
     "type": "date",
     "required": true
    },
    {
     "key": "approval",
     "label": "Proses semakan kandungan",
     "type": "textarea",
     "required": false,
     "placeholder": "Tempoh, jumlah pindaan"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "social": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "accounts",
     "label": "Platform / akaun diurus",
     "type": "textarea",
     "required": true,
     "placeholder": "Instagram, Facebook dll"
    },
    {
     "key": "outputs",
     "label": "Hasil bulanan",
     "type": "textarea",
     "required": true,
     "placeholder": "Bilangan post, laporan, pengiklanan"
    },
    {
     "key": "access",
     "label": "Prosedur kawalan akses",
     "type": "textarea",
     "required": false,
     "placeholder": "Kebenaran & pemulangan akses"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "website": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "features",
     "label": "Skop website / fungsi",
     "type": "textarea",
     "required": true,
     "placeholder": "Halaman, integrasi, CMS"
    },
    {
     "key": "delivery",
     "label": "Tarikh serahan",
     "type": "date",
     "required": true
    },
    {
     "key": "hosting",
     "label": "Hosting & penyelenggaraan",
     "type": "textarea",
     "required": true,
     "placeholder": "Domain, hosting, sokongan, backup"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "agent": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "territory",
     "label": "Kawasan / pelanggan dilindungi",
     "type": "text",
     "required": true,
     "placeholder": "Selangor"
    },
    {
     "key": "rate",
     "label": "Kadar komisen (%)",
     "type": "number",
     "required": true,
     "placeholder": "5"
    },
    {
     "key": "trigger",
     "label": "Peristiwa komisen layak dibayar",
     "type": "textarea",
     "required": true,
     "placeholder": "Bayaran diterima daripada pelanggan"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "supply": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "goods",
     "label": "Butiran dan spesifikasi barangan",
     "type": "textarea",
     "required": true,
     "placeholder": "Kuantiti, standard, pembungkusan"
    },
    {
     "key": "delivery",
     "label": "Lokasi dan jadual penghantaran",
     "type": "textarea",
     "required": true,
     "placeholder": "Lokasi dan tarikh"
    },
    {
     "key": "inspection",
     "label": "Pemeriksaan barangan / penolakan",
     "type": "textarea",
     "required": false,
     "placeholder": "Kaedah pemeriksaan"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "consign": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "goods",
     "label": "Stok konsainan / item",
     "type": "textarea",
     "required": true,
     "placeholder": "Senarai stok"
    },
    {
     "key": "commission",
     "label": "Komisen / perkongsian hasil",
     "type": "textarea",
     "required": true,
     "placeholder": "Kadar dan tarikh penyata"
    },
    {
     "key": "return",
     "label": "Pemulangan item tidak terjual",
     "type": "textarea",
     "required": true,
     "placeholder": "Tempoh dan keadaan"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "consult": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "services",
     "label": "Skop khidmat nasihat",
     "type": "textarea",
     "required": true,
     "placeholder": "Bidang dan deliverable"
    },
    {
     "key": "report",
     "label": "Laporan / output",
     "type": "textarea",
     "required": true,
     "placeholder": "Tarikh dan kaedah"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "settle": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "dispute",
     "label": "Pertikaian diselesaikan",
     "type": "textarea",
     "required": true,
     "placeholder": "Latar belakang tuntutan"
    },
    {
     "key": "settlement",
     "label": "Terma penyelesaian utama",
     "type": "textarea",
     "required": true,
     "placeholder": "Amaun, tindakan dan tarikh"
    },
    {
     "key": "release",
     "label": "Jenis pelepasan tuntutan",
     "type": "select",
     "required": true,
     "options": [
      "Terhad pada pertikaian ini",
      "Perlu semakan profesional"
     ]
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "renew": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "property",
     "label": "Premis / perjanjian asal",
     "type": "textarea",
     "required": true,
     "placeholder": "Alamat dan tarikh asal"
    },
    {
     "key": "newterm",
     "label": "Tempoh lanjutan",
     "type": "text",
     "required": true,
     "placeholder": "12 bulan"
    },
    {
     "key": "rent",
     "label": "Kadar sewa baharu (RM)",
     "type": "number",
     "required": true,
     "placeholder": "1500"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "endlease": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "property",
     "label": "Premis dan perjanjian asal",
     "type": "textarea",
     "required": true,
     "placeholder": "Alamat & tarikh kontrak"
    },
    {
     "key": "termination",
     "label": "Tarikh penamatan bersama",
     "type": "date",
     "required": true
    },
    {
     "key": "return",
     "label": "Serahan kunci / penyelesaian deposit",
     "type": "textarea",
     "required": true,
     "placeholder": "Tindakan penyelesaian akhir"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "mou": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "project",
     "label": "Tujuan kerjasama",
     "type": "textarea",
     "required": true,
     "placeholder": "Objektif kerjasama"
    },
    {
     "key": "contribution",
     "label": "Sumbangan & tanggungjawab",
     "type": "textarea",
     "required": true,
     "placeholder": "Peranan setiap pihak"
    },
    {
     "key": "status",
     "label": "Status mengikat",
     "type": "select",
     "required": true,
     "options": [
      "Hasrat awal bukan mengikat kecuali klausa tertentu",
      "Semua terma mengikat - perlu semakan peguam"
     ]
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "intern": [
  {
   "title": "Maklumat pihak",
   "sub": "Sila masukkan pihak-pihak kepada dokumen ini.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan/pendaftaran pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Nama individu/syarikat"
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan/pendaftaran kedua",
     "type": "text",
     "required": true
    }
   ]
  },
  {
   "title": "Tujuan dan butiran asas",
   "sub": "Nyatakan transaksi yang akan didokumenkan.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh kuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "scope",
     "label": "Tujuan / latar belakang perjanjian",
     "type": "textarea",
     "required": true,
     "placeholder": "Terangkan tujuan dan komitmen pihak-pihak"
    },
    {
     "key": "duration",
     "label": "Tempoh atau tarikh tamat",
     "type": "text",
     "required": true,
     "placeholder": "Contoh: 12 bulan"
    }
   ]
  },
  {
   "title": "Terma khusus",
   "sub": "Butiran khusus mengikut jenis dokumen.",
   "fields": [
    {
     "key": "role",
     "label": "Jabatan penempatan",
     "type": "text",
     "required": true,
     "placeholder": "Jabatan Operasi"
    },
    {
     "key": "start",
     "label": "Tarikh latihan bermula",
     "type": "date",
     "required": true
    },
    {
     "key": "end",
     "label": "Tarikh latihan tamat",
     "type": "date",
     "required": true
    },
    {
     "key": "allowance",
     "label": "Elaun (RM)",
     "type": "number",
     "required": false,
     "placeholder": "500"
    }
   ]
  },
  {
   "title": "Bayaran, notis dan terma tambahan",
   "sub": "Pilih dan lengkapkan syarat yang sesuai.",
   "fields": [
    {
     "key": "consideration",
     "label": "Nilai / bayaran dipersetujui (RM, jika berkaitan)",
     "type": "number",
     "required": false
    },
    {
     "key": "paymentTerm",
     "label": "Cara / tarikh bayaran (jika berkaitan)",
     "type": "textarea",
     "required": false
    },
    {
     "key": "notice",
     "label": "Notis penamatan (hari, jika berkaitan)",
     "type": "number",
     "required": false,
     "placeholder": "30"
    },
    {
     "key": "mediate",
     "label": "Mahukan rundingan / mediasi sebelum tindakan mahkamah?",
     "type": "check",
     "required": false
    },
    {
     "key": "notes",
     "label": "Terma tambahan khusus",
     "type": "textarea",
     "required": false,
     "placeholder": "Tanggungjawab, pengecualian, lampiran"
    }
   ]
  }
 ],
 "custody": [
  {
   "title": "Bidang kuasa dan perintah sedia ada",
   "sub": "Pilih konteks sebenar. Draf persendirian tidak menggantikan keputusan mahkamah.",
   "fields": [
    {
     "key": "familyLaw",
     "label": "Konteks undang-undang keluarga",
     "type": "select",
     "required": true,
     "options": [
      "Sivil (bukan Islam)",
      "Syariah (Islam)",
      "Belum pasti / perlu semakan"
     ]
    },
    {
     "key": "familyState",
     "label": "Negeri / wilayah berkaitan",
     "type": "select",
     "required": true,
     "options": [
      "Johor",
      "Kedah",
      "Kelantan",
      "Melaka",
      "Negeri Sembilan",
      "Pahang",
      "Pulau Pinang",
      "Perak",
      "Perlis",
      "Sabah",
      "Sarawak",
      "Selangor",
      "Terengganu",
      "W.P. Kuala Lumpur",
      "W.P. Putrajaya",
      "W.P. Labuan"
     ]
    },
    {
     "key": "existingOrder",
     "label": "Adakah terdapat perintah mahkamah berkaitan?",
     "type": "select",
     "required": true,
     "options": [
      "Tiada perintah diketahui",
      "Ada perintah mahkamah",
      "Tidak pasti"
     ]
    },
    {
     "key": "orderReference",
     "label": "Mahkamah, nombor kes dan tarikh perintah",
     "type": "text",
     "required": true,
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "orderTerms",
     "label": "Ringkasan terma perintah yang berkaitan",
     "type": "textarea",
     "required": true,
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "orderConsistency",
     "label": "Kedudukan cadangan berbanding perintah sedia ada",
     "type": "select",
     "required": true,
     "options": [
      "Selaras dengan perintah sedia ada",
      "Perlu pindaan / perintah baharu",
      "Belum disahkan"
     ],
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "safetyStatus",
     "label": "Keselamatan dan persetujuan sukarela",
     "type": "select",
     "required": true,
     "options": [
      "Tiada isu keselamatan diketahui",
      "Ada kebimbangan keselamatan / keganasan / paksaan",
      "Perlu penilaian profesional"
     ]
    }
   ]
  },
  {
   "title": "Maklumat pihak keluarga",
   "sub": "Nyatakan hubungan dan asas kuasa pihak-pihak; gunakan hanya maklumat yang dibenarkan.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama penuh pihak pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan / rujukan pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Gunakan rujukan rekaan untuk mencuba."
    },
    {
     "key": "partyARole",
     "label": "Hubungan / peranan pihak pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama penuh pihak kedua",
     "type": "text",
     "required": true
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan / rujukan pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Gunakan rujukan rekaan untuk mencuba."
    },
    {
     "key": "partyBRole",
     "label": "Hubungan / peranan pihak kedua",
     "type": "text",
     "required": true
    },
    {
     "key": "authorityBasis",
     "label": "Asas kuasa dan persetujuan pihak",
     "type": "textarea",
     "required": true
    }
   ]
  },
  {
   "title": "Pengaturan utama keluarga",
   "sub": "Lengkapkan butiran khusus untuk keluarga dan keperluan setiap anak, jika terlibat.",
   "fields": [
    {
     "key": "children",
     "label": "Anak yang terlibat dan keperluan khusus",
     "type": "textarea",
     "required": true,
     "placeholder": "Nama atau inisial, umur dan keperluan setiap anak. Tidak perlu MyKid dalam pratonton."
    },
    {
     "key": "primaryResidence",
     "label": "Cadangan kediaman utama anak",
     "type": "textarea",
     "required": true
    },
    {
     "key": "careArrangement",
     "label": "Pembahagian jagaan harian",
     "type": "textarea",
     "required": true
    },
    {
     "key": "accessPlan",
     "label": "Cadangan akses pihak yang tidak tinggal bersama",
     "type": "textarea",
     "required": true
    }
   ]
  },
  {
   "title": "Terma dan pelaksanaan khusus",
   "sub": "Nyatakan jadual, tanggungjawab dan bukti yang perlu disemak secara bebas.",
   "fields": [
    {
     "key": "educationPlan",
     "label": "Pengaturan pendidikan dan keputusan sekolah",
     "type": "textarea",
     "required": true
    },
    {
     "key": "medicalPlan",
     "label": "Rawatan dan keputusan perubatan",
     "type": "textarea",
     "required": true
    },
    {
     "key": "travelPlan",
     "label": "Pertukaran kediaman, perjalanan dan pasport",
     "type": "textarea",
     "required": true
    }
   ]
  },
  {
   "title": "Tempoh, semakan dan catatan",
   "sub": "Terma ini ialah cadangan untuk semakan bebas, bukan penentuan hak oleh JanjiMy.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh cadangan mula berkuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "reviewDate",
     "label": "Tarikh semakan semula yang dicadangkan",
     "type": "date",
     "required": true
    },
    {
     "key": "communication",
     "label": "Saluran komunikasi dan pemberitahuan",
     "type": "textarea",
     "required": true
    },
    {
     "key": "notes",
     "label": "Catatan / lampiran yang perlu disemak",
     "type": "textarea",
     "required": false
    }
   ]
  }
 ],
 "child_access": [
  {
   "title": "Bidang kuasa dan perintah sedia ada",
   "sub": "Pilih konteks sebenar. Draf persendirian tidak menggantikan keputusan mahkamah.",
   "fields": [
    {
     "key": "familyLaw",
     "label": "Konteks undang-undang keluarga",
     "type": "select",
     "required": true,
     "options": [
      "Sivil (bukan Islam)",
      "Syariah (Islam)",
      "Belum pasti / perlu semakan"
     ]
    },
    {
     "key": "familyState",
     "label": "Negeri / wilayah berkaitan",
     "type": "select",
     "required": true,
     "options": [
      "Johor",
      "Kedah",
      "Kelantan",
      "Melaka",
      "Negeri Sembilan",
      "Pahang",
      "Pulau Pinang",
      "Perak",
      "Perlis",
      "Sabah",
      "Sarawak",
      "Selangor",
      "Terengganu",
      "W.P. Kuala Lumpur",
      "W.P. Putrajaya",
      "W.P. Labuan"
     ]
    },
    {
     "key": "existingOrder",
     "label": "Adakah terdapat perintah mahkamah berkaitan?",
     "type": "select",
     "required": true,
     "options": [
      "Tiada perintah diketahui",
      "Ada perintah mahkamah",
      "Tidak pasti"
     ]
    },
    {
     "key": "orderReference",
     "label": "Mahkamah, nombor kes dan tarikh perintah",
     "type": "text",
     "required": true,
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "orderTerms",
     "label": "Ringkasan terma perintah yang berkaitan",
     "type": "textarea",
     "required": true,
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "orderConsistency",
     "label": "Kedudukan cadangan berbanding perintah sedia ada",
     "type": "select",
     "required": true,
     "options": [
      "Selaras dengan perintah sedia ada",
      "Perlu pindaan / perintah baharu",
      "Belum disahkan"
     ],
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "safetyStatus",
     "label": "Keselamatan dan persetujuan sukarela",
     "type": "select",
     "required": true,
     "options": [
      "Tiada isu keselamatan diketahui",
      "Ada kebimbangan keselamatan / keganasan / paksaan",
      "Perlu penilaian profesional"
     ]
    }
   ]
  },
  {
   "title": "Maklumat pihak keluarga",
   "sub": "Nyatakan hubungan dan asas kuasa pihak-pihak; gunakan hanya maklumat yang dibenarkan.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama penuh pihak pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan / rujukan pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Gunakan rujukan rekaan untuk mencuba."
    },
    {
     "key": "partyARole",
     "label": "Hubungan / peranan pihak pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama penuh pihak kedua",
     "type": "text",
     "required": true
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan / rujukan pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Gunakan rujukan rekaan untuk mencuba."
    },
    {
     "key": "partyBRole",
     "label": "Hubungan / peranan pihak kedua",
     "type": "text",
     "required": true
    },
    {
     "key": "authorityBasis",
     "label": "Asas kuasa dan persetujuan pihak",
     "type": "textarea",
     "required": true
    }
   ]
  },
  {
   "title": "Pengaturan utama keluarga",
   "sub": "Lengkapkan butiran khusus untuk keluarga dan keperluan setiap anak, jika terlibat.",
   "fields": [
    {
     "key": "children",
     "label": "Anak yang terlibat dan keperluan khusus",
     "type": "textarea",
     "required": true,
     "placeholder": "Nama atau inisial, umur dan keperluan setiap anak. Tidak perlu MyKid dalam pratonton."
    },
    {
     "key": "weeklySchedule",
     "label": "Jadual mingguan / hujung minggu",
     "type": "textarea",
     "required": true
    },
    {
     "key": "holidaySchedule",
     "label": "Cuti sekolah, perayaan dan hari khas",
     "type": "textarea",
     "required": true
    },
    {
     "key": "remoteContact",
     "label": "Panggilan telefon / video",
     "type": "textarea",
     "required": true
    }
   ]
  },
  {
   "title": "Terma dan pelaksanaan khusus",
   "sub": "Nyatakan jadual, tanggungjawab dan bukti yang perlu disemak secara bebas.",
   "fields": [
    {
     "key": "handoverPlace",
     "label": "Tempat dan waktu pengambilan / pemulangan",
     "type": "text",
     "required": true
    },
    {
     "key": "transportPlan",
     "label": "Pengangkutan dan pihak yang bertanggungjawab",
     "type": "textarea",
     "required": true
    },
    {
     "key": "overnight",
     "label": "Adakah akses termasuk bermalam?",
     "type": "select",
     "required": true,
     "options": [
      "Tidak",
      "Ya"
     ]
    },
    {
     "key": "overnightPlan",
     "label": "Alamat dan jadual bermalam",
     "type": "textarea",
     "required": true,
     "showIf": {
      "field": "overnight",
      "in": [
       "Ya"
      ]
     }
    },
    {
     "key": "supervision",
     "label": "Adakah pengawasan lawatan diperlukan?",
     "type": "select",
     "required": true,
     "options": [
      "Tidak",
      "Ya"
     ]
    },
    {
     "key": "supervisionDetails",
     "label": "Pengawas dan kaedah pengawasan",
     "type": "textarea",
     "required": true,
     "showIf": {
      "field": "supervision",
      "in": [
       "Ya"
      ]
     }
    }
   ]
  },
  {
   "title": "Tempoh, semakan dan catatan",
   "sub": "Terma ini ialah cadangan untuk semakan bebas, bukan penentuan hak oleh JanjiMy.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh cadangan mula berkuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "reviewDate",
     "label": "Tarikh semakan semula yang dicadangkan",
     "type": "date",
     "required": true
    },
    {
     "key": "communication",
     "label": "Saluran komunikasi dan pemberitahuan",
     "type": "textarea",
     "required": true
    },
    {
     "key": "notes",
     "label": "Catatan / lampiran yang perlu disemak",
     "type": "textarea",
     "required": false
    }
   ]
  }
 ],
 "child_maintenance": [
  {
   "title": "Bidang kuasa dan perintah sedia ada",
   "sub": "Pilih konteks sebenar. Draf persendirian tidak menggantikan keputusan mahkamah.",
   "fields": [
    {
     "key": "familyLaw",
     "label": "Konteks undang-undang keluarga",
     "type": "select",
     "required": true,
     "options": [
      "Sivil (bukan Islam)",
      "Syariah (Islam)",
      "Belum pasti / perlu semakan"
     ]
    },
    {
     "key": "familyState",
     "label": "Negeri / wilayah berkaitan",
     "type": "select",
     "required": true,
     "options": [
      "Johor",
      "Kedah",
      "Kelantan",
      "Melaka",
      "Negeri Sembilan",
      "Pahang",
      "Pulau Pinang",
      "Perak",
      "Perlis",
      "Sabah",
      "Sarawak",
      "Selangor",
      "Terengganu",
      "W.P. Kuala Lumpur",
      "W.P. Putrajaya",
      "W.P. Labuan"
     ]
    },
    {
     "key": "existingOrder",
     "label": "Adakah terdapat perintah mahkamah berkaitan?",
     "type": "select",
     "required": true,
     "options": [
      "Tiada perintah diketahui",
      "Ada perintah mahkamah",
      "Tidak pasti"
     ]
    },
    {
     "key": "orderReference",
     "label": "Mahkamah, nombor kes dan tarikh perintah",
     "type": "text",
     "required": true,
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "orderTerms",
     "label": "Ringkasan terma perintah yang berkaitan",
     "type": "textarea",
     "required": true,
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "orderConsistency",
     "label": "Kedudukan cadangan berbanding perintah sedia ada",
     "type": "select",
     "required": true,
     "options": [
      "Selaras dengan perintah sedia ada",
      "Perlu pindaan / perintah baharu",
      "Belum disahkan"
     ],
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "safetyStatus",
     "label": "Keselamatan dan persetujuan sukarela",
     "type": "select",
     "required": true,
     "options": [
      "Tiada isu keselamatan diketahui",
      "Ada kebimbangan keselamatan / keganasan / paksaan",
      "Perlu penilaian profesional"
     ]
    }
   ]
  },
  {
   "title": "Maklumat pihak keluarga",
   "sub": "Nyatakan hubungan dan asas kuasa pihak-pihak; gunakan hanya maklumat yang dibenarkan.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama penuh pihak pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan / rujukan pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Gunakan rujukan rekaan untuk mencuba."
    },
    {
     "key": "partyARole",
     "label": "Hubungan / peranan pihak pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama penuh pihak kedua",
     "type": "text",
     "required": true
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan / rujukan pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Gunakan rujukan rekaan untuk mencuba."
    },
    {
     "key": "partyBRole",
     "label": "Hubungan / peranan pihak kedua",
     "type": "text",
     "required": true
    },
    {
     "key": "authorityBasis",
     "label": "Asas kuasa dan persetujuan pihak",
     "type": "textarea",
     "required": true
    }
   ]
  },
  {
   "title": "Pengaturan utama keluarga",
   "sub": "Lengkapkan butiran khusus untuk keluarga dan keperluan setiap anak, jika terlibat.",
   "fields": [
    {
     "key": "children",
     "label": "Anak yang terlibat dan keperluan khusus",
     "type": "textarea",
     "required": true,
     "placeholder": "Nama atau inisial, umur dan keperluan setiap anak. Tidak perlu MyKid dalam pratonton."
    },
    {
     "key": "payingParty",
     "label": "Pihak yang dicadangkan membuat bayaran",
     "type": "select",
     "required": true,
     "options": [
      "Pihak Pertama",
      "Pihak Kedua"
     ]
    },
    {
     "key": "monthlyAmount",
     "label": "Amaun bulanan yang dicadangkan (RM)",
     "type": "number",
     "required": true
    },
    {
     "key": "paymentDay",
     "label": "Bayaran pada / sebelum haribulan",
     "type": "number",
     "required": true
    },
    {
     "key": "expensesCovered",
     "label": "Keperluan yang diliputi amaun bulanan",
     "type": "textarea",
     "required": true
    }
   ]
  },
  {
   "title": "Terma dan pelaksanaan khusus",
   "sub": "Nyatakan jadual, tanggungjawab dan bukti yang perlu disemak secara bebas.",
   "fields": [
    {
     "key": "extraExpenses",
     "label": "Kos pendidikan / perubatan luar biasa dan pembahagiannya",
     "type": "textarea",
     "required": true
    },
    {
     "key": "paymentMethod",
     "label": "Kaedah pembayaran dan pengesahan resit",
     "type": "textarea",
     "required": true
    },
    {
     "key": "arrearsStatus",
     "label": "Adakah tunggakan perlu direkonsiliasi?",
     "type": "select",
     "required": true,
     "options": [
      "Tiada tunggakan dinyatakan",
      "Ada tunggakan / perlu penyata"
     ]
    },
    {
     "key": "arrearsDetails",
     "label": "Penyata, asas dan cadangan menangani tunggakan",
     "type": "textarea",
     "required": true,
     "showIf": {
      "field": "arrearsStatus",
      "in": [
       "Ada tunggakan / perlu penyata"
      ]
     }
    }
   ]
  },
  {
   "title": "Tempoh, semakan dan catatan",
   "sub": "Terma ini ialah cadangan untuk semakan bebas, bukan penentuan hak oleh JanjiMy.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh cadangan mula berkuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "reviewDate",
     "label": "Tarikh semakan semula yang dicadangkan",
     "type": "date",
     "required": true
    },
    {
     "key": "communication",
     "label": "Saluran komunikasi dan pemberitahuan",
     "type": "textarea",
     "required": true
    },
    {
     "key": "notes",
     "label": "Catatan / lampiran yang perlu disemak",
     "type": "textarea",
     "required": false
    }
   ]
  }
 ],
 "spousal_maintenance": [
  {
   "title": "Bidang kuasa dan perintah sedia ada",
   "sub": "Pilih konteks sebenar. Draf persendirian tidak menggantikan keputusan mahkamah.",
   "fields": [
    {
     "key": "familyLaw",
     "label": "Konteks undang-undang keluarga",
     "type": "select",
     "required": true,
     "options": [
      "Sivil (bukan Islam)",
      "Syariah (Islam)",
      "Belum pasti / perlu semakan"
     ]
    },
    {
     "key": "familyState",
     "label": "Negeri / wilayah berkaitan",
     "type": "select",
     "required": true,
     "options": [
      "Johor",
      "Kedah",
      "Kelantan",
      "Melaka",
      "Negeri Sembilan",
      "Pahang",
      "Pulau Pinang",
      "Perak",
      "Perlis",
      "Sabah",
      "Sarawak",
      "Selangor",
      "Terengganu",
      "W.P. Kuala Lumpur",
      "W.P. Putrajaya",
      "W.P. Labuan"
     ]
    },
    {
     "key": "existingOrder",
     "label": "Adakah terdapat perintah mahkamah berkaitan?",
     "type": "select",
     "required": true,
     "options": [
      "Tiada perintah diketahui",
      "Ada perintah mahkamah",
      "Tidak pasti"
     ]
    },
    {
     "key": "orderReference",
     "label": "Mahkamah, nombor kes dan tarikh perintah",
     "type": "text",
     "required": true,
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "orderTerms",
     "label": "Ringkasan terma perintah yang berkaitan",
     "type": "textarea",
     "required": true,
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "orderConsistency",
     "label": "Kedudukan cadangan berbanding perintah sedia ada",
     "type": "select",
     "required": true,
     "options": [
      "Selaras dengan perintah sedia ada",
      "Perlu pindaan / perintah baharu",
      "Belum disahkan"
     ],
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "safetyStatus",
     "label": "Keselamatan dan persetujuan sukarela",
     "type": "select",
     "required": true,
     "options": [
      "Tiada isu keselamatan diketahui",
      "Ada kebimbangan keselamatan / keganasan / paksaan",
      "Perlu penilaian profesional"
     ]
    }
   ]
  },
  {
   "title": "Maklumat pihak keluarga",
   "sub": "Nyatakan hubungan dan asas kuasa pihak-pihak; gunakan hanya maklumat yang dibenarkan.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama penuh pihak pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan / rujukan pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Gunakan rujukan rekaan untuk mencuba."
    },
    {
     "key": "partyARole",
     "label": "Hubungan / peranan pihak pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama penuh pihak kedua",
     "type": "text",
     "required": true
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan / rujukan pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Gunakan rujukan rekaan untuk mencuba."
    },
    {
     "key": "partyBRole",
     "label": "Hubungan / peranan pihak kedua",
     "type": "text",
     "required": true
    },
    {
     "key": "authorityBasis",
     "label": "Asas kuasa dan persetujuan pihak",
     "type": "textarea",
     "required": true
    }
   ]
  },
  {
   "title": "Pengaturan utama keluarga",
   "sub": "Lengkapkan butiran khusus untuk keluarga dan keperluan setiap anak, jika terlibat.",
   "fields": [
    {
     "key": "maritalStatus",
     "label": "Status hubungan semasa",
     "type": "select",
     "required": true,
     "options": [
      "Masih berkahwin",
      "Bercerai dengan pengesahan yang sah",
      "Prosiding masih berjalan"
     ]
    },
    {
     "key": "supportBasis",
     "label": "Asas nafkah / sokongan yang dicadangkan",
     "type": "textarea",
     "required": true
    },
    {
     "key": "payingParty",
     "label": "Pihak yang dicadangkan membuat bayaran",
     "type": "select",
     "required": true,
     "options": [
      "Pihak Pertama",
      "Pihak Kedua"
     ]
    },
    {
     "key": "monthlyAmount",
     "label": "Amaun bulanan yang dicadangkan (RM)",
     "type": "number",
     "required": true
    },
    {
     "key": "paymentDay",
     "label": "Bayaran pada / sebelum haribulan",
     "type": "number",
     "required": true
    }
   ]
  },
  {
   "title": "Terma dan pelaksanaan khusus",
   "sub": "Nyatakan jadual, tanggungjawab dan bukti yang perlu disemak secara bebas.",
   "fields": [
    {
     "key": "supportScope",
     "label": "Keperluan dan tempoh sokongan yang dipersetujui",
     "type": "textarea",
     "required": true
    },
    {
     "key": "paymentMethod",
     "label": "Kaedah pembayaran dan rekod",
     "type": "textarea",
     "required": true
    },
    {
     "key": "arrearsStatus",
     "label": "Adakah tunggakan perlu direkonsiliasi?",
     "type": "select",
     "required": true,
     "options": [
      "Tiada tunggakan dinyatakan",
      "Ada tunggakan / perlu penyata"
     ]
    },
    {
     "key": "arrearsDetails",
     "label": "Penyata, asas dan cadangan menangani tunggakan",
     "type": "textarea",
     "required": true,
     "showIf": {
      "field": "arrearsStatus",
      "in": [
       "Ada tunggakan / perlu penyata"
      ]
     }
    }
   ]
  },
  {
   "title": "Tempoh, semakan dan catatan",
   "sub": "Terma ini ialah cadangan untuk semakan bebas, bukan penentuan hak oleh JanjiMy.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh cadangan mula berkuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "reviewDate",
     "label": "Tarikh semakan semula yang dicadangkan",
     "type": "date",
     "required": true
    },
    {
     "key": "communication",
     "label": "Saluran komunikasi dan pemberitahuan",
     "type": "textarea",
     "required": true
    },
    {
     "key": "notes",
     "label": "Catatan / lampiran yang perlu disemak",
     "type": "textarea",
     "required": false
    }
   ]
  }
 ],
 "family_expenses": [
  {
   "title": "Bidang kuasa dan perintah sedia ada",
   "sub": "Pilih konteks sebenar. Draf persendirian tidak menggantikan keputusan mahkamah.",
   "fields": [
    {
     "key": "familyLaw",
     "label": "Konteks undang-undang keluarga",
     "type": "select",
     "required": true,
     "options": [
      "Sivil (bukan Islam)",
      "Syariah (Islam)",
      "Belum pasti / perlu semakan"
     ]
    },
    {
     "key": "familyState",
     "label": "Negeri / wilayah berkaitan",
     "type": "select",
     "required": true,
     "options": [
      "Johor",
      "Kedah",
      "Kelantan",
      "Melaka",
      "Negeri Sembilan",
      "Pahang",
      "Pulau Pinang",
      "Perak",
      "Perlis",
      "Sabah",
      "Sarawak",
      "Selangor",
      "Terengganu",
      "W.P. Kuala Lumpur",
      "W.P. Putrajaya",
      "W.P. Labuan"
     ]
    },
    {
     "key": "existingOrder",
     "label": "Adakah terdapat perintah mahkamah berkaitan?",
     "type": "select",
     "required": true,
     "options": [
      "Tiada perintah diketahui",
      "Ada perintah mahkamah",
      "Tidak pasti"
     ]
    },
    {
     "key": "orderReference",
     "label": "Mahkamah, nombor kes dan tarikh perintah",
     "type": "text",
     "required": true,
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "orderTerms",
     "label": "Ringkasan terma perintah yang berkaitan",
     "type": "textarea",
     "required": true,
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "orderConsistency",
     "label": "Kedudukan cadangan berbanding perintah sedia ada",
     "type": "select",
     "required": true,
     "options": [
      "Selaras dengan perintah sedia ada",
      "Perlu pindaan / perintah baharu",
      "Belum disahkan"
     ],
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "safetyStatus",
     "label": "Keselamatan dan persetujuan sukarela",
     "type": "select",
     "required": true,
     "options": [
      "Tiada isu keselamatan diketahui",
      "Ada kebimbangan keselamatan / keganasan / paksaan",
      "Perlu penilaian profesional"
     ]
    }
   ]
  },
  {
   "title": "Maklumat pihak keluarga",
   "sub": "Nyatakan hubungan dan asas kuasa pihak-pihak; gunakan hanya maklumat yang dibenarkan.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama penuh pihak pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan / rujukan pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Gunakan rujukan rekaan untuk mencuba."
    },
    {
     "key": "partyARole",
     "label": "Hubungan / peranan pihak pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama penuh pihak kedua",
     "type": "text",
     "required": true
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan / rujukan pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Gunakan rujukan rekaan untuk mencuba."
    },
    {
     "key": "partyBRole",
     "label": "Hubungan / peranan pihak kedua",
     "type": "text",
     "required": true
    },
    {
     "key": "authorityBasis",
     "label": "Asas kuasa dan persetujuan pihak",
     "type": "textarea",
     "required": true
    }
   ]
  },
  {
   "title": "Pengaturan utama keluarga",
   "sub": "Lengkapkan butiran khusus untuk keluarga dan keperluan setiap anak, jika terlibat.",
   "fields": [
    {
     "key": "household",
     "label": "Rumah tangga / ahli keluarga yang diliputi",
     "type": "textarea",
     "required": true
    },
    {
     "key": "monthlyA",
     "label": "Sumbangan bulanan pihak pertama (RM)",
     "type": "number",
     "required": true
    },
    {
     "key": "monthlyB",
     "label": "Sumbangan bulanan pihak kedua (RM)",
     "type": "number",
     "required": true
    },
    {
     "key": "expenseSplit",
     "label": "Pembahagian sewa, utiliti, makanan dan kos keluarga",
     "type": "textarea",
     "required": true
    }
   ]
  },
  {
   "title": "Terma dan pelaksanaan khusus",
   "sub": "Nyatakan jadual, tanggungjawab dan bukti yang perlu disemak secara bebas.",
   "fields": [
    {
     "key": "paymentMethod",
     "label": "Kaedah bayaran dan pemegang rekod",
     "type": "textarea",
     "required": true
    },
    {
     "key": "budgetReview",
     "label": "Kaedah menyemak bajet / perbelanjaan tambahan",
     "type": "textarea",
     "required": true
    },
    {
     "key": "reconciliation",
     "label": "Resit, bayaran balik dan rekonsiliasi baki",
     "type": "textarea",
     "required": true
    }
   ]
  },
  {
   "title": "Tempoh, semakan dan catatan",
   "sub": "Terma ini ialah cadangan untuk semakan bebas, bukan penentuan hak oleh JanjiMy.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh cadangan mula berkuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "reviewDate",
     "label": "Tarikh semakan semula yang dicadangkan",
     "type": "date",
     "required": true
    },
    {
     "key": "communication",
     "label": "Saluran komunikasi dan pemberitahuan",
     "type": "textarea",
     "required": true
    },
    {
     "key": "notes",
     "label": "Catatan / lampiran yang perlu disemak",
     "type": "textarea",
     "required": false
    }
   ]
  }
 ],
 "parenting_plan": [
  {
   "title": "Bidang kuasa dan perintah sedia ada",
   "sub": "Pilih konteks sebenar. Draf persendirian tidak menggantikan keputusan mahkamah.",
   "fields": [
    {
     "key": "familyLaw",
     "label": "Konteks undang-undang keluarga",
     "type": "select",
     "required": true,
     "options": [
      "Sivil (bukan Islam)",
      "Syariah (Islam)",
      "Belum pasti / perlu semakan"
     ]
    },
    {
     "key": "familyState",
     "label": "Negeri / wilayah berkaitan",
     "type": "select",
     "required": true,
     "options": [
      "Johor",
      "Kedah",
      "Kelantan",
      "Melaka",
      "Negeri Sembilan",
      "Pahang",
      "Pulau Pinang",
      "Perak",
      "Perlis",
      "Sabah",
      "Sarawak",
      "Selangor",
      "Terengganu",
      "W.P. Kuala Lumpur",
      "W.P. Putrajaya",
      "W.P. Labuan"
     ]
    },
    {
     "key": "existingOrder",
     "label": "Adakah terdapat perintah mahkamah berkaitan?",
     "type": "select",
     "required": true,
     "options": [
      "Tiada perintah diketahui",
      "Ada perintah mahkamah",
      "Tidak pasti"
     ]
    },
    {
     "key": "orderReference",
     "label": "Mahkamah, nombor kes dan tarikh perintah",
     "type": "text",
     "required": true,
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "orderTerms",
     "label": "Ringkasan terma perintah yang berkaitan",
     "type": "textarea",
     "required": true,
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "orderConsistency",
     "label": "Kedudukan cadangan berbanding perintah sedia ada",
     "type": "select",
     "required": true,
     "options": [
      "Selaras dengan perintah sedia ada",
      "Perlu pindaan / perintah baharu",
      "Belum disahkan"
     ],
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "safetyStatus",
     "label": "Keselamatan dan persetujuan sukarela",
     "type": "select",
     "required": true,
     "options": [
      "Tiada isu keselamatan diketahui",
      "Ada kebimbangan keselamatan / keganasan / paksaan",
      "Perlu penilaian profesional"
     ]
    }
   ]
  },
  {
   "title": "Maklumat pihak keluarga",
   "sub": "Nyatakan hubungan dan asas kuasa pihak-pihak; gunakan hanya maklumat yang dibenarkan.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama penuh pihak pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan / rujukan pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Gunakan rujukan rekaan untuk mencuba."
    },
    {
     "key": "partyARole",
     "label": "Hubungan / peranan pihak pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama penuh pihak kedua",
     "type": "text",
     "required": true
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan / rujukan pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Gunakan rujukan rekaan untuk mencuba."
    },
    {
     "key": "partyBRole",
     "label": "Hubungan / peranan pihak kedua",
     "type": "text",
     "required": true
    },
    {
     "key": "authorityBasis",
     "label": "Asas kuasa dan persetujuan pihak",
     "type": "textarea",
     "required": true
    }
   ]
  },
  {
   "title": "Pengaturan utama keluarga",
   "sub": "Lengkapkan butiran khusus untuk keluarga dan keperluan setiap anak, jika terlibat.",
   "fields": [
    {
     "key": "children",
     "label": "Anak yang terlibat dan keperluan khusus",
     "type": "textarea",
     "required": true,
     "placeholder": "Nama atau inisial, umur dan keperluan setiap anak. Tidak perlu MyKid dalam pratonton."
    },
    {
     "key": "dailyRoutine",
     "label": "Rutin harian dan pengasuh yang dipersetujui",
     "type": "textarea",
     "required": true
    },
    {
     "key": "schoolPlan",
     "label": "Pendidikan, aktiviti dan perkongsian maklumat sekolah",
     "type": "textarea",
     "required": true
    },
    {
     "key": "healthPlan",
     "label": "Kesihatan, rawatan dan kecemasan",
     "type": "textarea",
     "required": true
    }
   ]
  },
  {
   "title": "Terma dan pelaksanaan khusus",
   "sub": "Nyatakan jadual, tanggungjawab dan bukti yang perlu disemak secara bebas.",
   "fields": [
    {
     "key": "decisionProcess",
     "label": "Proses membuat keputusan utama",
     "type": "textarea",
     "required": true
    },
    {
     "key": "parentContact",
     "label": "Hubungan anak dengan setiap pihak",
     "type": "textarea",
     "required": true
    },
    {
     "key": "travelPlan",
     "label": "Perjalanan, cuti dan pertukaran kediaman",
     "type": "textarea",
     "required": true
    },
    {
     "key": "conflictPlan",
     "label": "Cara menangani perbezaan pandangan",
     "type": "textarea",
     "required": true
    }
   ]
  },
  {
   "title": "Tempoh, semakan dan catatan",
   "sub": "Terma ini ialah cadangan untuk semakan bebas, bukan penentuan hak oleh JanjiMy.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh cadangan mula berkuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "reviewDate",
     "label": "Tarikh semakan semula yang dicadangkan",
     "type": "date",
     "required": true
    },
    {
     "key": "communication",
     "label": "Saluran komunikasi dan pemberitahuan",
     "type": "textarea",
     "required": true
    },
    {
     "key": "notes",
     "label": "Catatan / lampiran yang perlu disemak",
     "type": "textarea",
     "required": false
    }
   ]
  }
 ],
 "divorce_settlement": [
  {
   "title": "Bidang kuasa dan perintah sedia ada",
   "sub": "Pilih konteks sebenar. Draf persendirian tidak menggantikan keputusan mahkamah.",
   "fields": [
    {
     "key": "familyLaw",
     "label": "Konteks undang-undang keluarga",
     "type": "select",
     "required": true,
     "options": [
      "Sivil (bukan Islam)",
      "Syariah (Islam)",
      "Belum pasti / perlu semakan"
     ]
    },
    {
     "key": "familyState",
     "label": "Negeri / wilayah berkaitan",
     "type": "select",
     "required": true,
     "options": [
      "Johor",
      "Kedah",
      "Kelantan",
      "Melaka",
      "Negeri Sembilan",
      "Pahang",
      "Pulau Pinang",
      "Perak",
      "Perlis",
      "Sabah",
      "Sarawak",
      "Selangor",
      "Terengganu",
      "W.P. Kuala Lumpur",
      "W.P. Putrajaya",
      "W.P. Labuan"
     ]
    },
    {
     "key": "existingOrder",
     "label": "Adakah terdapat perintah mahkamah berkaitan?",
     "type": "select",
     "required": true,
     "options": [
      "Tiada perintah diketahui",
      "Ada perintah mahkamah",
      "Tidak pasti"
     ]
    },
    {
     "key": "orderReference",
     "label": "Mahkamah, nombor kes dan tarikh perintah",
     "type": "text",
     "required": true,
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "orderTerms",
     "label": "Ringkasan terma perintah yang berkaitan",
     "type": "textarea",
     "required": true,
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "orderConsistency",
     "label": "Kedudukan cadangan berbanding perintah sedia ada",
     "type": "select",
     "required": true,
     "options": [
      "Selaras dengan perintah sedia ada",
      "Perlu pindaan / perintah baharu",
      "Belum disahkan"
     ],
     "showIf": {
      "field": "existingOrder",
      "in": [
       "Ada perintah mahkamah"
      ]
     }
    },
    {
     "key": "safetyStatus",
     "label": "Keselamatan dan persetujuan sukarela",
     "type": "select",
     "required": true,
     "options": [
      "Tiada isu keselamatan diketahui",
      "Ada kebimbangan keselamatan / keganasan / paksaan",
      "Perlu penilaian profesional"
     ]
    }
   ]
  },
  {
   "title": "Maklumat pihak keluarga",
   "sub": "Nyatakan hubungan dan asas kuasa pihak-pihak; gunakan hanya maklumat yang dibenarkan.",
   "fields": [
    {
     "key": "partyA",
     "label": "Nama penuh pihak pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyAId",
     "label": "No. pengenalan / rujukan pihak pertama",
     "type": "text",
     "required": true,
     "placeholder": "Gunakan rujukan rekaan untuk mencuba."
    },
    {
     "key": "partyARole",
     "label": "Hubungan / peranan pihak pertama",
     "type": "text",
     "required": true
    },
    {
     "key": "partyB",
     "label": "Nama penuh pihak kedua",
     "type": "text",
     "required": true
    },
    {
     "key": "partyBId",
     "label": "No. pengenalan / rujukan pihak kedua",
     "type": "text",
     "required": true,
     "placeholder": "Gunakan rujukan rekaan untuk mencuba."
    },
    {
     "key": "partyBRole",
     "label": "Hubungan / peranan pihak kedua",
     "type": "text",
     "required": true
    },
    {
     "key": "authorityBasis",
     "label": "Asas kuasa dan persetujuan pihak",
     "type": "textarea",
     "required": true
    }
   ]
  },
  {
   "title": "Perkahwinan dan status prosiding",
   "sub": "Rekod fakta semasa. Dokumen ini tidak melafazkan talak atau membubarkan perkahwinan.",
   "fields": [
    {
     "key": "marriageReference",
     "label": "Butiran perkahwinan dan rujukan sijil",
     "type": "textarea",
     "required": true
    },
    {
     "key": "proceedingStage",
     "label": "Status prosiding",
     "type": "select",
     "required": true,
     "options": [
      "Belum difailkan",
      "Prosiding sedang berjalan",
      "Perceraian telah diperintahkan / disahkan"
     ]
    },
    {
     "key": "proceedingDetails",
     "label": "Mahkamah, nombor kes dan kedudukan prosiding (atau tiada)",
     "type": "textarea",
     "required": true
    },
    {
     "key": "childrenTerms",
     "label": "Anak, kebajikan, jagaan dan lawatan (atau tiada anak)",
     "type": "textarea",
     "required": true
    }
   ]
  },
  {
   "title": "Cadangan terma penyelesaian",
   "sub": "Nyatakan butiran, amaun, tarikh dan perkara yang belum dipersetujui. Jangan anggap pinjaman atau hak pihak ketiga telah dilepaskan.",
   "fields": [
    {
     "key": "childSupportTerms",
     "label": "Cadangan nafkah anak, kos tambahan dan rekod bayaran (atau tidak berkaitan)",
     "type": "textarea",
     "required": true
    },
    {
     "key": "spousalTerms",
     "label": "Cadangan nafkah pasangan / iddah / mutaah mengikut konteks (atau tidak berkaitan)",
     "type": "textarea",
     "required": true
    },
    {
     "key": "assetTerms",
     "label": "Senarai aset, sumbangan, pemilikan dan cadangan pembahagian",
     "type": "textarea",
     "required": true
    },
    {
     "key": "liabilityTerms",
     "label": "Pinjaman, hutang, jaminan dan persetujuan pemberi pinjaman yang diperlukan",
     "type": "textarea",
     "required": true
    },
    {
     "key": "implementationTerms",
     "label": "Langkah pelaksanaan, tarikh sasaran dan kos",
     "type": "textarea",
     "required": true
    },
    {
     "key": "reservedMatters",
     "label": "Tuntutan atau isu yang belum selesai / dipelihara",
     "type": "textarea",
     "required": true
    },
    {
     "key": "courtProcess",
     "label": "Cadangan semakan peguam dan langkah mahkamah",
     "type": "textarea",
     "required": true
    }
   ]
  },
  {
   "title": "Tempoh, semakan dan catatan",
   "sub": "Terma ini ialah cadangan untuk semakan bebas, bukan penentuan hak oleh JanjiMy.",
   "fields": [
    {
     "key": "effective",
     "label": "Tarikh cadangan mula berkuat kuasa",
     "type": "date",
     "required": true
    },
    {
     "key": "reviewDate",
     "label": "Tarikh semakan semula yang dicadangkan",
     "type": "date",
     "required": true
    },
    {
     "key": "communication",
     "label": "Saluran komunikasi dan pemberitahuan",
     "type": "textarea",
     "required": true
    },
    {
     "key": "notes",
     "label": "Catatan / lampiran yang perlu disemak",
     "type": "textarea",
     "required": false
    }
   ]
  }
 ],
 "wasiat": [
  {
   "title": "Skop dan keupayaan",
   "sub": "Draf ini khusus untuk wasiat orang Islam. Pilihan negeri membantu semakan; ia tidak mengesahkan bidang kuasa.",
   "fields": [
    {
     "key": "estateReligion",
     "label": "Agama pemberi arahan",
     "type": "select",
     "required": true,
     "options": [
      "Islam",
      "Bukan Islam",
      "Belum pasti"
     ]
    },
    {
     "key": "estateState",
     "label": "Negeri / wilayah yang berkaitan",
     "type": "select",
     "required": true,
     "options": [
      "Selangor",
      "W.P. Kuala Lumpur",
      "W.P. Putrajaya",
      "W.P. Labuan",
      "Johor",
      "Kedah",
      "Kelantan",
      "Melaka",
      "Negeri Sembilan",
      "Pahang",
      "Perak",
      "Perlis",
      "Pulau Pinang",
      "Sabah",
      "Sarawak",
      "Terengganu",
      "Belum pasti / rentas sempadan"
     ]
    },
    {
     "key": "capacity",
     "label": "Umur dan keupayaan pemberi arahan",
     "type": "select",
     "required": true,
     "options": [
      "Dewasa 18 tahun ke atas; memahami tindakan dan tiada keraguan keupayaan",
      "Bawah 18 tahun / keupayaan perlu disemak"
     ]
    },
    {
     "key": "freeConsent",
     "label": "Bagaimana arahan ini diberikan?",
     "type": "select",
     "required": true,
     "options": [
      "Sukarela, tanpa paksaan atau pengaruh tidak wajar",
      "Terdapat tekanan / perlu semakan"
     ]
    },
    {
     "key": "existingEstatePlan",
     "label": "Ada wasiat, hibah atau amanah terdahulu berkaitan?",
     "type": "select",
     "required": true,
     "options": [
      "Tiada dokumen terdahulu diketahui",
      "Ada dokumen terdahulu",
      "Tidak pasti"
     ]
    }
   ]
  },
  {
   "title": "Pewasiat dan wasi",
   "sub": "Wasi ialah orang yang dicadangkan untuk mentadbir arahan, tertakluk kepada penerimaan dan kuasa yang diperlukan.",
   "fields": [
    {
     "key": "testatorName",
     "label": "Nama penuh pewasiat",
     "type": "text",
     "required": true
    },
    {
     "key": "testatorId",
     "label": "No. pengenalan / rujukan pewasiat",
     "type": "text",
     "required": true
    },
    {
     "key": "testatorAddress",
     "label": "Alamat pewasiat",
     "type": "text",
     "required": true
    },
    {
     "key": "executorName",
     "label": "Nama penuh wasi yang dicadangkan",
     "type": "text",
     "required": true
    },
    {
     "key": "executorId",
     "label": "No. pengenalan / rujukan wasi",
     "type": "text",
     "required": true
    },
    {
     "key": "executorContact",
     "label": "Alamat dan nombor hubungan wasi",
     "type": "text",
     "required": true
    },
    {
     "key": "alternateExecutor",
     "label": "Mahukan wasi gantian?",
     "type": "select",
     "required": true,
     "options": [
      "Tiada wasi gantian",
      "Ada wasi gantian"
     ]
    },
    {
     "key": "alternateExecutorName",
     "label": "Nama penuh wasi gantian",
     "type": "text",
     "required": true,
     "showIf": {
      "field": "alternateExecutor",
      "in": [
       "Ada wasi gantian"
      ]
     }
    },
    {
     "key": "alternateExecutorId",
     "label": "No. pengenalan / rujukan wasi gantian",
     "type": "text",
     "required": true,
     "showIf": {
      "field": "alternateExecutor",
      "in": [
       "Ada wasi gantian"
      ]
     }
    },
    {
     "key": "alternateExecutorContact",
     "label": "Alamat dan nombor hubungan wasi gantian",
     "type": "text",
     "required": true,
     "showIf": {
      "field": "alternateExecutor",
      "in": [
       "Ada wasi gantian"
      ]
     }
    }
   ]
  },
  {
   "title": "Harta dan penerima",
   "sub": "Pilih bahagian untuk setiap penerima. Jumlah automatik dihadkan kepada satu pertiga pusaka bersih; wasiat kepada waris memerlukan semakan khusus.",
   "fields": [
    {
     "key": "estateInventory",
     "label": "Ringkasan aset milik pewasiat",
     "type": "textarea",
     "required": true
    },
    {
     "key": "estateValue",
     "label": "Anggaran nilai aset (RM)",
     "type": "number",
     "required": true
    },
    {
     "key": "estateDeductions",
     "label": "Anggaran hutang, kos dan hak terdahulu (RM)",
     "type": "number",
     "required": true
    },
    {
     "key": "beneficiaryCount",
     "label": "Berapa penerima wasiat?",
     "type": "select",
     "required": true,
     "options": [
      "1",
      "2",
      "3"
     ]
    },
    {
     "key": "beneficiary1Name",
     "label": "Nama penuh penerima 1",
     "type": "text",
     "required": true
    },
    {
     "key": "beneficiary1Id",
     "label": "No. pengenalan / rujukan penerima 1",
     "type": "text",
     "required": true
    },
    {
     "key": "beneficiary1Address",
     "label": "Alamat penerima 1",
     "type": "text",
     "required": true
    },
    {
     "key": "beneficiary1Relation",
     "label": "Hubungan penerima 1 dengan pewasiat",
     "type": "select",
     "required": true,
     "options": [
      "Anak angkat (bukan waris faraid)",
      "Individu lain yang bukan waris faraid",
      "Waris faraid",
      "Belum pasti"
     ]
    },
    {
     "key": "beneficiary1Capacity",
     "label": "Keupayaan penerima 1",
     "type": "select",
     "required": true,
     "options": [
      "Dewasa berkeupayaan",
      "Kanak-kanak / perlu wakil atau amanah"
     ]
    },
    {
     "key": "beneficiary1Share",
     "label": "Bahagian penerima 1 daripada pusaka bersih",
     "type": "select",
     "required": true,
     "options": [
      "5%",
      "10%",
      "15%",
      "20%",
      "25%",
      "30%",
      "Sepertiga (1/3)"
     ]
    },
    {
     "key": "beneficiary2Name",
     "label": "Nama penuh penerima 2",
     "type": "text",
     "required": true,
     "showIf": {
      "field": "beneficiaryCount",
      "in": [
       "2",
       "3"
      ]
     }
    },
    {
     "key": "beneficiary2Id",
     "label": "No. pengenalan / rujukan penerima 2",
     "type": "text",
     "required": true,
     "showIf": {
      "field": "beneficiaryCount",
      "in": [
       "2",
       "3"
      ]
     }
    },
    {
     "key": "beneficiary2Address",
     "label": "Alamat penerima 2",
     "type": "text",
     "required": true,
     "showIf": {
      "field": "beneficiaryCount",
      "in": [
       "2",
       "3"
      ]
     }
    },
    {
     "key": "beneficiary2Relation",
     "label": "Hubungan penerima 2 dengan pewasiat",
     "type": "select",
     "required": true,
     "options": [
      "Anak angkat (bukan waris faraid)",
      "Individu lain yang bukan waris faraid",
      "Waris faraid",
      "Belum pasti"
     ],
     "showIf": {
      "field": "beneficiaryCount",
      "in": [
       "2",
       "3"
      ]
     }
    },
    {
     "key": "beneficiary2Capacity",
     "label": "Keupayaan penerima 2",
     "type": "select",
     "required": true,
     "options": [
      "Dewasa berkeupayaan",
      "Kanak-kanak / perlu wakil atau amanah"
     ],
     "showIf": {
      "field": "beneficiaryCount",
      "in": [
       "2",
       "3"
      ]
     }
    },
    {
     "key": "beneficiary2Share",
     "label": "Bahagian penerima 2 daripada pusaka bersih",
     "type": "select",
     "required": true,
     "options": [
      "5%",
      "10%",
      "15%",
      "20%",
      "25%",
      "30%",
      "Sepertiga (1/3)"
     ],
     "showIf": {
      "field": "beneficiaryCount",
      "in": [
       "2",
       "3"
      ]
     }
    },
    {
     "key": "beneficiary3Name",
     "label": "Nama penuh penerima 3",
     "type": "text",
     "required": true,
     "showIf": {
      "field": "beneficiaryCount",
      "in": [
       "3"
      ]
     }
    },
    {
     "key": "beneficiary3Id",
     "label": "No. pengenalan / rujukan penerima 3",
     "type": "text",
     "required": true,
     "showIf": {
      "field": "beneficiaryCount",
      "in": [
       "3"
      ]
     }
    },
    {
     "key": "beneficiary3Address",
     "label": "Alamat penerima 3",
     "type": "text",
     "required": true,
     "showIf": {
      "field": "beneficiaryCount",
      "in": [
       "3"
      ]
     }
    },
    {
     "key": "beneficiary3Relation",
     "label": "Hubungan penerima 3 dengan pewasiat",
     "type": "select",
     "required": true,
     "options": [
      "Anak angkat (bukan waris faraid)",
      "Individu lain yang bukan waris faraid",
      "Waris faraid",
      "Belum pasti"
     ],
     "showIf": {
      "field": "beneficiaryCount",
      "in": [
       "3"
      ]
     }
    },
    {
     "key": "beneficiary3Capacity",
     "label": "Keupayaan penerima 3",
     "type": "select",
     "required": true,
     "options": [
      "Dewasa berkeupayaan",
      "Kanak-kanak / perlu wakil atau amanah"
     ],
     "showIf": {
      "field": "beneficiaryCount",
      "in": [
       "3"
      ]
     }
    },
    {
     "key": "beneficiary3Share",
     "label": "Bahagian penerima 3 daripada pusaka bersih",
     "type": "select",
     "required": true,
     "options": [
      "5%",
      "10%",
      "15%",
      "20%",
      "25%",
      "30%",
      "Sepertiga (1/3)"
     ],
     "showIf": {
      "field": "beneficiaryCount",
      "in": [
       "3"
      ]
     }
    }
   ]
  },
  {
   "title": "Pelaksanaan dan saksi",
   "sub": "Tarikh ini ialah tarikh penyediaan draf. Wasiat dicadangkan berkuat kuasa selepas kematian, setelah formaliti yang berkenaan dipenuhi.",
   "fields": [
    {
     "key": "documentDate",
     "label": "Tarikh penyediaan draf",
     "type": "date",
     "required": true
    },
    {
     "key": "executionPlace",
     "label": "Tempat tandatangan yang dicadangkan",
     "type": "text",
     "required": true
    },
    {
     "key": "witnessPlan",
     "label": "Rancangan penyaksian",
     "type": "select",
     "required": true,
     "options": [
      "Dua saksi dewasa Islam yang bebas dan bukan penerima; kelayakan disemak sebelum tandatangan",
      "Saksi belum dikenal pasti; lengkapkan selepas semakan"
     ]
    },
    {
     "key": "witness1Name",
     "label": "Nama saksi pertama (jika dikenal pasti)",
     "type": "text",
     "required": false
    },
    {
     "key": "witness1Id",
     "label": "No. pengenalan / rujukan saksi pertama",
     "type": "text",
     "required": false
    },
    {
     "key": "witness2Name",
     "label": "Nama saksi kedua (jika dikenal pasti)",
     "type": "text",
     "required": false
    },
    {
     "key": "witness2Id",
     "label": "No. pengenalan / rujukan saksi kedua",
     "type": "text",
     "required": false
    },
    {
     "key": "originalCustody",
     "label": "Cadangan penyimpanan dokumen asal",
     "type": "textarea",
     "required": true
    },
    {
     "key": "notes",
     "label": "Catatan tambahan",
     "type": "textarea",
     "required": false
    }
   ]
  }
 ],
 "hibah": [
  {
   "title": "Skop dan keupayaan",
   "sub": "Draf automatik untuk hibah mutlak semasa hidup. Aset berdaftar, amanah dan keadaan khas memerlukan semakan khusus.",
   "fields": [
    {
     "key": "estateReligion",
     "label": "Agama pemberi arahan",
     "type": "select",
     "required": true,
     "options": [
      "Islam",
      "Bukan Islam",
      "Belum pasti"
     ]
    },
    {
     "key": "estateState",
     "label": "Negeri / wilayah yang berkaitan",
     "type": "select",
     "required": true,
     "options": [
      "Selangor",
      "W.P. Kuala Lumpur",
      "W.P. Putrajaya",
      "W.P. Labuan",
      "Johor",
      "Kedah",
      "Kelantan",
      "Melaka",
      "Negeri Sembilan",
      "Pahang",
      "Perak",
      "Perlis",
      "Pulau Pinang",
      "Sabah",
      "Sarawak",
      "Terengganu",
      "Belum pasti / rentas sempadan"
     ]
    },
    {
     "key": "capacity",
     "label": "Umur dan keupayaan pemberi arahan",
     "type": "select",
     "required": true,
     "options": [
      "Dewasa 18 tahun ke atas; memahami tindakan dan tiada keraguan keupayaan",
      "Bawah 18 tahun / keupayaan perlu disemak"
     ]
    },
    {
     "key": "freeConsent",
     "label": "Bagaimana arahan ini diberikan?",
     "type": "select",
     "required": true,
     "options": [
      "Sukarela, tanpa paksaan atau pengaruh tidak wajar",
      "Terdapat tekanan / perlu semakan"
     ]
    },
    {
     "key": "existingEstatePlan",
     "label": "Ada wasiat, hibah atau amanah terdahulu berkaitan?",
     "type": "select",
     "required": true,
     "options": [
      "Tiada dokumen terdahulu diketahui",
      "Ada dokumen terdahulu",
      "Tidak pasti"
     ]
    },
    {
     "key": "donorHealth",
     "label": "Keadaan kesihatan pemberi",
     "type": "select",
     "required": true,
     "options": [
      "Tiada sakit tenat atau isu marad al-maut diketahui",
      "Sakit tenat / isu marad al-maut / tidak pasti"
     ]
    },
    {
     "key": "hibahStructure",
     "label": "Bentuk pemberian",
     "type": "select",
     "required": true,
     "options": [
      "Hibah mutlak semasa hidup, tanpa syarat balasan",
      "Hibah amanah / bersyarat / manfaat seumur hidup",
      "Pemberian hanya selepas kematian"
     ]
    }
   ]
  },
  {
   "title": "Pemberi dan penerima",
   "sub": "Identiti dan keupayaan setiap pihak perlu disahkan sebelum pelaksanaan.",
   "fields": [
    {
     "key": "donorName",
     "label": "Nama penuh pemberi hibah",
     "type": "text",
     "required": true
    },
    {
     "key": "donorId",
     "label": "No. pengenalan / rujukan pemberi",
     "type": "text",
     "required": true
    },
    {
     "key": "donorAddress",
     "label": "Alamat pemberi",
     "type": "text",
     "required": true
    },
    {
     "key": "recipientName",
     "label": "Nama penuh penerima hibah",
     "type": "text",
     "required": true
    },
    {
     "key": "recipientId",
     "label": "No. pengenalan / rujukan penerima",
     "type": "text",
     "required": true
    },
    {
     "key": "recipientAddress",
     "label": "Alamat penerima",
     "type": "text",
     "required": true
    },
    {
     "key": "recipientRelation",
     "label": "Hubungan dengan pemberi",
     "type": "select",
     "required": true,
     "options": [
      "Anak",
      "Suami / isteri",
      "Ibu / bapa",
      "Adik-beradik",
      "Anak angkat",
      "Individu lain"
     ]
    },
    {
     "key": "recipientCapacity",
     "label": "Keupayaan penerima",
     "type": "select",
     "required": true,
     "options": [
      "Dewasa berkeupayaan",
      "Kanak-kanak / perlu wakil atau amanah"
     ]
    },
    {
     "key": "recipientAcceptance",
     "label": "Kesediaan penerima",
     "type": "select",
     "required": true,
     "options": [
      "Penerima bersedia menerima secara sukarela",
      "Belum dibincangkan / tidak pasti"
     ]
    }
   ]
  },
  {
   "title": "Aset dan pemilikan",
   "sub": "Nyatakan aset dengan tepat. Draf ini tidak mendaftarkan pindah milik atau melepaskan hak bank, pemiutang atau pemilik lain.",
   "fields": [
    {
     "key": "assetType",
     "label": "Jenis aset",
     "type": "select",
     "required": true,
     "options": [
      "Wang",
      "Barang alih berwujud",
      "Tanah / rumah",
      "Kenderaan berdaftar",
      "Saham / akaun pelaburan / aset terkawal"
     ]
    },
    {
     "key": "assetDescription",
     "label": "Pengenalan aset / sumber wang",
     "type": "textarea",
     "required": true
    },
    {
     "key": "assetAmount",
     "label": "Amaun wang hibah (RM)",
     "type": "number",
     "required": true,
     "showIf": {
      "field": "assetType",
      "in": [
       "Wang"
      ]
     }
    },
    {
     "key": "ownership",
     "label": "Status pemilikan aset",
     "type": "select",
     "required": true,
     "options": [
      "Milik penuh pemberi, tanpa pertikaian atau sekatan diketahui",
      "Milik bersama / bercagar / ada sekatan / dipertikaikan",
      "Belum pasti"
     ]
    },
    {
     "key": "ownershipEvidence",
     "label": "Bukti pemilikan untuk disemak",
     "type": "textarea",
     "required": true
    },
    {
     "key": "financialImpact",
     "label": "Kesan terhadap tanggungan pemberi",
     "type": "select",
     "required": true,
     "options": [
      "Keperluan asas, tanggungan dan hutang telah dipertimbangkan",
      "Memerlukan penilaian lanjut"
     ]
    }
   ]
  },
  {
   "title": "Penerimaan dan serahan",
   "sub": "Qabd ialah penerimaan atau penguasaan sebenar oleh penerima. Memilih jawapan atau menjana fail tidak membuktikan serahan berlaku.",
   "fields": [
    {
     "key": "handoverStatus",
     "label": "Status serahan",
     "type": "select",
     "required": true,
     "options": [
      "Belum diserahkan; untuk pelaksanaan kemudian",
      "Serahan telah dibuat; bukti tersedia"
     ]
    },
    {
     "key": "handoverDate",
     "label": "Tarikh serahan sebenar / yang dicadangkan",
     "type": "date",
     "required": true
    },
    {
     "key": "handoverMethod",
     "label": "Cara serahan dan rekod penerimaan",
     "type": "textarea",
     "required": true
    },
    {
     "key": "handoverEvidence",
     "label": "Rujukan bukti serahan sebenar",
     "type": "textarea",
     "required": true,
     "showIf": {
      "field": "handoverStatus",
      "in": [
       "Serahan telah dibuat; bukti tersedia"
      ]
     }
    },
    {
     "key": "documentDate",
     "label": "Tarikh penyediaan draf",
     "type": "date",
     "required": true
    },
    {
     "key": "executionPlace",
     "label": "Tempat tandatangan yang dicadangkan",
     "type": "text",
     "required": true
    },
    {
     "key": "witness1Name",
     "label": "Nama saksi pertama (jika dikenal pasti)",
     "type": "text",
     "required": false
    },
    {
     "key": "witness1Id",
     "label": "No. pengenalan / rujukan saksi pertama",
     "type": "text",
     "required": false
    },
    {
     "key": "witness2Name",
     "label": "Nama saksi kedua (jika dikenal pasti)",
     "type": "text",
     "required": false
    },
    {
     "key": "witness2Id",
     "label": "No. pengenalan / rujukan saksi kedua",
     "type": "text",
     "required": false
    },
    {
     "key": "notes",
     "label": "Catatan tambahan",
     "type": "textarea",
     "required": false
    }
   ]
  }
 ]
}
