{
  "schema": "reai.appdata.v1",
  "appVersion": "1.0.0",
  "savedAt": "2026-09-24T04:57:48+09:00",
  "listings": [
    {
      "id": "R-001",
      "listingType": "주거용 건축물",
      "propertyKind": "원룸",
      "dealType": "월세",
      "address": "가상시 가상구 샘플동 00-1 (가상)",
      "district": "샘플동",
      "salePrice": null,
      "deposit": 500,
      "monthlyRent": 45,
      "maintenanceFee": 12,
      "maintenanceType": "정액",
      "feeGeneral": 5,
      "feeElectric": null,
      "feeWater": 2,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": 2,
      "feeTv": 1,
      "feeEtc": 2,
      "feeIncludes": "일반관리, 수도, 인터넷, TV, 기타",
      "exclusiveArea": 23.14,
      "totalFloors": 5,
      "floor": 3,
      "rooms": 1,
      "bathrooms": 1,
      "direction": "남",
      "directionBasis": "주된 창 기준",
      "moveInDate": "2026-10-15",
      "approvalDate": "2015-06-30",
      "parkingRegistered": 4,
      "parkingActual": 3,
      "violation": "해당 없음",
      "checkNeeded": [],
      "options": "냉장고, 세탁기, 에어컨",
      "pets": "불가",
      "elevator": "있음",
      "heating": "개별난방",
      "jeonseLoan": null,
      "roomStructure": "오픈형",
      "use": "다가구주택",
      "receivedDate": "2026-09-20",
      "notes": "홍보 실습 지정 매물(가상)"
    },
    {
      "id": "R-002",
      "listingType": "주거용 건축물",
      "propertyKind": "오피스텔",
      "dealType": "전세",
      "address": "가상시 가상구 샘플동 00-2 (가상)",
      "district": "샘플동",
      "salePrice": null,
      "deposit": 18000,
      "monthlyRent": null,
      "maintenanceFee": 9,
      "maintenanceType": "정액",
      "feeGeneral": null,
      "feeElectric": null,
      "feeWater": null,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": null,
      "feeTv": null,
      "feeEtc": null,
      "feeIncludes": "일반관리, 수도",
      "exclusiveArea": 28.5,
      "totalFloors": 15,
      "floor": 9,
      "rooms": 1,
      "bathrooms": 1,
      "direction": "남동",
      "directionBasis": "거실 기준",
      "moveInDate": null,
      "approvalDate": "2019-03-15",
      "parkingRegistered": 120,
      "parkingActual": 110,
      "violation": "해당 없음",
      "checkNeeded": [
        "입주가능일"
      ],
      "options": "냉장고, 세탁기, 붙박이장",
      "pets": "협의",
      "elevator": "있음",
      "heating": "개별난방",
      "jeonseLoan": "가능",
      "roomStructure": "분리형",
      "use": "업무시설(오피스텔)",
      "receivedDate": "2026-09-19",
      "notes": "입주가능일 의뢰인 확인 대기(가상)"
    },
    {
      "id": "R-003",
      "listingType": "주거용 건축물",
      "propertyKind": "아파트",
      "dealType": "매매",
      "address": "가상시 가상구 예시동 00-3 (가상)",
      "district": "예시동",
      "salePrice": 48500,
      "deposit": null,
      "monthlyRent": null,
      "maintenanceFee": 25,
      "maintenanceType": "변동",
      "feeGeneral": null,
      "feeElectric": null,
      "feeWater": null,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": null,
      "feeTv": null,
      "feeEtc": null,
      "feeIncludes": "일반관리, 난방, 수도",
      "exclusiveArea": 84.97,
      "totalFloors": 20,
      "floor": 12,
      "rooms": 3,
      "bathrooms": 2,
      "direction": "남",
      "directionBasis": "거실 기준",
      "moveInDate": "2026-12-20",
      "approvalDate": "2008-11-20",
      "parkingRegistered": 350,
      "parkingActual": 350,
      "violation": "해당 없음",
      "checkNeeded": [],
      "options": "시스템에어컨",
      "pets": "협의",
      "elevator": "있음",
      "heating": "지역난방",
      "jeonseLoan": null,
      "roomStructure": "판상형",
      "use": "공동주택(아파트)",
      "receivedDate": "2026-09-18",
      "notes": null
    },
    {
      "id": "R-004",
      "listingType": "주거용 건축물",
      "propertyKind": "투룸",
      "dealType": "월세",
      "address": "가상시 가상구 샘플동 00-4 (가상)",
      "district": "샘플동",
      "salePrice": null,
      "deposit": 1000,
      "monthlyRent": 60,
      "maintenanceFee": 10,
      "maintenanceType": "정액",
      "feeGeneral": 4,
      "feeElectric": null,
      "feeWater": 2,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": 2,
      "feeTv": 1,
      "feeEtc": 1,
      "feeIncludes": "일반관리, 수도, 인터넷, TV, 기타",
      "exclusiveArea": 41.2,
      "totalFloors": 4,
      "floor": 2,
      "rooms": 2,
      "bathrooms": 1,
      "direction": "서",
      "directionBasis": "거실 기준",
      "moveInDate": "2026-10-01",
      "approvalDate": "2012-04-10",
      "parkingRegistered": 5,
      "parkingActual": 5,
      "violation": "해당 없음",
      "checkNeeded": [],
      "options": "냉장고, 세탁기",
      "pets": "불가",
      "elevator": "없음",
      "heating": "개별난방",
      "jeonseLoan": null,
      "roomStructure": "분리형",
      "use": "다세대주택",
      "receivedDate": "2026-09-17",
      "notes": null
    },
    {
      "id": "R-005",
      "listingType": "주거용 건축물",
      "propertyKind": "다세대·연립",
      "dealType": "전세",
      "address": "가상시 가상구 연습동 00-5 (가상)",
      "district": "연습동",
      "salePrice": null,
      "deposit": 20000,
      "monthlyRent": null,
      "maintenanceFee": 5,
      "maintenanceType": "정액",
      "feeGeneral": null,
      "feeElectric": null,
      "feeWater": null,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": null,
      "feeTv": null,
      "feeEtc": null,
      "feeIncludes": "일반관리",
      "exclusiveArea": 59.8,
      "totalFloors": 4,
      "floor": 3,
      "rooms": 3,
      "bathrooms": 1,
      "direction": "남서",
      "directionBasis": "거실 기준",
      "moveInDate": "2026-11-01",
      "approvalDate": "2010-08-25",
      "parkingRegistered": 6,
      "parkingActual": 4,
      "violation": "해당 없음",
      "checkNeeded": [],
      "options": null,
      "pets": "협의",
      "elevator": "없음",
      "heating": "개별난방",
      "jeonseLoan": "가능",
      "roomStructure": "분리형",
      "use": "다세대주택",
      "receivedDate": "2026-09-16",
      "notes": null
    },
    {
      "id": "R-006",
      "listingType": "주거용 건축물",
      "propertyKind": "오피스텔",
      "dealType": "월세",
      "address": "가상시 가상구 예시동 00-6 (가상)",
      "district": "예시동",
      "salePrice": null,
      "deposit": 1000,
      "monthlyRent": 65,
      "maintenanceFee": 15,
      "maintenanceType": "정액",
      "feeGeneral": 8,
      "feeElectric": null,
      "feeWater": 2,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": 2,
      "feeTv": 1,
      "feeEtc": 2,
      "feeIncludes": "일반관리, 수도, 인터넷, TV, 기타",
      "exclusiveArea": 26.4,
      "totalFloors": 12,
      "floor": 7,
      "rooms": 1,
      "bathrooms": 1,
      "direction": "동",
      "directionBasis": "거실 기준",
      "moveInDate": "2026-10-10",
      "approvalDate": "2020-01-15",
      "parkingRegistered": 80,
      "parkingActual": 80,
      "violation": "해당 없음",
      "checkNeeded": [],
      "options": "냉장고, 세탁기, 에어컨, 인덕션",
      "pets": "불가",
      "elevator": "있음",
      "heating": "개별난방",
      "jeonseLoan": null,
      "roomStructure": "오픈형",
      "use": "업무시설(오피스텔)",
      "receivedDate": "2026-09-15",
      "notes": null
    },
    {
      "id": "R-007",
      "listingType": "주거용 건축물",
      "propertyKind": "원룸",
      "dealType": "월세",
      "address": "가상시 가상구 연습동 00-7 (가상)",
      "district": "연습동",
      "salePrice": null,
      "deposit": 300,
      "monthlyRent": 40,
      "maintenanceFee": 7,
      "maintenanceType": "변동",
      "feeGeneral": null,
      "feeElectric": null,
      "feeWater": null,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": null,
      "feeTv": null,
      "feeEtc": null,
      "feeIncludes": "일반관리",
      "exclusiveArea": 19.8,
      "totalFloors": 4,
      "floor": 4,
      "rooms": 1,
      "bathrooms": 1,
      "direction": "북",
      "directionBasis": "주된 창 기준",
      "moveInDate": "2026-10-05",
      "approvalDate": "2003-05-12",
      "parkingRegistered": 2,
      "parkingActual": 1,
      "violation": "위반건축물",
      "checkNeeded": [],
      "options": "냉장고",
      "pets": "불가",
      "elevator": "없음",
      "heating": "개별난방",
      "jeonseLoan": null,
      "roomStructure": "오픈형",
      "use": "다가구주택",
      "receivedDate": "2026-09-14",
      "notes": "대장상 위반건축물 표시(가상)"
    },
    {
      "id": "R-008",
      "listingType": "주거용 건축물",
      "propertyKind": "아파트",
      "dealType": "전세",
      "address": "가상시 가상구 샘플동 00-8 (가상)",
      "district": "샘플동",
      "salePrice": null,
      "deposit": 32000,
      "monthlyRent": null,
      "maintenanceFee": 20,
      "maintenanceType": "변동",
      "feeGeneral": null,
      "feeElectric": null,
      "feeWater": null,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": null,
      "feeTv": null,
      "feeEtc": null,
      "feeIncludes": "일반관리, 난방, 수도",
      "exclusiveArea": 74.6,
      "totalFloors": 18,
      "floor": 5,
      "rooms": 3,
      "bathrooms": 2,
      "direction": "남동",
      "directionBasis": "거실 기준",
      "moveInDate": "2026-11-20",
      "approvalDate": "2011-09-30",
      "parkingRegistered": 420,
      "parkingActual": 420,
      "violation": "해당 없음",
      "checkNeeded": [],
      "options": null,
      "pets": "협의",
      "elevator": "있음",
      "heating": "지역난방",
      "jeonseLoan": "가능",
      "roomStructure": "판상형",
      "use": "공동주택(아파트)",
      "receivedDate": "2026-09-13",
      "notes": null
    },
    {
      "id": "R-009",
      "listingType": "주거용 건축물",
      "propertyKind": "단독·다가구",
      "dealType": "매매",
      "address": "가상시 가상구 연습동 00-9 (가상)",
      "district": "연습동",
      "salePrice": 62000,
      "deposit": null,
      "monthlyRent": null,
      "maintenanceFee": 0,
      "maintenanceType": null,
      "feeGeneral": null,
      "feeElectric": null,
      "feeWater": null,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": null,
      "feeTv": null,
      "feeEtc": null,
      "feeIncludes": null,
      "exclusiveArea": 132.4,
      "totalFloors": 3,
      "floor": 1,
      "rooms": 5,
      "bathrooms": 3,
      "direction": "남",
      "directionBasis": "주된 출입구 기준",
      "moveInDate": "2027-01-15",
      "approvalDate": "1998-07-01",
      "parkingRegistered": 2,
      "parkingActual": 2,
      "violation": "해당 없음",
      "checkNeeded": [],
      "options": null,
      "pets": null,
      "elevator": "없음",
      "heating": "개별난방",
      "jeonseLoan": null,
      "roomStructure": null,
      "use": "단독주택",
      "receivedDate": "2026-09-12",
      "notes": "관리비 없음(가상)"
    },
    {
      "id": "R-010",
      "listingType": "주거용 건축물",
      "propertyKind": "1.5룸",
      "dealType": "월세",
      "address": "가상시 가상구 예시동 00-10 (가상)",
      "district": "예시동",
      "salePrice": null,
      "deposit": 500,
      "monthlyRent": 50,
      "maintenanceFee": 11,
      "maintenanceType": "정액",
      "feeGeneral": 5,
      "feeElectric": null,
      "feeWater": 2,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": 2,
      "feeTv": 1,
      "feeEtc": 1,
      "feeIncludes": "일반관리, 수도, 인터넷, TV, 기타",
      "exclusiveArea": 31.05,
      "totalFloors": 6,
      "floor": 5,
      "rooms": 1,
      "bathrooms": 1,
      "direction": "남",
      "directionBasis": "거실 기준",
      "moveInDate": "2026-10-20",
      "approvalDate": "2017-02-28",
      "parkingRegistered": 6,
      "parkingActual": 6,
      "violation": "해당 없음",
      "checkNeeded": [],
      "options": "냉장고, 세탁기, 에어컨",
      "pets": "불가",
      "elevator": "있음",
      "heating": "개별난방",
      "jeonseLoan": null,
      "roomStructure": "복층",
      "use": "다세대주택",
      "receivedDate": "2026-09-11",
      "notes": null
    },
    {
      "id": "R-011",
      "listingType": "주거용 건축물",
      "propertyKind": "투룸",
      "dealType": "전세",
      "address": "가상시 가상구 샘플동 00-11 (가상)",
      "district": "샘플동",
      "salePrice": null,
      "deposit": 15000,
      "monthlyRent": null,
      "maintenanceFee": 6,
      "maintenanceType": "정액",
      "feeGeneral": null,
      "feeElectric": null,
      "feeWater": null,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": null,
      "feeTv": null,
      "feeEtc": null,
      "feeIncludes": "일반관리, 수도",
      "exclusiveArea": 44.3,
      "totalFloors": 5,
      "floor": 4,
      "rooms": 2,
      "bathrooms": 1,
      "direction": "동",
      "directionBasis": "거실 기준",
      "moveInDate": "2026-11-10",
      "approvalDate": "2014-10-10",
      "parkingRegistered": 5,
      "parkingActual": 4,
      "violation": "해당 없음",
      "checkNeeded": [],
      "options": null,
      "pets": "협의",
      "elevator": "있음",
      "heating": "개별난방",
      "jeonseLoan": "가능",
      "roomStructure": "분리형",
      "use": "다세대주택",
      "receivedDate": "2026-09-10",
      "notes": null
    },
    {
      "id": "R-012",
      "listingType": "주거용 건축물",
      "propertyKind": "오피스텔",
      "dealType": "매매",
      "address": "가상시 가상구 연습동 00-12 (가상)",
      "district": "연습동",
      "salePrice": 21000,
      "deposit": null,
      "monthlyRent": null,
      "maintenanceFee": 12,
      "maintenanceType": "정액",
      "feeGeneral": 7,
      "feeElectric": null,
      "feeWater": 2,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": 1,
      "feeTv": 1,
      "feeEtc": 1,
      "feeIncludes": "일반관리, 수도, 인터넷, TV, 기타",
      "exclusiveArea": 30.2,
      "totalFloors": 14,
      "floor": 10,
      "rooms": 1,
      "bathrooms": 1,
      "direction": "서",
      "directionBasis": "거실 기준",
      "moveInDate": "2026-12-01",
      "approvalDate": "2018-06-20",
      "parkingRegistered": 95,
      "parkingActual": 95,
      "violation": "해당 없음",
      "checkNeeded": [],
      "options": "냉장고, 세탁기",
      "pets": "불가",
      "elevator": "있음",
      "heating": "개별난방",
      "jeonseLoan": null,
      "roomStructure": "오픈형",
      "use": "업무시설(오피스텔)",
      "receivedDate": "2026-09-09",
      "notes": null
    },
    {
      "id": "R-013",
      "listingType": "주거용 건축물",
      "propertyKind": "아파트",
      "dealType": "월세",
      "address": "가상시 가상구 예시동 00-13 (가상)",
      "district": "예시동",
      "salePrice": null,
      "deposit": 5000,
      "monthlyRent": 120,
      "maintenanceFee": 22,
      "maintenanceType": "변동",
      "feeGeneral": null,
      "feeElectric": null,
      "feeWater": null,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": null,
      "feeTv": null,
      "feeEtc": null,
      "feeIncludes": "일반관리, 난방, 수도",
      "exclusiveArea": 59.9,
      "totalFloors": 25,
      "floor": 15,
      "rooms": 3,
      "bathrooms": 2,
      "direction": "남",
      "directionBasis": "거실 기준",
      "moveInDate": "2026-10-30",
      "approvalDate": "2016-12-15",
      "parkingRegistered": 600,
      "parkingActual": 600,
      "violation": "해당 없음",
      "checkNeeded": [],
      "options": null,
      "pets": "협의",
      "elevator": "있음",
      "heating": "지역난방",
      "jeonseLoan": null,
      "roomStructure": "판상형",
      "use": "공동주택(아파트)",
      "receivedDate": "2026-09-08",
      "notes": null
    },
    {
      "id": "R-014",
      "listingType": "주거용 건축물",
      "propertyKind": "쓰리룸 이상",
      "dealType": "매매",
      "address": "가상시 가상구 샘플동 00-14 (가상)",
      "district": "샘플동",
      "salePrice": 35000,
      "deposit": null,
      "monthlyRent": null,
      "maintenanceFee": 8,
      "maintenanceType": "정액",
      "feeGeneral": null,
      "feeElectric": null,
      "feeWater": null,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": null,
      "feeTv": null,
      "feeEtc": null,
      "feeIncludes": "일반관리",
      "exclusiveArea": 65.1,
      "totalFloors": 5,
      "floor": 2,
      "rooms": 3,
      "bathrooms": 2,
      "direction": "남서",
      "directionBasis": "거실 기준",
      "moveInDate": "2027-02-01",
      "approvalDate": "2013-03-05",
      "parkingRegistered": 8,
      "parkingActual": 6,
      "violation": "해당 없음",
      "checkNeeded": [],
      "options": null,
      "pets": null,
      "elevator": "있음",
      "heating": "개별난방",
      "jeonseLoan": null,
      "roomStructure": "분리형",
      "use": "다세대주택",
      "receivedDate": "2026-09-07",
      "notes": null
    },
    {
      "id": "R-015",
      "listingType": "주거용 건축물",
      "propertyKind": "원룸",
      "dealType": "단기임대",
      "address": "가상시 가상구 연습동 00-15 (가상)",
      "district": "연습동",
      "salePrice": null,
      "deposit": 100,
      "monthlyRent": 70,
      "maintenanceFee": 10,
      "maintenanceType": "정액",
      "feeGeneral": 4,
      "feeElectric": null,
      "feeWater": 2,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": 2,
      "feeTv": 1,
      "feeEtc": 1,
      "feeIncludes": "일반관리, 수도, 인터넷, TV, 기타",
      "exclusiveArea": 18.6,
      "totalFloors": 6,
      "floor": 6,
      "rooms": 1,
      "bathrooms": 1,
      "direction": "북동",
      "directionBasis": "주된 창 기준",
      "moveInDate": "2026-10-01",
      "approvalDate": "2016-05-20",
      "parkingRegistered": 3,
      "parkingActual": 3,
      "violation": "해당 없음",
      "checkNeeded": [],
      "options": "냉장고, 세탁기, 에어컨, 침대",
      "pets": "불가",
      "elevator": "있음",
      "heating": "개별난방",
      "jeonseLoan": null,
      "roomStructure": "오픈형",
      "use": "다가구주택",
      "receivedDate": "2026-09-06",
      "notes": null
    },
    {
      "id": "R-016",
      "listingType": "주거용 건축물",
      "propertyKind": "오피스텔",
      "dealType": "전세",
      "address": "가상시 가상구 예시동 00-16 (가상)",
      "district": "예시동",
      "salePrice": null,
      "deposit": 16500,
      "monthlyRent": null,
      "maintenanceFee": 13,
      "maintenanceType": "정액",
      "feeGeneral": 8,
      "feeElectric": null,
      "feeWater": 2,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": 1,
      "feeTv": 1,
      "feeEtc": 1,
      "feeIncludes": "일반관리, 수도, 인터넷, TV, 기타",
      "exclusiveArea": 33.7,
      "totalFloors": 16,
      "floor": 11,
      "rooms": 1,
      "bathrooms": 1,
      "direction": "남",
      "directionBasis": "거실 기준",
      "moveInDate": "2026-11-15",
      "approvalDate": "2021-04-01",
      "parkingRegistered": 150,
      "parkingActual": 150,
      "violation": "해당 없음",
      "checkNeeded": [],
      "options": "냉장고, 세탁기, 에어컨",
      "pets": "협의",
      "elevator": "있음",
      "heating": "개별난방",
      "jeonseLoan": "가능",
      "roomStructure": "분리형",
      "use": "업무시설(오피스텔)",
      "receivedDate": "2026-09-05",
      "notes": null
    },
    {
      "id": "R-017",
      "listingType": "주거용 건축물",
      "propertyKind": "투룸",
      "dealType": "월세",
      "address": "가상시 가상구 연습동 00-17 (가상)",
      "district": "연습동",
      "salePrice": null,
      "deposit": 2000,
      "monthlyRent": 55,
      "maintenanceFee": 9,
      "maintenanceType": "변동",
      "feeGeneral": null,
      "feeElectric": null,
      "feeWater": null,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": null,
      "feeTv": null,
      "feeEtc": null,
      "feeIncludes": "일반관리, 수도",
      "exclusiveArea": 46.8,
      "totalFloors": 4,
      "floor": 1,
      "rooms": 2,
      "bathrooms": 1,
      "direction": "남동",
      "directionBasis": "거실 기준",
      "moveInDate": "2026-10-25",
      "approvalDate": "2009-09-09",
      "parkingRegistered": 4,
      "parkingActual": 3,
      "violation": "해당 없음",
      "checkNeeded": [],
      "options": null,
      "pets": "가능",
      "elevator": "없음",
      "heating": "개별난방",
      "jeonseLoan": null,
      "roomStructure": "분리형",
      "use": "다세대주택",
      "receivedDate": "2026-09-04",
      "notes": null
    },
    {
      "id": "R-018",
      "listingType": "주거용 건축물",
      "propertyKind": "아파트",
      "dealType": "매매",
      "address": "가상시 가상구 샘플동 00-18 (가상)",
      "district": "샘플동",
      "salePrice": 71000,
      "deposit": null,
      "monthlyRent": null,
      "maintenanceFee": 30,
      "maintenanceType": "변동",
      "feeGeneral": null,
      "feeElectric": null,
      "feeWater": null,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": null,
      "feeTv": null,
      "feeEtc": null,
      "feeIncludes": "일반관리, 난방, 수도, 전기",
      "exclusiveArea": 101.8,
      "totalFloors": 22,
      "floor": 18,
      "rooms": 4,
      "bathrooms": 2,
      "direction": "남",
      "directionBasis": "거실 기준",
      "moveInDate": "2027-03-02",
      "approvalDate": "2014-02-14",
      "parkingRegistered": 500,
      "parkingActual": 520,
      "violation": "해당 없음",
      "checkNeeded": [],
      "options": null,
      "pets": "협의",
      "elevator": "있음",
      "heating": "지역난방",
      "jeonseLoan": null,
      "roomStructure": "판상형",
      "use": "공동주택(아파트)",
      "receivedDate": "2026-09-03",
      "notes": null
    },
    {
      "id": "R-019",
      "listingType": "주거용 건축물",
      "propertyKind": "다세대·연립",
      "dealType": "전세",
      "address": "가상시 가상구 예시동 00-19 (가상)",
      "district": "예시동",
      "salePrice": null,
      "deposit": 12000,
      "monthlyRent": null,
      "maintenanceFee": 0,
      "maintenanceType": null,
      "feeGeneral": null,
      "feeElectric": null,
      "feeWater": null,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": null,
      "feeTv": null,
      "feeEtc": null,
      "feeIncludes": null,
      "exclusiveArea": 52.4,
      "totalFloors": 3,
      "floor": 2,
      "rooms": 2,
      "bathrooms": 1,
      "direction": "동",
      "directionBasis": "거실 기준",
      "moveInDate": "2026-11-05",
      "approvalDate": "2001-11-11",
      "parkingRegistered": 3,
      "parkingActual": 2,
      "violation": "해당 없음",
      "checkNeeded": [],
      "options": null,
      "pets": null,
      "elevator": "없음",
      "heating": "개별난방",
      "jeonseLoan": "불가",
      "roomStructure": "분리형",
      "use": "연립주택",
      "receivedDate": "2026-09-02",
      "notes": "관리비 없음(가상)"
    },
    {
      "id": "R-020",
      "listingType": "주거용 건축물",
      "propertyKind": "원룸",
      "dealType": "월세",
      "address": "가상시 가상구 샘플동 00-20 (가상)",
      "district": "샘플동",
      "salePrice": null,
      "deposit": 200,
      "monthlyRent": 38,
      "maintenanceFee": 10,
      "maintenanceType": "정액",
      "feeGeneral": 5,
      "feeElectric": null,
      "feeWater": 2,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": 2,
      "feeTv": null,
      "feeEtc": 1,
      "feeIncludes": "일반관리, 수도, 인터넷, 기타",
      "exclusiveArea": 17.9,
      "totalFloors": 5,
      "floor": 2,
      "rooms": 1,
      "bathrooms": 1,
      "direction": "서",
      "directionBasis": "주된 창 기준",
      "moveInDate": "2026-09-30",
      "approvalDate": "2011-07-07",
      "parkingRegistered": 3,
      "parkingActual": 2,
      "violation": "해당 없음",
      "checkNeeded": [],
      "options": "냉장고, 에어컨",
      "pets": "불가",
      "elevator": "없음",
      "heating": "개별난방",
      "jeonseLoan": null,
      "roomStructure": "오픈형",
      "use": "다가구주택",
      "receivedDate": "2026-09-01",
      "notes": null
    },
    {
      "id": "R-021",
      "listingType": "상업용 건축물",
      "propertyKind": "상가",
      "dealType": "월세",
      "address": "가상시 가상구 예시동 00-21 (가상)",
      "district": "예시동",
      "salePrice": null,
      "deposit": 3000,
      "monthlyRent": 180,
      "maintenanceFee": 20,
      "maintenanceType": "정액",
      "feeGeneral": 12,
      "feeElectric": null,
      "feeWater": 3,
      "feeGas": null,
      "feeHeating": null,
      "feeInternet": null,
      "feeTv": null,
      "feeEtc": 5,
      "feeIncludes": "일반관리, 수도, 기타",
      "exclusiveArea": 66.12,
      "totalFloors": 5,
      "floor": 1,
      "rooms": "해당 없음",
      "bathrooms": "해당 없음",
      "direction": "남",
      "directionBasis": "주된 출입구 기준",
      "moveInDate": "2026-11-01",
      "approvalDate": "2012-12-12",
      "parkingRegistered": 10,
      "parkingActual": 8,
      "violation": "해당 없음",
      "checkNeeded": [],
      "options": null,
      "pets": null,
      "elevator": "있음",
      "heating": null,
      "jeonseLoan": null,
      "roomStructure": null,
      "use": "제1종 근린생활시설",
      "receivedDate": "2026-08-31",
      "notes": "상가 임대 추가 과제. 직방·다방 등록 가능 여부 확인 필요(가상)"
    }
  ],
  "customers": [
    {
      "id": "C-001",
      "dealType": "월세",
      "kinds": [
        "원룸",
        "1.5룸"
      ],
      "districts": [
        "샘플동",
        "예시동"
      ],
      "depositMax": 1000,
      "monthlyRentMax": 50,
      "salePriceMax": null,
      "areaMin": 20,
      "roomsMin": 1,
      "moveInBy": "2026-10-31",
      "pets": null,
      "parkingNeeded": false,
      "notes": "역까지 도보 이동 선호(가상)",
      "status": "상담 중"
    },
    {
      "id": "C-002",
      "dealType": "전세",
      "kinds": [
        "오피스텔",
        "투룸"
      ],
      "districts": [
        "샘플동"
      ],
      "depositMax": 20000,
      "monthlyRentMax": null,
      "salePriceMax": null,
      "areaMin": 25,
      "roomsMin": 1,
      "moveInBy": "2026-12-31",
      "pets": null,
      "parkingNeeded": true,
      "notes": "전세대출 가능 매물(가상)",
      "status": "상담 중"
    },
    {
      "id": "C-003",
      "dealType": "매매",
      "kinds": [
        "아파트"
      ],
      "districts": [
        "예시동",
        "샘플동"
      ],
      "depositMax": null,
      "monthlyRentMax": null,
      "salePriceMax": 50000,
      "areaMin": 59,
      "roomsMin": 3,
      "moveInBy": null,
      "pets": null,
      "parkingNeeded": true,
      "notes": "학교 거리 확인 요청(가상)",
      "status": "상담 중"
    },
    {
      "id": "C-004",
      "dealType": "월세",
      "kinds": [
        "투룸"
      ],
      "districts": [
        "연습동",
        "샘플동"
      ],
      "depositMax": 2000,
      "monthlyRentMax": 60,
      "salePriceMax": null,
      "areaMin": 40,
      "roomsMin": 2,
      "moveInBy": "2026-11-15",
      "pets": "가능",
      "parkingNeeded": false,
      "notes": "반려동물 동반(가상)",
      "status": "상담 중"
    },
    {
      "id": "C-005",
      "dealType": "전세",
      "kinds": [
        "아파트",
        "다세대·연립"
      ],
      "districts": [
        "샘플동",
        "연습동"
      ],
      "depositMax": 33000,
      "monthlyRentMax": null,
      "salePriceMax": null,
      "areaMin": 55,
      "roomsMin": 2,
      "moveInBy": "2026-12-15",
      "pets": null,
      "parkingNeeded": true,
      "notes": "",
      "status": "상담 중"
    },
    {
      "id": "C-006",
      "dealType": "월세",
      "kinds": [
        "오피스텔"
      ],
      "districts": [
        "예시동"
      ],
      "depositMax": 1000,
      "monthlyRentMax": 70,
      "salePriceMax": null,
      "areaMin": 24,
      "roomsMin": 1,
      "moveInBy": "2026-10-31",
      "pets": null,
      "parkingNeeded": true,
      "notes": "",
      "status": "보류"
    },
    {
      "id": "C-007",
      "dealType": "매매",
      "kinds": [
        "오피스텔"
      ],
      "districts": [
        "연습동",
        "예시동"
      ],
      "depositMax": null,
      "monthlyRentMax": null,
      "salePriceMax": 25000,
      "areaMin": 28,
      "roomsMin": 1,
      "moveInBy": null,
      "pets": null,
      "parkingNeeded": false,
      "notes": "임대 수익 문의는 단정 답변 금지(가상)",
      "status": "상담 중"
    },
    {
      "id": "C-008",
      "dealType": "단기임대",
      "kinds": [
        "원룸"
      ],
      "districts": [
        "연습동"
      ],
      "depositMax": 300,
      "monthlyRentMax": 80,
      "salePriceMax": null,
      "areaMin": 15,
      "roomsMin": 1,
      "moveInBy": "2026-10-05",
      "pets": null,
      "parkingNeeded": false,
      "notes": "3개월 거주 예정(가상)",
      "status": "상담 중"
    },
    {
      "id": "C-009",
      "dealType": "매매",
      "kinds": [
        "아파트",
        "단독·다가구"
      ],
      "districts": [
        "샘플동",
        "연습동"
      ],
      "depositMax": null,
      "monthlyRentMax": null,
      "salePriceMax": 75000,
      "areaMin": 84,
      "roomsMin": 3,
      "moveInBy": "2027-03-31",
      "pets": null,
      "parkingNeeded": true,
      "notes": "",
      "status": "상담 중"
    },
    {
      "id": "C-010",
      "dealType": "월세",
      "kinds": [
        "상가"
      ],
      "districts": [
        "예시동"
      ],
      "depositMax": 5000,
      "monthlyRentMax": 200,
      "salePriceMax": null,
      "areaMin": 50,
      "roomsMin": null,
      "moveInBy": "2026-11-30",
      "pets": null,
      "parkingNeeded": true,
      "notes": "업종 가능 여부는 대장 용도 확인 필요(가상)",
      "status": "상담 중"
    }
  ],
  "worklog": [],
  "adLog": [
    {
      "id": "AD-001",
      "listingId": "R-001",
      "channel": "다방",
      "status": "등록함",
      "plannedDate": "2026-08-26",
      "postedAt": "2026-08-27",
      "url": null,
      "imageFile": null,
      "purpose": "매물 광고",
      "dealStatus": "거래 중",
      "contractNoticeAt": null,
      "deletedAt": null,
      "precheckAt": "2026-08-27",
      "policyBaseDate": "구 규정(작성일 미표기)",
      "campaignId": "P-001",
      "snapshot": {
        "salePrice": null,
        "deposit": 500,
        "monthlyRent": 45,
        "maintenanceFee": 12,
        "moveInDate": "2026-10-15",
        "options": "냉장고, 세탁기, 에어컨"
      },
      "history": []
    },
    {
      "id": "AD-002",
      "listingId": "R-004",
      "channel": "직방",
      "status": "등록함",
      "plannedDate": "2026-09-18",
      "postedAt": "2026-09-19",
      "url": null,
      "imageFile": null,
      "purpose": "매물 광고",
      "dealStatus": "계약 완료",
      "contractNoticeAt": "2026-09-23",
      "deletedAt": null,
      "precheckAt": "2026-09-19",
      "policyBaseDate": "2026-06-22",
      "campaignId": null,
      "snapshot": {
        "salePrice": null,
        "deposit": 1000,
        "monthlyRent": 60,
        "maintenanceFee": 10,
        "moveInDate": "2026-10-01",
        "options": "냉장고, 세탁기"
      },
      "history": []
    },
    {
      "id": "AD-003",
      "listingId": "R-006",
      "channel": "블로그",
      "status": "등록함",
      "plannedDate": "2026-09-20",
      "postedAt": "2026-09-21",
      "url": null,
      "imageFile": null,
      "purpose": "매물 홍보",
      "dealStatus": "거래 중",
      "contractNoticeAt": null,
      "deletedAt": null,
      "precheckAt": "2026-09-21",
      "policyBaseDate": null,
      "campaignId": null,
      "snapshot": {
        "salePrice": null,
        "deposit": 1000,
        "monthlyRent": 65,
        "maintenanceFee": 15,
        "moveInDate": "2026-10-10",
        "options": "냉장고, 세탁기, 에어컨, 인덕션"
      },
      "history": []
    },
    {
      "id": "AD-004",
      "listingId": "R-010",
      "channel": "다방",
      "status": "등록함",
      "plannedDate": "2026-09-13",
      "postedAt": "2026-09-14",
      "url": null,
      "imageFile": null,
      "purpose": "매물 광고",
      "dealStatus": "거래 중",
      "contractNoticeAt": null,
      "deletedAt": null,
      "precheckAt": "2026-09-14",
      "policyBaseDate": "구 규정(작성일 미표기)",
      "campaignId": "P-001",
      "snapshot": {
        "salePrice": null,
        "deposit": 500,
        "monthlyRent": 50,
        "maintenanceFee": 11,
        "moveInDate": "2026-10-20",
        "options": "냉장고, 세탁기, 에어컨"
      },
      "history": []
    }
  ],
  "imageLog": [
    {
      "listingId": "R-001",
      "fileName": "R-001_거실_01.jpg",
      "folder": "플랫폼원본",
      "kind": "원본",
      "format": "4032x3024",
      "shotDate": "2026-09-20",
      "shooter": "직접 촬영",
      "inOut": "실내",
      "textTraceChecked": "예",
      "noPersonChecked": "예",
      "channel": "직방, 다방",
      "note": "가상 행"
    },
    {
      "listingId": "R-001",
      "fileName": "R-001_거실_01_보정.jpg",
      "folder": "홍보물",
      "kind": "보정본",
      "format": "1080x1080",
      "shotDate": "2026-09-20",
      "shooter": "직접 촬영",
      "inOut": "실내",
      "sourceFile": "R-001_거실_01.jpg",
      "textTraceChecked": "예",
      "noPersonChecked": "예",
      "channel": "SNS",
      "note": "밝기 보정(가상 행)"
    },
    {
      "listingId": "R-001",
      "fileName": "R-001_배경_01.png",
      "folder": "홍보물",
      "kind": "생성 배경",
      "format": "1080x1080",
      "genTool": "ChatGPT Images",
      "genDate": "2026-09-21",
      "genBgLabel": "생성 배경 사용",
      "textTraceChecked": "예",
      "noPersonChecked": "예",
      "channel": "SNS",
      "note": "가상 행"
    },
    {
      "listingId": "R-001",
      "fileName": "R-001_카드_1x1.png",
      "folder": "홍보물",
      "kind": "최종 카드",
      "format": "1080x1080",
      "sourceFile": "R-001_거실_01_보정.jpg",
      "genBgLabel": "생성 배경 사용",
      "textTraceChecked": "예",
      "noPersonChecked": "예",
      "channel": "SNS",
      "note": "가상 행"
    },
    {
      "listingId": "R-004",
      "fileName": "R-004_방_01.jpg",
      "folder": "플랫폼원본",
      "kind": "원본",
      "format": "3000x2000",
      "shotDate": "2026-09-15",
      "shooter": "의뢰인 제공",
      "inOut": "실내",
      "textTraceChecked": "아니오",
      "noPersonChecked": "예",
      "channel": "직방",
      "note": "의뢰인 제공 사진(가상 행)"
    }
  ],
  "consultLog": [
    {
      "id": "CS-001",
      "customerId": "C-001",
      "date": "2026-09-18",
      "listingIds": "R-001, R-010",
      "summary": "C-001 월세 원룸 상담. 보증금 1,000만원·월세 50만원 이내, 샘플동 선호. R-001 관리비 비목 설명함(가상)",
      "nextAction": "R-001 방문 일정 제안",
      "nextContactDate": "2026-09-25",
      "maskChecked": "예",
      "inflowChannel": "다방",
      "campaignId": "P-001"
    },
    {
      "id": "CS-002",
      "customerId": "C-003",
      "date": "2026-09-20",
      "listingIds": "R-003",
      "summary": "C-003 아파트 매매 상담. 예산 5억원 이내, 학교 거리 확인 요청. 가격 협상 여부는 의뢰인 확인 후 안내(가상)",
      "nextAction": "R-003 학교 거리 실측 후 안내",
      "nextContactDate": "2026-09-26",
      "maskChecked": "예",
      "inflowChannel": "블로그",
      "campaignId": null
    },
    {
      "id": "CS-003",
      "customerId": "C-004",
      "date": "2026-09-22",
      "listingIds": "R-004, R-017",
      "summary": "C-004 투룸 월세 상담. 반려동물 동반, R-004 반려동물 가능 여부 의뢰인 재확인 필요(가상)",
      "nextAction": "R-004 의뢰인에게 반려동물 조건 확인",
      "nextContactDate": "2026-09-24",
      "maskChecked": "예",
      "inflowChannel": "직방",
      "campaignId": null
    },
    {
      "id": "CS-004",
      "customerId": "C-002",
      "date": "2026-09-22",
      "listingIds": "R-016",
      "summary": "C-002 오피스텔 전세 상담. 입주 일정 조정 필요, 의뢰인 일정 확인 후 재연락(가상)",
      "nextAction": "R-016 의뢰인 일정 확인",
      "nextContactDate": "2026-09-29",
      "maskChecked": "예",
      "inflowChannel": "소개",
      "campaignId": null
    },
    {
      "id": "CS-005",
      "customerId": "C-007",
      "date": "2026-09-12",
      "listingIds": "R-012",
      "summary": "C-007 오피스텔 매매 상담. 유리창 광고 보고 방문, 대출 가능 여부는 금융기관 확인 안내(가상)",
      "nextAction": "계약 준비 서류 안내",
      "nextContactDate": null,
      "maskChecked": "예",
      "inflowChannel": "유리창",
      "campaignId": "P-002"
    },
    {
      "id": "CS-006",
      "customerId": "C-010",
      "date": "2026-09-15",
      "listingIds": "R-021",
      "summary": "C-010 상가 월세 상담. 업종 가능 여부는 건축물대장 용도 확인 후 안내(가상)",
      "nextAction": "용도 확인 결과 안내",
      "nextContactDate": null,
      "maskChecked": "예",
      "inflowChannel": "유리창",
      "campaignId": "P-002"
    },
    {
      "id": "CS-007",
      "customerId": "",
      "date": "2026-09-21",
      "listingIds": "R-010",
      "summary": "블로그 글 보고 문의. 방문 희망 시간만 남김, 고객 ID 배정 전(가상)",
      "nextAction": "방문 가능 시간 회신",
      "nextContactDate": "2026-09-24",
      "maskChecked": "예",
      "inflowChannel": "블로그",
      "campaignId": "P-001"
    }
  ],
  "reportLog": [],
  "contracts": [
    {
      "contractRef": "R-003",
      "contractType": "매매",
      "propertyUse": "주택",
      "contractDate": "2026-09-10",
      "balanceDate": "2026-11-10"
    },
    {
      "contractRef": "R-001",
      "contractType": "월세",
      "propertyUse": "주택",
      "contractDate": "2026-09-01",
      "deposit": 500,
      "monthlyRent": 45,
      "region": "해당",
      "leaseStart": "2026-10-15",
      "leaseMonths": 24
    },
    {
      "contractRef": "R-002",
      "contractType": "전세",
      "propertyUse": "주택",
      "contractDate": "2026-09-15",
      "deposit": 18000,
      "region": "확인 필요",
      "leaseEnd": "2028-09-30"
    },
    {
      "contractRef": "R-020",
      "contractType": "월세",
      "propertyUse": "주택",
      "contractDate": "2026-09-05",
      "deposit": 200,
      "monthlyRent": 30,
      "region": "해당"
    },
    {
      "contractRef": "R-021",
      "contractType": "월세",
      "propertyUse": "주택 외",
      "contractDate": "2026-08-28",
      "deposit": 3000,
      "monthlyRent": 180,
      "region": "해당"
    }
  ],
  "deals": [
    {
      "id": "D-001",
      "listingId": "R-020",
      "customerId": null,
      "dealType": "월세",
      "propertyClass": "주택",
      "stage": "매물 확보",
      "stageChangedAt": "2026-09-22",
      "contractDate": null,
      "balanceDate": null,
      "paymentCompletedAt": null,
      "salePrice": null,
      "deposit": 200,
      "monthlyRent": 38,
      "feeCalc": null,
      "agreedFee": null,
      "assignee": "S-003",
      "reportChecked": null,
      "campaignId": null,
      "holdReason": null,
      "unpaidReason": null,
      "stageHistory": [
        {
          "at": "2026-09-22",
          "from": null,
          "to": "매물 확보",
          "by": "S-003",
          "note": null
        }
      ],
      "notes": "의뢰 접수(가상)"
    },
    {
      "id": "D-002",
      "listingId": "R-001",
      "customerId": null,
      "dealType": "월세",
      "propertyClass": "주택",
      "stage": "광고 중",
      "stageChangedAt": "2026-08-27",
      "contractDate": null,
      "balanceDate": null,
      "paymentCompletedAt": null,
      "salePrice": null,
      "deposit": 500,
      "monthlyRent": 45,
      "feeCalc": null,
      "agreedFee": null,
      "assignee": "S-003",
      "reportChecked": null,
      "campaignId": "P-001",
      "holdReason": null,
      "unpaidReason": null,
      "stageHistory": [
        {
          "at": "2026-08-25",
          "from": null,
          "to": "매물 확보",
          "by": "S-003",
          "note": null
        },
        {
          "at": "2026-08-27",
          "from": "매물 확보",
          "to": "광고 중",
          "by": "S-003",
          "note": null
        }
      ],
      "notes": null
    },
    {
      "id": "D-003",
      "listingId": "R-006",
      "customerId": null,
      "dealType": "월세",
      "propertyClass": "특례 오피스텔",
      "stage": "광고 중",
      "stageChangedAt": "2026-09-21",
      "contractDate": null,
      "balanceDate": null,
      "paymentCompletedAt": null,
      "salePrice": null,
      "deposit": 1000,
      "monthlyRent": 65,
      "feeCalc": null,
      "agreedFee": null,
      "assignee": "S-004",
      "reportChecked": null,
      "campaignId": null,
      "holdReason": null,
      "unpaidReason": null,
      "stageHistory": [
        {
          "at": "2026-09-18",
          "from": null,
          "to": "매물 확보",
          "by": "S-004",
          "note": null
        },
        {
          "at": "2026-09-21",
          "from": "매물 확보",
          "to": "광고 중",
          "by": "S-004",
          "note": null
        }
      ],
      "notes": null
    },
    {
      "id": "D-004",
      "listingId": "R-010",
      "customerId": "C-001",
      "dealType": "월세",
      "propertyClass": "주택",
      "stage": "상담",
      "stageChangedAt": "2026-09-18",
      "contractDate": null,
      "balanceDate": null,
      "paymentCompletedAt": null,
      "salePrice": null,
      "deposit": 500,
      "monthlyRent": 50,
      "feeCalc": null,
      "agreedFee": null,
      "assignee": "S-002",
      "reportChecked": null,
      "campaignId": "P-001",
      "holdReason": null,
      "unpaidReason": null,
      "stageHistory": [
        {
          "at": "2026-09-12",
          "from": null,
          "to": "매물 확보",
          "by": "S-003",
          "note": null
        },
        {
          "at": "2026-09-14",
          "from": "매물 확보",
          "to": "광고 중",
          "by": "S-003",
          "note": null
        },
        {
          "at": "2026-09-18",
          "from": "광고 중",
          "to": "상담",
          "by": "S-002",
          "note": null
        }
      ],
      "notes": null
    },
    {
      "id": "D-005",
      "listingId": "R-003",
      "customerId": "C-003",
      "dealType": "매매",
      "propertyClass": "주택",
      "stage": "상담",
      "stageChangedAt": "2026-09-20",
      "contractDate": null,
      "balanceDate": null,
      "paymentCompletedAt": null,
      "salePrice": 48500,
      "deposit": null,
      "monthlyRent": null,
      "feeCalc": null,
      "agreedFee": null,
      "assignee": "S-001",
      "reportChecked": null,
      "campaignId": null,
      "holdReason": null,
      "unpaidReason": null,
      "stageHistory": [
        {
          "at": "2026-09-09",
          "from": null,
          "to": "매물 확보",
          "by": "S-001",
          "note": null
        },
        {
          "at": "2026-09-15",
          "from": "매물 확보",
          "to": "광고 중",
          "by": "S-001",
          "note": null
        },
        {
          "at": "2026-09-20",
          "from": "광고 중",
          "to": "상담",
          "by": "S-001",
          "note": null
        }
      ],
      "notes": null
    },
    {
      "id": "D-006",
      "listingId": "R-004",
      "customerId": "C-004",
      "dealType": "월세",
      "propertyClass": "주택",
      "stage": "계약",
      "stageChangedAt": "2026-09-23",
      "contractDate": "2026-09-23",
      "balanceDate": "2026-10-14",
      "paymentCompletedAt": null,
      "salePrice": null,
      "deposit": 1000,
      "monthlyRent": 60,
      "feeCalc": {
        "upper": 280000,
        "tradeAmount": 70000000,
        "rateText": "0.4%",
        "limitAmount": 300000,
        "formula": "보증금 10,000,000원 + 월 차임 600,000원 × 100 = 70,000,000원 × 0.4% = 280,000원(한도액 300,000원 이내)",
        "basisIds": [
          "실무 RAG C09-005",
          "실무 RAG C09-007"
        ],
        "region": "대구광역시",
        "calculatedAt": "2026-09-23",
        "engine": "샘플 기록(tools/gen_office.py, SPEC 13절 규칙)"
      },
      "agreedFee": null,
      "assignee": "S-002",
      "reportChecked": null,
      "campaignId": null,
      "holdReason": null,
      "unpaidReason": null,
      "stageHistory": [
        {
          "at": "2026-09-15",
          "from": null,
          "to": "매물 확보",
          "by": "S-002",
          "note": null
        },
        {
          "at": "2026-09-19",
          "from": "매물 확보",
          "to": "광고 중",
          "by": "S-002",
          "note": null
        },
        {
          "at": "2026-09-21",
          "from": "광고 중",
          "to": "상담",
          "by": "S-002",
          "note": null
        },
        {
          "at": "2026-09-23",
          "from": "상담",
          "to": "계약",
          "by": "S-002",
          "note": null
        }
      ],
      "notes": null
    },
    {
      "id": "D-007",
      "listingId": "R-012",
      "customerId": "C-007",
      "dealType": "매매",
      "propertyClass": "특례 오피스텔",
      "stage": "계약",
      "stageChangedAt": "2026-09-14",
      "contractDate": "2026-09-14",
      "balanceDate": "2026-09-29",
      "paymentCompletedAt": null,
      "salePrice": 21000,
      "deposit": null,
      "monthlyRent": null,
      "feeCalc": {
        "upper": 1050000,
        "tradeAmount": 210000000,
        "rateText": "0.5%",
        "limitAmount": null,
        "formula": "210,000,000원 × 0.5% = 1,050,000원",
        "basisIds": [
          "실무 RAG C09-003",
          "실무 RAG C09-004",
          "실무 RAG C09-012",
          "실무 RAG C09-013"
        ],
        "region": "대구광역시",
        "calculatedAt": "2026-09-14",
        "engine": "샘플 기록(tools/gen_office.py, SPEC 13절 규칙)"
      },
      "agreedFee": 900000,
      "assignee": "S-001",
      "reportChecked": null,
      "campaignId": "P-002",
      "holdReason": null,
      "unpaidReason": null,
      "stageHistory": [
        {
          "at": "2026-08-30",
          "from": null,
          "to": "매물 확보",
          "by": "S-001",
          "note": null
        },
        {
          "at": "2026-09-04",
          "from": "매물 확보",
          "to": "광고 중",
          "by": "S-001",
          "note": null
        },
        {
          "at": "2026-09-10",
          "from": "광고 중",
          "to": "상담",
          "by": "S-001",
          "note": null
        },
        {
          "at": "2026-09-14",
          "from": "상담",
          "to": "계약",
          "by": "S-001",
          "note": null
        }
      ],
      "notes": null
    },
    {
      "id": "D-008",
      "listingId": "R-008",
      "customerId": "C-005",
      "dealType": "전세",
      "propertyClass": "주택",
      "stage": "잔금",
      "stageChangedAt": "2026-09-23",
      "contractDate": "2026-08-20",
      "balanceDate": "2026-09-24",
      "paymentCompletedAt": null,
      "salePrice": null,
      "deposit": 32000,
      "monthlyRent": null,
      "feeCalc": {
        "upper": 960000,
        "tradeAmount": 320000000,
        "rateText": "0.3%",
        "limitAmount": null,
        "formula": "320,000,000원 × 0.3% = 960,000원",
        "basisIds": [
          "실무 RAG C09-005"
        ],
        "region": "대구광역시",
        "calculatedAt": "2026-08-20",
        "engine": "샘플 기록(tools/gen_office.py, SPEC 13절 규칙)"
      },
      "agreedFee": 960000,
      "assignee": "S-002",
      "reportChecked": null,
      "campaignId": null,
      "holdReason": null,
      "unpaidReason": null,
      "stageHistory": [
        {
          "at": "2026-08-05",
          "from": null,
          "to": "매물 확보",
          "by": "S-002",
          "note": null
        },
        {
          "at": "2026-08-10",
          "from": "매물 확보",
          "to": "광고 중",
          "by": "S-002",
          "note": null
        },
        {
          "at": "2026-08-15",
          "from": "광고 중",
          "to": "상담",
          "by": "S-002",
          "note": null
        },
        {
          "at": "2026-08-20",
          "from": "상담",
          "to": "계약",
          "by": "S-002",
          "note": null
        },
        {
          "at": "2026-09-23",
          "from": "계약",
          "to": "잔금",
          "by": "S-002",
          "note": null
        }
      ],
      "notes": null
    },
    {
      "id": "D-009",
      "listingId": "R-014",
      "customerId": "C-009",
      "dealType": "매매",
      "propertyClass": "주택",
      "stage": "사후관리",
      "stageChangedAt": "2026-09-04",
      "contractDate": "2026-08-05",
      "balanceDate": "2026-09-04",
      "paymentCompletedAt": "2026-09-04",
      "salePrice": 35000,
      "deposit": null,
      "monthlyRent": null,
      "feeCalc": {
        "upper": 1400000,
        "tradeAmount": 350000000,
        "rateText": "0.4%",
        "limitAmount": null,
        "formula": "350,000,000원 × 0.4% = 1,400,000원",
        "basisIds": [
          "실무 RAG C09-003",
          "실무 RAG C09-004"
        ],
        "region": "대구광역시",
        "calculatedAt": "2026-08-05",
        "engine": "샘플 기록(tools/gen_office.py, SPEC 13절 규칙)"
      },
      "agreedFee": 1400000,
      "assignee": "S-001",
      "reportChecked": "예",
      "campaignId": null,
      "holdReason": null,
      "unpaidReason": null,
      "stageHistory": [
        {
          "at": "2026-07-16",
          "from": null,
          "to": "매물 확보",
          "by": "S-001",
          "note": null
        },
        {
          "at": "2026-07-21",
          "from": "매물 확보",
          "to": "광고 중",
          "by": "S-001",
          "note": null
        },
        {
          "at": "2026-07-28",
          "from": "광고 중",
          "to": "상담",
          "by": "S-001",
          "note": null
        },
        {
          "at": "2026-08-05",
          "from": "상담",
          "to": "계약",
          "by": "S-001",
          "note": null
        },
        {
          "at": "2026-09-03",
          "from": "계약",
          "to": "잔금",
          "by": "S-001",
          "note": null
        },
        {
          "at": "2026-09-04",
          "from": "잔금",
          "to": "사후관리",
          "by": "S-001",
          "note": null
        }
      ],
      "notes": null
    },
    {
      "id": "D-010",
      "listingId": "R-011",
      "customerId": "C-002",
      "dealType": "전세",
      "propertyClass": "주택",
      "stage": "종결",
      "stageChangedAt": "2026-07-31",
      "contractDate": "2026-07-06",
      "balanceDate": "2026-07-26",
      "paymentCompletedAt": "2026-07-26",
      "salePrice": null,
      "deposit": 15000,
      "monthlyRent": null,
      "feeCalc": {
        "upper": 450000,
        "tradeAmount": 150000000,
        "rateText": "0.3%",
        "limitAmount": null,
        "formula": "150,000,000원 × 0.3% = 450,000원",
        "basisIds": [
          "실무 RAG C09-005"
        ],
        "region": "대구광역시",
        "calculatedAt": "2026-07-06",
        "engine": "샘플 기록(tools/gen_office.py, SPEC 13절 규칙)"
      },
      "agreedFee": 450000,
      "assignee": "S-002",
      "reportChecked": "예",
      "campaignId": null,
      "holdReason": null,
      "unpaidReason": null,
      "stageHistory": [
        {
          "at": "2026-06-16",
          "from": null,
          "to": "매물 확보",
          "by": "S-002",
          "note": null
        },
        {
          "at": "2026-06-21",
          "from": "매물 확보",
          "to": "광고 중",
          "by": "S-002",
          "note": null
        },
        {
          "at": "2026-06-28",
          "from": "광고 중",
          "to": "상담",
          "by": "S-002",
          "note": null
        },
        {
          "at": "2026-07-06",
          "from": "상담",
          "to": "계약",
          "by": "S-002",
          "note": null
        },
        {
          "at": "2026-07-25",
          "from": "계약",
          "to": "잔금",
          "by": "S-002",
          "note": null
        },
        {
          "at": "2026-07-26",
          "from": "잔금",
          "to": "사후관리",
          "by": "S-002",
          "note": null
        },
        {
          "at": "2026-07-31",
          "from": "사후관리",
          "to": "종결",
          "by": "S-002",
          "note": null
        }
      ],
      "notes": null
    },
    {
      "id": "D-011",
      "listingId": "R-016",
      "customerId": "C-002",
      "dealType": "전세",
      "propertyClass": "특례 오피스텔",
      "stage": "보류",
      "stageChangedAt": "2026-09-17",
      "contractDate": null,
      "balanceDate": null,
      "paymentCompletedAt": null,
      "salePrice": null,
      "deposit": 16500,
      "monthlyRent": null,
      "feeCalc": null,
      "agreedFee": null,
      "assignee": "S-004",
      "reportChecked": null,
      "campaignId": null,
      "holdReason": "의뢰인 일정 변경으로 보류(가상)",
      "unpaidReason": null,
      "stageHistory": [
        {
          "at": "2026-09-04",
          "from": null,
          "to": "매물 확보",
          "by": "S-004",
          "note": null
        },
        {
          "at": "2026-09-08",
          "from": "매물 확보",
          "to": "광고 중",
          "by": "S-004",
          "note": null
        },
        {
          "at": "2026-09-12",
          "from": "광고 중",
          "to": "상담",
          "by": "S-002",
          "note": null
        },
        {
          "at": "2026-09-17",
          "from": "상담",
          "to": "보류",
          "by": "S-002",
          "note": null
        }
      ],
      "notes": null
    },
    {
      "id": "D-012",
      "listingId": "R-021",
      "customerId": "C-010",
      "dealType": "월세",
      "propertyClass": "주택 외",
      "stage": "계약",
      "stageChangedAt": "2026-09-20",
      "contractDate": "2026-09-20",
      "balanceDate": "2026-10-20",
      "paymentCompletedAt": null,
      "salePrice": null,
      "deposit": 3000,
      "monthlyRent": 180,
      "feeCalc": {
        "upper": 1890000,
        "tradeAmount": 210000000,
        "rateText": "0.9%",
        "limitAmount": null,
        "formula": "보증금 30,000,000원 + 월 차임 1,800,000원 × 100 = 210,000,000원 × 0.9% = 1,890,000원",
        "basisIds": [
          "실무 RAG C09-005",
          "실무 RAG C09-007",
          "실무 RAG C09-014",
          "실무 RAG C09-016"
        ],
        "region": "대구광역시",
        "calculatedAt": "2026-09-20",
        "engine": "샘플 기록(tools/gen_office.py, SPEC 13절 규칙)"
      },
      "agreedFee": 1500000,
      "assignee": "S-001",
      "reportChecked": null,
      "campaignId": "P-002",
      "holdReason": null,
      "unpaidReason": null,
      "stageHistory": [
        {
          "at": "2026-08-25",
          "from": null,
          "to": "매물 확보",
          "by": "S-001",
          "note": null
        },
        {
          "at": "2026-08-31",
          "from": "매물 확보",
          "to": "광고 중",
          "by": "S-001",
          "note": null
        },
        {
          "at": "2026-09-09",
          "from": "광고 중",
          "to": "상담",
          "by": "S-001",
          "note": null
        },
        {
          "at": "2026-09-20",
          "from": "상담",
          "to": "계약",
          "by": "S-001",
          "note": null
        }
      ],
      "notes": null
    }
  ],
  "staff": [
    {
      "id": "S-001",
      "role": "대표 개업공인중개사",
      "employReportedAt": null,
      "startDate": "2024-04-07",
      "endDate": null,
      "endReportedAt": null,
      "sealRegistered": "예",
      "sealChangedAt": null,
      "practicalEduDate": "2023-12-29",
      "refresherEduDate": "2024-10-24",
      "dutyEduDate": null,
      "notes": "연수교육 다음 기한 60일 이내(샘플)"
    },
    {
      "id": "S-002",
      "role": "소속공인중개사",
      "employReportedAt": "2025-08-20",
      "startDate": "2025-08-21",
      "endDate": null,
      "endReportedAt": null,
      "sealRegistered": "예",
      "sealChangedAt": null,
      "practicalEduDate": "2025-07-31",
      "refresherEduDate": null,
      "dutyEduDate": null,
      "notes": null
    },
    {
      "id": "S-003",
      "role": "중개보조원",
      "employReportedAt": "2026-03-08",
      "startDate": "2026-03-09",
      "endDate": null,
      "endReportedAt": null,
      "sealRegistered": null,
      "sealChangedAt": null,
      "practicalEduDate": null,
      "refresherEduDate": null,
      "dutyEduDate": "2026-03-03",
      "notes": null
    },
    {
      "id": "S-004",
      "role": "중개보조원",
      "employReportedAt": null,
      "startDate": "2026-10-01",
      "endDate": null,
      "endReportedAt": null,
      "sealRegistered": null,
      "sealChangedAt": null,
      "practicalEduDate": null,
      "refresherEduDate": null,
      "dutyEduDate": null,
      "notes": "업무개시 전 고용 신고·직무교육 확인 필요(샘플)"
    },
    {
      "id": "S-005",
      "role": "중개보조원",
      "employReportedAt": "2025-11-27",
      "startDate": "2025-11-28",
      "endDate": "2026-09-21",
      "endReportedAt": null,
      "sealRegistered": null,
      "sealChangedAt": null,
      "practicalEduDate": null,
      "refresherEduDate": null,
      "dutyEduDate": "2025-11-23",
      "notes": "종료 신고 전(샘플)"
    }
  ],
  "campaigns": [
    {
      "id": "P-001",
      "purpose": "원룸·1.5룸 월세 매물 알리기(가상)",
      "startDate": "2026-08-25",
      "endDate": "2026-10-04",
      "channels": [
        "다방",
        "블로그"
      ],
      "budget": 60,
      "listingIds": [
        "R-001",
        "R-010"
      ],
      "owner": "S-003",
      "status": "진행",
      "calendar": [
        {
          "date": "2026-08-27",
          "channel": "다방",
          "outputType": "M04 상세페이지",
          "listingId": "R-001",
          "assignee": "S-003",
          "fileName": null,
          "adLogId": "AD-001"
        },
        {
          "date": "2026-09-14",
          "channel": "다방",
          "outputType": "M04 상세페이지",
          "listingId": "R-010",
          "assignee": "S-003",
          "fileName": null,
          "adLogId": "AD-004"
        },
        {
          "date": "2026-09-19",
          "channel": "블로그",
          "outputType": "M02 문구",
          "listingId": "R-010",
          "assignee": "S-003",
          "fileName": null,
          "adLogId": null
        },
        {
          "date": "2026-09-28",
          "channel": "블로그",
          "outputType": "M02 문구",
          "listingId": "R-001",
          "assignee": "S-003",
          "fileName": null,
          "adLogId": null
        }
      ],
      "notes": null
    },
    {
      "id": "P-002",
      "purpose": "사무소 알리기 SNS·유리창(가상)",
      "startDate": "2026-08-10",
      "endDate": "2026-09-19",
      "channels": [
        "SNS",
        "유리창"
      ],
      "budget": 30,
      "listingIds": [
        "R-012",
        "R-021"
      ],
      "owner": "S-001",
      "status": "종료",
      "calendar": [
        {
          "date": "2026-08-15",
          "channel": "SNS",
          "outputType": "M11 홍보물",
          "listingId": null,
          "assignee": "S-001",
          "fileName": null,
          "adLogId": null
        },
        {
          "date": "2026-08-25",
          "channel": "유리창",
          "outputType": "M03 카드",
          "listingId": "R-012",
          "assignee": "S-001",
          "fileName": null,
          "adLogId": null
        },
        {
          "date": "2026-09-04",
          "channel": "유리창",
          "outputType": "M03 카드",
          "listingId": "R-021",
          "assignee": "S-001",
          "fileName": null,
          "adLogId": null
        }
      ],
      "notes": null
    },
    {
      "id": "P-003",
      "purpose": "가을 매매 매물 소개(가상)",
      "startDate": "2026-09-26",
      "endDate": "2026-10-26",
      "channels": [
        "블로그",
        "SNS"
      ],
      "budget": 50,
      "listingIds": [
        "R-003",
        "R-018"
      ],
      "owner": "S-002",
      "status": "기획",
      "calendar": [
        {
          "date": "2026-09-27",
          "channel": "블로그",
          "outputType": "M02 문구",
          "listingId": "R-003",
          "assignee": "S-002",
          "fileName": null,
          "adLogId": null
        },
        {
          "date": "2026-09-30",
          "channel": "SNS",
          "outputType": "M11 홍보물",
          "listingId": "R-018",
          "assignee": "S-002",
          "fileName": null,
          "adLogId": null
        }
      ],
      "notes": "기획 단계(샘플)"
    }
  ],
  "ledgerEntries": [
    {
      "id": "L-0001",
      "date": "2026-07-28",
      "type": "매출",
      "item": "중개보수",
      "amount": 450000,
      "dealId": "D-010",
      "campaignId": null,
      "party": "임대인",
      "billedAt": "2026-07-26",
      "dueDate": "2026-07-26",
      "receivedAt": "2026-07-27",
      "receivedAmount": 450000,
      "receiptAttached": null,
      "memo": "잔금일 청구(가상)",
      "history": []
    },
    {
      "id": "L-0002",
      "date": "2026-07-28",
      "type": "매출",
      "item": "중개보수",
      "amount": 450000,
      "dealId": "D-010",
      "campaignId": null,
      "party": "임차인",
      "billedAt": "2026-07-26",
      "dueDate": "2026-07-26",
      "receivedAt": "2026-07-28",
      "receivedAmount": 450000,
      "receiptAttached": null,
      "memo": "잔금일 청구(가상)",
      "history": []
    },
    {
      "id": "L-0003",
      "date": "2026-09-05",
      "type": "매출",
      "item": "중개보수",
      "amount": 1400000,
      "dealId": "D-009",
      "campaignId": null,
      "party": "매도인",
      "billedAt": "2026-09-04",
      "dueDate": "2026-09-04",
      "receivedAt": "2026-09-05",
      "receivedAmount": 1400000,
      "receiptAttached": null,
      "memo": "잔금일 청구(가상)",
      "history": []
    },
    {
      "id": "L-0004",
      "date": "2026-09-05",
      "type": "매출",
      "item": "중개보수",
      "amount": 1400000,
      "dealId": "D-009",
      "campaignId": null,
      "party": "매수인",
      "billedAt": "2026-09-04",
      "dueDate": "2026-09-04",
      "receivedAt": "2026-09-06",
      "receivedAmount": 1000000,
      "receiptAttached": null,
      "memo": "일부 입금, 나머지 약정일 확인 필요(가상)",
      "history": []
    },
    {
      "id": "L-0005",
      "date": "2026-09-05",
      "type": "매출",
      "item": "실비",
      "amount": 30000,
      "dealId": "D-009",
      "campaignId": null,
      "party": "매수인",
      "billedAt": "2026-09-04",
      "dueDate": "2026-09-04",
      "receivedAt": "2026-09-06",
      "receivedAmount": 30000,
      "receiptAttached": "예",
      "memo": "공부 열람 수수료 영수증 첨부(가상)",
      "history": []
    },
    {
      "id": "L-0006",
      "date": "2026-09-23",
      "type": "매출",
      "item": "중개보수",
      "amount": 960000,
      "dealId": "D-008",
      "campaignId": null,
      "party": "임대인",
      "billedAt": "2026-09-23",
      "dueDate": "2026-09-24",
      "receivedAt": null,
      "receivedAmount": null,
      "receiptAttached": null,
      "memo": "잔금일 입금 예정(가상)",
      "history": []
    },
    {
      "id": "L-0007",
      "date": "2026-09-23",
      "type": "매출",
      "item": "중개보수",
      "amount": 960000,
      "dealId": "D-008",
      "campaignId": null,
      "party": "임차인",
      "billedAt": "2026-09-23",
      "dueDate": "2026-09-24",
      "receivedAt": null,
      "receivedAmount": null,
      "receiptAttached": null,
      "memo": "잔금일 입금 예정(가상)",
      "history": []
    },
    {
      "id": "L-0008",
      "date": "2026-06-28",
      "type": "비용",
      "item": "플랫폼 상품비",
      "amount": 200000,
      "dealId": null,
      "campaignId": null,
      "party": null,
      "billedAt": null,
      "dueDate": null,
      "receivedAt": null,
      "receivedAmount": null,
      "receiptAttached": null,
      "memo": "다방 광고 상품(가상)",
      "history": []
    },
    {
      "id": "L-0009",
      "date": "2026-07-06",
      "type": "비용",
      "item": "기타",
      "amount": 45000,
      "dealId": null,
      "campaignId": null,
      "party": null,
      "billedAt": null,
      "dueDate": null,
      "receivedAt": null,
      "receivedAmount": null,
      "receiptAttached": null,
      "memo": "사무용품(가상)",
      "history": []
    },
    {
      "id": "L-0010",
      "date": "2026-07-14",
      "type": "비용",
      "item": "광고비",
      "amount": 90000,
      "dealId": null,
      "campaignId": null,
      "party": null,
      "billedAt": null,
      "dueDate": null,
      "receivedAt": null,
      "receivedAmount": null,
      "receiptAttached": null,
      "memo": "블로그 이미지 인쇄(가상)",
      "history": []
    },
    {
      "id": "L-0011",
      "date": "2026-07-28",
      "type": "비용",
      "item": "플랫폼 상품비",
      "amount": 200000,
      "dealId": null,
      "campaignId": null,
      "party": null,
      "billedAt": null,
      "dueDate": null,
      "receivedAt": null,
      "receivedAmount": null,
      "receiptAttached": null,
      "memo": "다방 광고 상품(가상)",
      "history": []
    },
    {
      "id": "L-0012",
      "date": "2026-08-05",
      "type": "비용",
      "item": "실비",
      "amount": 12000,
      "dealId": "D-009",
      "campaignId": null,
      "party": null,
      "billedAt": null,
      "dueDate": null,
      "receivedAt": null,
      "receivedAmount": null,
      "receiptAttached": null,
      "memo": "등기사항증명서 발급(가상)",
      "history": []
    },
    {
      "id": "L-0013",
      "date": "2026-08-11",
      "type": "비용",
      "item": "광고비",
      "amount": 120000,
      "dealId": null,
      "campaignId": "P-002",
      "party": null,
      "billedAt": null,
      "dueDate": null,
      "receivedAt": null,
      "receivedAmount": null,
      "receiptAttached": null,
      "memo": "SNS 광고 집행(가상)",
      "history": []
    },
    {
      "id": "L-0014",
      "date": "2026-08-17",
      "type": "비용",
      "item": "기타",
      "amount": 30000,
      "dealId": null,
      "campaignId": null,
      "party": null,
      "billedAt": null,
      "dueDate": null,
      "receivedAt": null,
      "receivedAmount": null,
      "receiptAttached": null,
      "memo": "사무실 소모품(가상)",
      "history": []
    },
    {
      "id": "L-0015",
      "date": "2026-08-24",
      "type": "비용",
      "item": "광고비",
      "amount": 80000,
      "dealId": null,
      "campaignId": "P-002",
      "party": null,
      "billedAt": null,
      "dueDate": null,
      "receivedAt": null,
      "receivedAmount": null,
      "receiptAttached": null,
      "memo": "유리창 광고 출력(가상)",
      "history": []
    },
    {
      "id": "L-0016",
      "date": "2026-08-26",
      "type": "비용",
      "item": "플랫폼 상품비",
      "amount": 200000,
      "dealId": null,
      "campaignId": "P-001",
      "party": null,
      "billedAt": null,
      "dueDate": null,
      "receivedAt": null,
      "receivedAmount": null,
      "receiptAttached": null,
      "memo": "다방 광고 상품(가상)",
      "history": []
    },
    {
      "id": "L-0017",
      "date": "2026-08-28",
      "type": "비용",
      "item": "광고비",
      "amount": 150000,
      "dealId": null,
      "campaignId": "P-001",
      "party": null,
      "billedAt": null,
      "dueDate": null,
      "receivedAt": null,
      "receivedAmount": null,
      "receiptAttached": null,
      "memo": "블로그 광고 집행(가상)",
      "history": []
    },
    {
      "id": "L-0018",
      "date": "2026-09-03",
      "type": "비용",
      "item": "광고비",
      "amount": 60000,
      "dealId": null,
      "campaignId": "P-002",
      "party": null,
      "billedAt": null,
      "dueDate": null,
      "receivedAt": null,
      "receivedAmount": null,
      "receiptAttached": null,
      "memo": "유리창 광고 출력(가상)",
      "history": []
    },
    {
      "id": "L-0019",
      "date": "2026-09-12",
      "type": "비용",
      "item": "실비",
      "amount": 15000,
      "dealId": "D-007",
      "campaignId": null,
      "party": null,
      "billedAt": null,
      "dueDate": null,
      "receivedAt": null,
      "receivedAmount": null,
      "receiptAttached": null,
      "memo": "건축물대장 열람(가상)",
      "history": []
    },
    {
      "id": "L-0020",
      "date": "2026-09-15",
      "type": "비용",
      "item": "광고비",
      "amount": 100000,
      "dealId": null,
      "campaignId": "P-001",
      "party": null,
      "billedAt": null,
      "dueDate": null,
      "receivedAt": null,
      "receivedAmount": null,
      "receiptAttached": null,
      "memo": "블로그 광고 집행(가상)",
      "history": [
        {
          "at": "2026-09-16",
          "key": "amount",
          "before": 120000,
          "after": 100000
        }
      ]
    },
    {
      "id": "L-0021",
      "date": "2026-09-18",
      "type": "비용",
      "item": "기타",
      "amount": 25000,
      "dealId": null,
      "campaignId": null,
      "party": null,
      "billedAt": null,
      "dueDate": null,
      "receivedAt": null,
      "receivedAmount": null,
      "receiptAttached": null,
      "memo": "현장 방문 교통비(가상)",
      "history": []
    },
    {
      "id": "L-0022",
      "date": "2026-09-22",
      "type": "비용",
      "item": "광고비",
      "amount": 40000,
      "dealId": null,
      "campaignId": "P-001",
      "party": null,
      "billedAt": null,
      "dueDate": null,
      "receivedAt": null,
      "receivedAmount": null,
      "receiptAttached": null,
      "memo": "블로그 사진 보정 외주(가상)",
      "history": []
    }
  ],
  "discloseChecks": [],
  "certs": [
    {
      "id": "K-001",
      "kind": "중개사무소 등록증",
      "target": "사무소",
      "number": "견본-0001",
      "issueDate": "2024-04-07",
      "issuer": "가상구청(가상)",
      "validFrom": null,
      "validTo": null,
      "posted": "예",
      "postCheckedAt": "2026-09-14",
      "readJobId": null,
      "humanCheckedAt": "2026-09-14",
      "notes": "샘플(가상 견본)"
    },
    {
      "id": "K-002",
      "kind": "사업자등록증",
      "target": "사무소",
      "number": "견본-0002",
      "issueDate": "2024-04-12",
      "issuer": "가상세무서(가상)",
      "validFrom": null,
      "validTo": null,
      "posted": "예",
      "postCheckedAt": "2026-09-14",
      "readJobId": null,
      "humanCheckedAt": "2026-09-14",
      "notes": null
    },
    {
      "id": "K-003",
      "kind": "공인중개사자격증",
      "target": "S-001",
      "number": "견본-0003",
      "issueDate": "2018-07-08",
      "issuer": "가상시(가상)",
      "validFrom": null,
      "validTo": null,
      "posted": "예",
      "postCheckedAt": "2026-09-14",
      "readJobId": null,
      "humanCheckedAt": "2026-09-14",
      "notes": null
    },
    {
      "id": "K-004",
      "kind": "공인중개사자격증",
      "target": "S-002",
      "number": "견본-0004",
      "issueDate": "2023-06-12",
      "issuer": "가상시(가상)",
      "validFrom": null,
      "validTo": null,
      "posted": "아니오",
      "postCheckedAt": null,
      "readJobId": null,
      "humanCheckedAt": "2026-08-25",
      "notes": "원본 게시 확인 필요(샘플)"
    },
    {
      "id": "K-005",
      "kind": "보증 증명서류",
      "target": "사무소",
      "number": "견본-0005",
      "issueDate": "2025-10-19",
      "issuer": "가상공제(가상)",
      "validFrom": "2025-10-19",
      "validTo": "2026-10-19",
      "posted": "예",
      "postCheckedAt": "2026-09-14",
      "readJobId": null,
      "humanCheckedAt": "2026-09-14",
      "notes": "보장 종료 30일 전 알림 사례(샘플)"
    },
    {
      "id": "K-006",
      "kind": "교육 수료증",
      "target": "S-002",
      "number": "견본-0006",
      "issueDate": "2025-07-31",
      "issuer": "가상교육기관(가상)",
      "validFrom": null,
      "validTo": null,
      "posted": "해당 없음",
      "postCheckedAt": null,
      "readJobId": null,
      "humanCheckedAt": "2025-08-20",
      "notes": "실무교육 수료(샘플), 연수교육 다음 기한은 14_직원"
    },
    {
      "id": "K-007",
      "kind": "중개보수 요율·한도액표",
      "target": "사무소",
      "number": null,
      "issueDate": null,
      "issuer": null,
      "validFrom": null,
      "validTo": null,
      "posted": "예",
      "postCheckedAt": "2026-09-14",
      "readJobId": null,
      "humanCheckedAt": null,
      "notes": "시·도 조례 요율표 게시(샘플)"
    }
  ],
  "resultFiles": [],
  "workJournal": [],
  "staffAssignments": [],
  "staffTaskDone": [],
  "counts": {},
  "provenance": {},
  "notice": "가명 데이터(매물·고객·거래·직원·캠페인·전표 가명 ID). 고객원장(실명)·직원 표시 이름은 이 파일에 넣지 않음"
}
