{
    "success": true,
    "project": "KTCB202",
    "from": "2026-06-01",
    "to": "2026-06-12",
    "ecm": "all",
    "ecm_total": 5,
    "source_table": "readings",
    "correction": {
        "c1_offset_l": 300,
        "c2_offset_l": 300,
        "tank_max_l": 1000
    },
    "pricing": {
        "c1_price_per_l": 0.1,
        "c2_price_per_l": 0.1
    },
    "totals": {
        "c1_usage": 3590.45,
        "c2_usage": 990.1,
        "c1_cost": 359.05,
        "c2_cost": 99.01,
        "grand_total": 458.06
    },
    "rows": [
        {
            "date": "2026-06-01",
            "ecm_id": 1,
            "duration": "12:00 AM - 11:59 PM",
            "c1_usage": 37.15,
            "c2_usage": 20.14
        },
        {
            "date": "2026-06-02",
            "ecm_id": 1,
            "duration": "12:00 AM - 11:59 PM",
            "c1_usage": 51.7,
            "c2_usage": 16.16
        },
        {
            "date": "2026-06-03",
            "ecm_id": 1,
            "duration": "12:00 AM - 11:59 PM",
            "c1_usage": 31.93,
            "c2_usage": 11.27
        },
        {
            "date": "2026-06-04",
            "ecm_id": 2,
            "duration": "12:00 AM - 11:59 PM",
            "c1_usage": 1.77,
            "c2_usage": 0
        },
        {
            "date": "2026-06-05",
            "ecm_id": 2,
            "duration": "12:00 AM - 11:59 PM",
            "c1_usage": 0,
            "c2_usage": 0
        },
        {
            "date": "2026-06-06",
            "ecm_id": 2,
            "duration": "12:00 AM - 11:59 PM",
            "c1_usage": 21.1,
            "c2_usage": 12.82
        },
        {
            "date": "2026-06-07",
            "ecm_id": 2,
            "duration": "12:00 AM - 11:59 PM",
            "c1_usage": 2.2,
            "c2_usage": 5.02
        },
        {
            "date": "2026-06-08",
            "ecm_id": 1,
            "duration": "12:00 AM - 11:59 PM",
            "c1_usage": 6.96,
            "c2_usage": 3.91
        },
        {
            "date": "2026-06-08",
            "ecm_id": 2,
            "duration": "12:00 AM - 11:59 PM",
            "c1_usage": 249.98,
            "c2_usage": 85.75
        },
        {
            "date": "2026-06-09",
            "ecm_id": 1,
            "duration": "12:00 AM - 11:59 PM",
            "c1_usage": 1265.28,
            "c2_usage": 179.59
        },
        {
            "date": "2026-06-09",
            "ecm_id": 2,
            "duration": "12:00 AM - 11:59 PM",
            "c1_usage": 487.78,
            "c2_usage": 174.62
        },
        {
            "date": "2026-06-10",
            "ecm_id": 1,
            "duration": "12:00 AM - 11:59 PM",
            "c1_usage": 81.39,
            "c2_usage": 39.02
        },
        {
            "date": "2026-06-10",
            "ecm_id": 2,
            "duration": "12:00 AM - 11:59 PM",
            "c1_usage": 317.53,
            "c2_usage": 137.68
        },
        {
            "date": "2026-06-11",
            "ecm_id": 1,
            "duration": "12:00 AM - 11:59 PM",
            "c1_usage": 160.67,
            "c2_usage": 50.46
        },
        {
            "date": "2026-06-11",
            "ecm_id": 2,
            "duration": "12:00 AM - 11:59 PM",
            "c1_usage": 457.54,
            "c2_usage": 129.73
        },
        {
            "date": "2026-06-12",
            "ecm_id": 1,
            "duration": "12:00 AM - 11:59 PM",
            "c1_usage": 145.46,
            "c2_usage": 54.5
        },
        {
            "date": "2026-06-12",
            "ecm_id": 2,
            "duration": "12:00 AM - 11:59 PM",
            "c1_usage": 272.01,
            "c2_usage": 69.43
        }
    ]
}