{"meta":{"plant_id":"DEMO-PLANT-01","data_mode":"demo","demo":true,"generated_at":"2026-11-15T20:25:05+05:00","record_scope":"approved","resolution":"shift_aggregate","source":"DEMO synthetic data generator — not company data","units":{"volume":"m³","flow_rate":"m³/h","tds":"mg/L","pressure":"bar","conductivity":"µS/cm","temperature":"°C","hours":"h","percent":"%"},"period":{"from":"2026-11-09","to":"2026-11-15"}},"data":{"shifts":[{"record_id":"DEMO-SHIFT-2026-11-09-A","source_record_id":"demo-portal:ro_shift:2026-11-09:A","plant_id":"DEMO-PLANT-01","date":"2026-11-09","shift":"A","operator":"Demo Operator A","approval":"approved","measured_at":"2026-11-09T14:00:00+05:00","updated_at":"2026-11-09T14:15:00+05:00","feed":75.4,"permeate":53.4,"reject":21.8,"feed_tds":1914,"permeate_tds":34.9,"feed_pressure":2.8,"operating_pressure":13.51,"differential_pressure":0.91,"running_hours":4.5,"shutdown_hours":3.5,"downtime_reason":"Membrane cleaning (CIP)","remarks":"Membrane cleaning (CIP) (demo remark)"},{"record_id":"DEMO-SHIFT-2026-11-09-B","source_record_id":"demo-portal:ro_shift:2026-11-09:B","plant_id":"DEMO-PLANT-01","date":"2026-11-09","shift":"B","operator":"Demo Operator B","approval":"approved","measured_at":"2026-11-09T22:00:00+05:00","updated_at":"2026-11-09T22:15:00+05:00","feed":141.4,"permeate":102.4,"reject":38.6,"feed_tds":1839,"permeate_tds":30.4,"feed_pressure":2.91,"operating_pressure":14.26,"differential_pressure":0.9,"running_hours":8,"shutdown_hours":0,"downtime_reason":null,"remarks":null},{"record_id":"DEMO-SHIFT-2026-11-09-C","source_record_id":"demo-portal:ro_shift:2026-11-09:C","plant_id":"DEMO-PLANT-01","date":"2026-11-09","shift":"C","operator":"Demo Operator C","approval":"approved","measured_at":"2026-11-10T06:00:00+05:00","updated_at":"2026-11-10T06:15:00+05:00","feed":144.9,"permeate":102.2,"reject":43.1,"feed_tds":1714,"permeate_tds":37.2,"feed_pressure":2.8,"operating_pressure":14.23,"differential_pressure":0.94,"running_hours":8,"shutdown_hours":0,"downtime_reason":null,"remarks":null},{"record_id":"DEMO-SHIFT-2026-11-10-A","source_record_id":"demo-portal:ro_shift:2026-11-10:A","plant_id":"DEMO-PLANT-01","date":"2026-11-10","shift":"A","operator":"Demo Operator A","approval":"approved","measured_at":"2026-11-10T14:00:00+05:00","updated_at":"2026-11-10T14:15:00+05:00","feed":112.7,"permeate":78.4,"reject":34.6,"feed_tds":1833,"permeate_tds":34,"feed_pressure":3.01,"operating_pressure":14.48,"differential_pressure":0.78,"running_hours":6.2,"shutdown_hours":1.8,"downtime_reason":"Membrane cleaning (CIP)","remarks":"Membrane cleaning (CIP) (demo remark)"},{"record_id":"DEMO-SHIFT-2026-11-10-B","source_record_id":"demo-portal:ro_shift:2026-11-10:B","plant_id":"DEMO-PLANT-01","date":"2026-11-10","shift":"B","operator":"Demo Operator B","approval":"approved","measured_at":"2026-11-10T22:00:00+05:00","updated_at":"2026-11-10T22:15:00+05:00","feed":155.6,"permeate":114.6,"reject":40.8,"feed_tds":1870,"permeate_tds":44.8,"feed_pressure":2.99,"operating_pressure":14.63,"differential_pressure":0.93,"running_hours":8,"shutdown_hours":0,"downtime_reason":null,"remarks":null},{"record_id":"DEMO-SHIFT-2026-11-10-C","source_record_id":"demo-portal:ro_shift:2026-11-10:C","plant_id":"DEMO-PLANT-01","date":"2026-11-10","shift":"C","operator":"Demo Operator C","approval":"approved","measured_at":"2026-11-11T06:00:00+05:00","updated_at":"2026-11-11T06:15:00+05:00","feed":153,"permeate":112.1,"reject":41,"feed_tds":1701,"permeate_tds":43.4,"feed_pressure":3.17,"operating_pressure":14.38,"differential_pressure":0.77,"running_hours":8,"shutdown_hours":0,"downtime_reason":null,"remarks":null},{"record_id":"DEMO-SHIFT-2026-11-11-A","source_record_id":"demo-portal:ro_shift:2026-11-11:A","plant_id":"DEMO-PLANT-01","date":"2026-11-11","shift":"A","operator":"Demo Operator A","approval":"approved","measured_at":"2026-11-11T14:00:00+05:00","updated_at":"2026-11-11T14:15:00+05:00","feed":149.9,"permeate":104.5,"reject":45.4,"feed_tds":1696,"permeate_tds":29.8,"feed_pressure":3.23,"operating_pressure":13.56,"differential_pressure":1.03,"running_hours":8,"shutdown_hours":0,"downtime_reason":null,"remarks":null},{"record_id":"DEMO-SHIFT-2026-11-11-B","source_record_id":"demo-portal:ro_shift:2026-11-11:B","plant_id":"DEMO-PLANT-01","date":"2026-11-11","shift":"B","operator":"Demo Operator B","approval":"approved","measured_at":"2026-11-11T22:00:00+05:00","updated_at":"2026-11-11T22:15:00+05:00","feed":153.2,"permeate":111.4,"reject":42.2,"feed_tds":1894,"permeate_tds":null,"feed_pressure":3.08,"operating_pressure":14.36,"differential_pressure":1.03,"running_hours":8,"shutdown_hours":0,"downtime_reason":null,"remarks":null},{"record_id":"DEMO-SHIFT-2026-11-11-C","source_record_id":"demo-portal:ro_shift:2026-11-11:C","plant_id":"DEMO-PLANT-01","date":"2026-11-11","shift":"C","operator":"Demo Operator C","approval":"approved","measured_at":"2026-11-12T06:00:00+05:00","updated_at":"2026-11-12T06:15:00+05:00","feed":135.4,"permeate":100.7,"reject":34.6,"feed_tds":1762,"permeate_tds":28.4,"feed_pressure":2.77,"operating_pressure":13.86,"differential_pressure":0.94,"running_hours":8,"shutdown_hours":0,"downtime_reason":null,"remarks":null},{"record_id":"DEMO-SHIFT-2026-11-12-A","source_record_id":"demo-portal:ro_shift:2026-11-12:A","plant_id":"DEMO-PLANT-01","date":"2026-11-12","shift":"A","operator":"Demo Operator A","approval":"approved","measured_at":"2026-11-12T14:00:00+05:00","updated_at":"2026-11-12T14:15:00+05:00","feed":153.9,"permeate":89.3,"reject":65,"feed_tds":1784,"permeate_tds":37.4,"feed_pressure":3.06,"operating_pressure":14.17,"differential_pressure":0.86,"running_hours":8,"shutdown_hours":0,"downtime_reason":null,"remarks":null},{"record_id":"DEMO-SHIFT-2026-11-12-B","source_record_id":"demo-portal:ro_shift:2026-11-12:B","plant_id":"DEMO-PLANT-01","date":"2026-11-12","shift":"B","operator":"Demo Operator B","approval":"approved","measured_at":"2026-11-12T22:00:00+05:00","updated_at":"2026-11-12T22:15:00+05:00","feed":152.5,"permeate":109.4,"reject":43.2,"feed_tds":1731,"permeate_tds":38.7,"feed_pressure":3.26,"operating_pressure":13.99,"differential_pressure":0.97,"running_hours":8,"shutdown_hours":0,"downtime_reason":null,"remarks":null},{"record_id":"DEMO-SHIFT-2026-11-12-C","source_record_id":"demo-portal:ro_shift:2026-11-12:C","plant_id":"DEMO-PLANT-01","date":"2026-11-12","shift":"C","operator":"Demo Operator C","approval":"approved","measured_at":"2026-11-13T06:00:00+05:00","updated_at":"2026-11-13T06:15:00+05:00","feed":143.4,"permeate":101.7,"reject":41.7,"feed_tds":1737,"permeate_tds":35.9,"feed_pressure":2.91,"operating_pressure":13.58,"differential_pressure":1,"running_hours":8,"shutdown_hours":0,"downtime_reason":null,"remarks":null},{"record_id":"DEMO-SHIFT-2026-11-13-A","source_record_id":"demo-portal:ro_shift:2026-11-13:A","plant_id":"DEMO-PLANT-01","date":"2026-11-13","shift":"A","operator":"Demo Operator A","approval":"approved","measured_at":"2026-11-13T14:00:00+05:00","updated_at":"2026-11-13T14:15:00+05:00","feed":142.3,"permeate":103.2,"reject":39.3,"feed_tds":1879,"permeate_tds":36.5,"feed_pressure":3.04,"operating_pressure":14.77,"differential_pressure":0.98,"running_hours":8,"shutdown_hours":0,"downtime_reason":null,"remarks":null},{"record_id":"DEMO-SHIFT-2026-11-13-B","source_record_id":"demo-portal:ro_shift:2026-11-13:B","plant_id":"DEMO-PLANT-01","date":"2026-11-13","shift":"B","operator":"Demo Operator B","approval":"approved","measured_at":"2026-11-13T22:00:00+05:00","updated_at":"2026-11-13T22:15:00+05:00","feed":144.2,"permeate":101.2,"reject":42.9,"feed_tds":1786,"permeate_tds":29.7,"feed_pressure":3,"operating_pressure":14.54,"differential_pressure":0.78,"running_hours":8,"shutdown_hours":0,"downtime_reason":null,"remarks":null},{"record_id":"DEMO-SHIFT-2026-11-14-A","source_record_id":"demo-portal:ro_shift:2026-11-14:A","plant_id":"DEMO-PLANT-01","date":"2026-11-14","shift":"A","operator":"Demo Operator A","approval":"approved","measured_at":"2026-11-14T14:00:00+05:00","updated_at":"2026-11-14T14:15:00+05:00","feed":154.7,"permeate":107.6,"reject":47.1,"feed_tds":1774,"permeate_tds":37.2,"feed_pressure":2.8,"operating_pressure":14.65,"differential_pressure":0.97,"running_hours":8,"shutdown_hours":0,"downtime_reason":null,"remarks":null},{"record_id":"DEMO-SHIFT-2026-11-14-B","source_record_id":"demo-portal:ro_shift:2026-11-14:B","plant_id":"DEMO-PLANT-01","date":"2026-11-14","shift":"B","operator":"Demo Operator B","approval":"approved","measured_at":"2026-11-14T22:00:00+05:00","updated_at":"2026-11-14T22:15:00+05:00","feed":131.9,"permeate":97.5,"reject":34.4,"feed_tds":1776,"permeate_tds":55.1,"feed_pressure":3.22,"operating_pressure":14.64,"differential_pressure":0.89,"running_hours":6.9,"shutdown_hours":1.1,"downtime_reason":"Filter backwash","remarks":"Filter backwash (demo remark)"},{"record_id":"DEMO-SHIFT-2026-11-14-C","source_record_id":"demo-portal:ro_shift:2026-11-14:C","plant_id":"DEMO-PLANT-01","date":"2026-11-14","shift":"C","operator":"Demo Operator C","approval":"approved","measured_at":"2026-11-15T06:00:00+05:00","updated_at":"2026-11-15T06:15:00+05:00","feed":134.3,"permeate":99.3,"reject":35.2,"feed_tds":1792,"permeate_tds":33.1,"feed_pressure":3.26,"operating_pressure":14.62,"differential_pressure":0.84,"running_hours":8,"shutdown_hours":0,"downtime_reason":null,"remarks":null}],"daily":[{"record_id":"DEMO-DAILY-2026-11-09","source_record_id":null,"plant_id":"DEMO-PLANT-01","date":"2026-11-09","approval":"approved","basis":"shift_sum","raw_water_volume":376.2,"feed":361.7,"permeate":258,"reject":103.5,"product_volume":255.5,"feed_tds":1804.56,"permeate_tds":34.03,"running_hours":20.5,"shutdown_hours":3.5,"shift_records_reported":3,"shift_records_expected":3,"updated_at":"2026-11-10T06:15:00+05:00"},{"record_id":"DEMO-DAILY-2026-11-10","source_record_id":null,"plant_id":"DEMO-PLANT-01","date":"2026-11-10","approval":"approved","basis":"shift_sum","raw_water_volume":438.1,"feed":421.3,"permeate":305.1,"reject":116.4,"product_volume":302.1,"feed_tds":1798.73,"permeate_tds":41.51,"running_hours":22.2,"shutdown_hours":1.8,"shift_records_reported":3,"shift_records_expected":3,"updated_at":"2026-11-11T06:15:00+05:00"},{"record_id":"DEMO-DAILY-2026-11-11","source_record_id":null,"plant_id":"DEMO-PLANT-01","date":"2026-11-11","approval":"approved","basis":"shift_sum","raw_water_volume":456,"feed":438.5,"permeate":316.6,"reject":122.2,"product_volume":313.5,"feed_tds":1785.56,"permeate_tds":29.11,"running_hours":24,"shutdown_hours":0,"shift_records_reported":3,"shift_records_expected":3,"updated_at":"2026-11-12T06:15:00+05:00"},{"record_id":"DEMO-DAILY-2026-11-12","source_record_id":null,"plant_id":"DEMO-PLANT-01","date":"2026-11-12","approval":"approved","basis":"shift_sum","raw_water_volume":467.8,"feed":449.8,"permeate":300.4,"reject":149.9,"product_volume":297.4,"feed_tds":1751.05,"permeate_tds":37.37,"running_hours":24,"shutdown_hours":0,"shift_records_reported":3,"shift_records_expected":3,"updated_at":"2026-11-13T06:15:00+05:00"},{"record_id":"DEMO-DAILY-2026-11-13","source_record_id":null,"plant_id":"DEMO-PLANT-01","date":"2026-11-13","approval":"approved","basis":"shift_sum","raw_water_volume":298,"feed":286.5,"permeate":204.4,"reject":82.2,"product_volume":202.4,"feed_tds":1832.19,"permeate_tds":33.13,"running_hours":16,"shutdown_hours":0,"shift_records_reported":2,"shift_records_expected":3,"updated_at":"2026-11-13T22:15:00+05:00"},{"record_id":"DEMO-DAILY-2026-11-14","source_record_id":null,"plant_id":"DEMO-PLANT-01","date":"2026-11-14","approval":"approved","basis":"shift_sum","raw_water_volume":437.8,"feed":420.9,"permeate":304.4,"reject":116.7,"product_volume":301.3,"feed_tds":1780.37,"permeate_tds":41.6,"running_hours":22.9,"shutdown_hours":1.1,"shift_records_reported":3,"shift_records_expected":3,"updated_at":"2026-11-15T06:15:00+05:00"}],"targets":{"daily_permeate":300,"basis":"DEMO PLACEHOLDER target"},"weekly":[{"week_start":"2026-09-21","permeate":2138,"feed":2949.7,"days_reported":7},{"week_start":"2026-09-28","permeate":2183.2,"feed":3049.8,"days_reported":7},{"week_start":"2026-10-05","permeate":2118.9,"feed":2939.6,"days_reported":7},{"week_start":"2026-10-12","permeate":2152.6,"feed":2992.6,"days_reported":7},{"week_start":"2026-10-19","permeate":2164.4,"feed":3005.7,"days_reported":7},{"week_start":"2026-10-26","permeate":2151.3,"feed":2976.4,"days_reported":7},{"week_start":"2026-11-02","permeate":2182.3,"feed":3017.1,"days_reported":7},{"week_start":"2026-11-09","permeate":1688.9,"feed":2378.7,"days_reported":6}],"monthly":[{"month":"2026-08","permeate":9451.2,"feed":13159.9,"reject":3710,"days_reported":31,"target":9300},{"month":"2026-09","permeate":9180.3,"feed":12762.3,"reject":3583.8,"days_reported":30,"target":9000},{"month":"2026-10","permeate":9550,"feed":13267.9,"reject":3716.6,"days_reported":31,"target":9300},{"month":"2026-11","permeate":4188.3,"feed":5829.1,"reject":1641.9,"days_reported":14,"target":9000}],"year_to_date":{"year":2026,"permeate":97291.8,"feed":135068.6,"reject":37778.8,"days_reported":318}}}