{ "equipment": [ { "id": "30000000-0000-0000-0000-000000000001", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "name": "Horno Rotativo Principal", "type": "oven", "model": "Sveba Dahlen DC-16", "serial_number": "SD-2023-1547", "location": "Área de Producción - Zona A", "manufacturer": null, "firmware_version": null, "status": "OPERATIONAL", "install_date": "BASE_TS", "last_maintenance_date": "BASE_TS", "next_maintenance_date": "BASE_TS + 90d", "maintenance_interval_days": 90, "efficiency_percentage": 92.0, "uptime_percentage": 90.0, "energy_usage_kwh": null, "power_kw": 45.0, "capacity": 16.0, "weight_kg": null, "current_temperature": 220.0, "target_temperature": 220.0, "iot_enabled": false, "iot_protocol": null, "iot_endpoint": null, "iot_port": null, "iot_connection_status": null, "iot_last_connected": null, "supports_realtime": false, "poll_interval_seconds": null, "temperature_zones": null, "supports_humidity": false, "supports_energy_monitoring": false, "supports_remote_control": false, "is_active": true, "notes": null, "created_at": "BASE_TS", "updated_at": "BASE_TS" }, { "id": "30000000-0000-0000-0000-000000000002", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "name": "Amasadora Espiral Grande", "type": "mixer", "model": "Diosna SP 120", "serial_number": "DI-2022-0892", "location": "Área de Amasado", "manufacturer": null, "firmware_version": null, "status": "OPERATIONAL", "install_date": "BASE_TS", "last_maintenance_date": "BASE_TS", "next_maintenance_date": "BASE_TS + 90d", "maintenance_interval_days": 60, "efficiency_percentage": 95.0, "uptime_percentage": 90.0, "energy_usage_kwh": null, "power_kw": 12.0, "capacity": 120.0, "weight_kg": null, "current_temperature": null, "target_temperature": null, "iot_enabled": false, "iot_protocol": null, "iot_endpoint": null, "iot_port": null, "iot_connection_status": null, "iot_last_connected": null, "supports_realtime": false, "poll_interval_seconds": null, "temperature_zones": null, "supports_humidity": false, "supports_energy_monitoring": false, "supports_remote_control": false, "is_active": true, "notes": null, "created_at": "BASE_TS", "updated_at": "BASE_TS" }, { "id": "30000000-0000-0000-0000-000000000003", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "name": "Cámara de Fermentación 1", "type": "proofer", "model": "Mondial Forni PF-2000", "serial_number": "MF-2023-0445", "location": "Área de Fermentación", "manufacturer": null, "firmware_version": null, "status": "OPERATIONAL", "install_date": "BASE_TS", "last_maintenance_date": "BASE_TS", "next_maintenance_date": "BASE_TS + 90d", "maintenance_interval_days": 90, "efficiency_percentage": 88.0, "uptime_percentage": 90.0, "energy_usage_kwh": null, "power_kw": 8.0, "capacity": 40.0, "weight_kg": null, "current_temperature": 28.0, "target_temperature": 28.0, "iot_enabled": false, "iot_protocol": null, "iot_endpoint": null, "iot_port": null, "iot_connection_status": null, "iot_last_connected": null, "supports_realtime": false, "poll_interval_seconds": null, "temperature_zones": null, "supports_humidity": false, "supports_energy_monitoring": false, "supports_remote_control": false, "is_active": true, "notes": null, "created_at": "BASE_TS", "updated_at": "BASE_TS" }, { "id": "30000000-0000-0000-0000-000000000004", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "name": "Congelador Rápido", "type": "freezer", "model": "Irinox MF 70.2", "serial_number": "IR-2021-1234", "location": "Área de Conservación", "manufacturer": null, "firmware_version": null, "status": "OPERATIONAL", "install_date": "BASE_TS", "last_maintenance_date": "BASE_TS", "next_maintenance_date": "BASE_TS + 90d", "maintenance_interval_days": 120, "efficiency_percentage": 90.0, "uptime_percentage": 90.0, "energy_usage_kwh": null, "power_kw": 15.0, "capacity": 70.0, "weight_kg": null, "current_temperature": -40.0, "target_temperature": -40.0, "iot_enabled": false, "iot_protocol": null, "iot_endpoint": null, "iot_port": null, "iot_connection_status": null, "iot_last_connected": null, "supports_realtime": false, "poll_interval_seconds": null, "temperature_zones": null, "supports_humidity": false, "supports_energy_monitoring": false, "supports_remote_control": false, "is_active": true, "notes": null, "created_at": "BASE_TS", "updated_at": "BASE_TS" }, { "id": "30000000-0000-0000-0000-000000000005", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "name": "Amasadora Pequeña", "type": "mixer", "model": "Diosna SP 60", "serial_number": "DI-2020-0334", "location": "Área de Amasado", "manufacturer": null, "firmware_version": null, "status": "WARNING", "install_date": "BASE_TS", "last_maintenance_date": "BASE_TS", "next_maintenance_date": "BASE_TS + 90d", "maintenance_interval_days": 60, "efficiency_percentage": 78.0, "uptime_percentage": 90.0, "energy_usage_kwh": null, "power_kw": 6.0, "capacity": 60.0, "weight_kg": null, "current_temperature": null, "target_temperature": null, "iot_enabled": false, "iot_protocol": null, "iot_endpoint": null, "iot_port": null, "iot_connection_status": null, "iot_last_connected": null, "supports_realtime": false, "poll_interval_seconds": null, "temperature_zones": null, "supports_humidity": false, "supports_energy_monitoring": false, "supports_remote_control": false, "is_active": true, "notes": "Eficiencia reducida. Programar inspección preventiva.", "created_at": "BASE_TS", "updated_at": "BASE_TS" }, { "id": "30000000-0000-0000-0000-000000000006", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "name": "Horno de Convección Auxiliar", "type": "oven", "model": "Unox XBC 1065", "serial_number": "UN-2019-0667", "location": "Área de Producción - Zona B", "manufacturer": null, "firmware_version": null, "status": "OPERATIONAL", "install_date": "BASE_TS", "last_maintenance_date": "BASE_TS", "next_maintenance_date": "BASE_TS + 90d", "maintenance_interval_days": 90, "efficiency_percentage": 85.0, "uptime_percentage": 90.0, "energy_usage_kwh": null, "power_kw": 28.0, "capacity": 10.0, "weight_kg": null, "current_temperature": 180.0, "target_temperature": 180.0, "iot_enabled": false, "iot_protocol": null, "iot_endpoint": null, "iot_port": null, "iot_connection_status": null, "iot_last_connected": null, "supports_realtime": false, "poll_interval_seconds": null, "temperature_zones": null, "supports_humidity": false, "supports_energy_monitoring": false, "supports_remote_control": false, "is_active": true, "notes": null, "created_at": "BASE_TS", "updated_at": "BASE_TS" } ], "batches": [ { "id": "40000000-0000-0000-0000-0000000000b1", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-LATE-0001", "product_id": "20000000-0000-0000-0000-000000000001", "product_name": "Baguette Francesa Tradicional", "recipe_id": "30000000-0000-0000-0000-000000000001", "planned_start_time": "BASE_TS - 2h", "planned_end_time": "BASE_TS - 0h", "planned_quantity": 100.0, "planned_duration_minutes": 120, "actual_start_time": null, "actual_end_time": null, "actual_quantity": null, "actual_duration_minutes": null, "status": "PENDING", "priority": "HIGH", "current_process_stage": null, "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 150.0, "actual_cost": null, "labor_cost": null, "material_cost": null, "overhead_cost": null, "yield_percentage": null, "quality_score": null, "waste_quantity": null, "defect_quantity": null, "waste_defect_type": null, "equipment_used": [ "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-01", "order_id": null, "forecast_id": null, "is_rush_order": true, "is_special_recipe": false, "is_ai_assisted": false, "production_notes": "⚠️ EDGE CASE: Production should have started 2 hours ago - will trigger OVERDUE_BATCH alert", "quality_notes": null, "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-0000000000b2", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-INPROGRESS-0001", "product_id": "20000000-0000-0000-0000-000000000002", "product_name": "Croissant de Mantequilla Artesanal", "recipe_id": "30000000-0000-0000-0000-000000000002", "planned_start_time": "BASE_TS - 1h", "planned_end_time": "BASE_TS + 1h", "planned_quantity": 80.0, "planned_duration_minutes": 120, "actual_start_time": "BASE_TS - 1h45m", "actual_end_time": null, "actual_quantity": null, "actual_duration_minutes": null, "status": "IN_PROGRESS", "priority": "MEDIUM", "current_process_stage": "baking", "process_stage_history": [ { "stage": "preparation", "start_time": "BASE_TS - 2h", "end_time": "BASE_TS - 1h45m", "status": "completed" } ], "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 120.0, "actual_cost": null, "labor_cost": null, "material_cost": null, "overhead_cost": null, "yield_percentage": null, "quality_score": null, "waste_quantity": null, "defect_quantity": null, "waste_defect_type": null, "equipment_used": [ "30000000-0000-0000-0000-000000000002" ], "staff_assigned": [], "station_id": "STATION-02", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": false, "is_ai_assisted": true, "production_notes": "⚠️ EDGE CASE: Batch started 15 minutes late but now in progress - will show active production status", "quality_notes": null, "delay_reason": "Equipment setup delay", "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-0000000000b3", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-UPCOMING-0001", "product_id": "20000000-0000-0000-0000-000000000003", "product_name": "Pan Integral", "recipe_id": "30000000-0000-0000-0000-000000000003", "planned_start_time": "BASE_TS + 1h30m", "planned_end_time": "BASE_TS + 4h30m", "planned_quantity": 60.0, "planned_duration_minutes": 180, "actual_start_time": null, "actual_end_time": null, "actual_quantity": null, "actual_duration_minutes": null, "status": "PENDING", "priority": "MEDIUM", "current_process_stage": null, "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 90.0, "actual_cost": null, "labor_cost": null, "material_cost": null, "overhead_cost": null, "yield_percentage": null, "quality_score": null, "waste_quantity": null, "defect_quantity": null, "waste_defect_type": null, "equipment_used": [ "30000000-0000-0000-0000-000000000003" ], "staff_assigned": [], "station_id": "STATION-03", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": false, "is_ai_assisted": true, "production_notes": "⚠️ EDGE CASE: Upcoming batch scheduled to start in 1.5 hours - will show in planning view", "quality_notes": null, "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-000000000001", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-20250115-001", "product_id": "20000000-0000-0000-0000-000000000001", "product_name": "Baguette Francesa Tradicional", "recipe_id": "30000000-0000-0000-0000-000000000001", "planned_start_time": "BASE_TS - 7d 6h", "planned_end_time": "BASE_TS - 7d 8h 45m", "planned_quantity": 100.0, "planned_duration_minutes": 165, "actual_start_time": "BASE_TS - 7d 6h", "actual_end_time": "BASE_TS - 7d 8h 45m", "actual_quantity": 98.0, "actual_duration_minutes": null, "status": "COMPLETED", "priority": "MEDIUM", "current_process_stage": "packaging", "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 150.0, "actual_cost": 148.5, "labor_cost": 80.0, "material_cost": 55.0, "overhead_cost": 13.5, "yield_percentage": 98.0, "quality_score": 95.0, "waste_quantity": 2.0, "defect_quantity": 0.0, "waste_defect_type": "burnt", "equipment_used": [ "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-01", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": false, "is_ai_assisted": true, "production_notes": "Producción estándar, sin incidencias", "quality_notes": "2 baguettes quemadas por exceso de temperatura", "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-000000000002", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-20250115-002", "product_id": "20000000-0000-0000-0000-000000000002", "product_name": "Croissant de Mantequilla Artesanal", "recipe_id": "30000000-0000-0000-0000-000000000002", "planned_start_time": "BASE_TS - 7d 5h", "planned_end_time": "BASE_TS - 7d 9h", "planned_quantity": 120.0, "planned_duration_minutes": 240, "actual_start_time": "BASE_TS - 7d 5h", "actual_end_time": "BASE_TS - 7d 9h", "actual_quantity": 115.0, "actual_duration_minutes": null, "status": "COMPLETED", "priority": "HIGH", "current_process_stage": "packaging", "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 280.0, "actual_cost": 275.0, "labor_cost": 120.0, "material_cost": 125.0, "overhead_cost": 30.0, "yield_percentage": 95.8, "quality_score": 92.0, "waste_quantity": 3.0, "defect_quantity": 2.0, "waste_defect_type": "misshapen", "equipment_used": [ "30000000-0000-0000-0000-000000000002", "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-02", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": false, "is_ai_assisted": true, "production_notes": "Laminado perfecto, buen desarrollo", "quality_notes": "3 croissants con forma irregular por laminado desigual, 2 descartados", "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-000000000003", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-20250116-001", "product_id": "20000000-0000-0000-0000-000000000003", "product_name": "Pan de Pueblo con Masa Madre", "recipe_id": "30000000-0000-0000-0000-000000000003", "planned_start_time": "BASE_TS - 6d 7h 30m", "planned_end_time": "BASE_TS - 6d 12h 30m", "planned_quantity": 80.0, "planned_duration_minutes": 300, "actual_start_time": "BASE_TS - 6d 7h 30m", "actual_end_time": "BASE_TS - 6d 12h 30m", "actual_quantity": 80.0, "actual_duration_minutes": null, "status": "COMPLETED", "priority": "MEDIUM", "current_process_stage": "packaging", "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 200.0, "actual_cost": 195.0, "labor_cost": 90.0, "material_cost": 80.0, "overhead_cost": 25.0, "yield_percentage": 100.0, "quality_score": 98.0, "waste_quantity": 0.0, "defect_quantity": 0.0, "waste_defect_type": null, "equipment_used": [ "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-01", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": true, "is_ai_assisted": true, "production_notes": "Excelente fermentación de la masa madre", "quality_notes": "Batch perfecto, sin desperdicio", "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-000000000004", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-20250116-002", "product_id": "20000000-0000-0000-0000-000000000004", "product_name": "Napolitana de Chocolate", "recipe_id": "30000000-0000-0000-0000-000000000004", "planned_start_time": "BASE_TS - 6d 6h", "planned_end_time": "BASE_TS - 6d 9h", "planned_quantity": 90.0, "planned_duration_minutes": 180, "actual_start_time": "BASE_TS - 6d 6h", "actual_end_time": "BASE_TS - 6d 9h", "actual_quantity": 88.0, "actual_duration_minutes": null, "status": "QUARANTINED", "priority": "MEDIUM", "current_process_stage": "quality_check", "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": [ { "control_id": "70000000-0000-0000-0000-000000000003", "control_type": "taste_test", "result": "FAILED", "quality_score": 65.0, "control_date": "2025-01-09T14:30:00Z" } ], "estimated_cost": 220.0, "actual_cost": 218.0, "labor_cost": 95.0, "material_cost": 98.0, "overhead_cost": 25.0, "yield_percentage": 97.8, "quality_score": 65.0, "waste_quantity": 1.0, "defect_quantity": 1.0, "waste_defect_type": "off_taste", "equipment_used": [ "30000000-0000-0000-0000-000000000001", "30000000-0000-0000-0000-000000000002" ], "staff_assigned": [], "station_id": "STATION-02", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": false, "is_ai_assisted": false, "production_notes": "⚠️ CRITICAL: Lote en cuarentena por fallo en control de calidad", "quality_notes": "Sabor amargo en chocolate - Investigación en curso con proveedor", "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-000000000005", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-20250117-001", "product_id": "20000000-0000-0000-0000-000000000001", "product_name": "Baguette Francesa Tradicional", "recipe_id": "30000000-0000-0000-0000-000000000001", "planned_start_time": "BASE_TS - 5d 6h", "planned_end_time": "BASE_TS - 5d 8h 45m", "planned_quantity": 120.0, "planned_duration_minutes": 165, "actual_start_time": "BASE_TS - 5d 6h", "actual_end_time": "BASE_TS - 5d 8h 45m", "actual_quantity": 118.0, "actual_duration_minutes": null, "status": "COMPLETED", "priority": "HIGH", "current_process_stage": "packaging", "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 180.0, "actual_cost": 177.0, "labor_cost": 95.0, "material_cost": 65.0, "overhead_cost": 17.0, "yield_percentage": 98.3, "quality_score": 96.0, "waste_quantity": 1.5, "defect_quantity": 0.5, "waste_defect_type": "underproofed", "equipment_used": [ "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-01", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": false, "is_ai_assisted": true, "production_notes": "Lote grande para pedido especial", "quality_notes": "1.5kg por fermentación insuficiente", "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-000000000006", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-20250117-002", "product_id": "20000000-0000-0000-0000-000000000002", "product_name": "Croissant de Mantequilla Artesanal", "recipe_id": "30000000-0000-0000-0000-000000000002", "planned_start_time": "BASE_TS - 5d 5h", "planned_end_time": "BASE_TS - 5d 9h", "planned_quantity": 100.0, "planned_duration_minutes": 240, "actual_start_time": "BASE_TS - 5d 5h", "actual_end_time": "BASE_TS - 5d 9h", "actual_quantity": 96.0, "actual_duration_minutes": null, "status": "COMPLETED", "priority": "MEDIUM", "current_process_stage": "packaging", "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 240.0, "actual_cost": 238.0, "labor_cost": 105.0, "material_cost": 105.0, "overhead_cost": 28.0, "yield_percentage": 96.0, "quality_score": 90.0, "waste_quantity": 2.0, "defect_quantity": 2.0, "waste_defect_type": "temperature_issues", "equipment_used": [ "30000000-0000-0000-0000-000000000002", "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-02", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": false, "is_ai_assisted": false, "production_notes": "Algunos croissants con desarrollo irregular", "quality_notes": "2kg descartados por problemas de temperatura en fermentación", "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-000000000007", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-20250118-001", "product_id": "20000000-0000-0000-0000-000000000001", "product_name": "Baguette Francesa Tradicional", "recipe_id": "30000000-0000-0000-0000-000000000001", "planned_start_time": "BASE_TS - 4d 6h", "planned_end_time": "BASE_TS - 4d 8h 45m", "planned_quantity": 100.0, "planned_duration_minutes": 165, "actual_start_time": "BASE_TS - 4d 6h", "actual_end_time": "BASE_TS - 4d 8h 45m", "actual_quantity": 99.0, "actual_duration_minutes": null, "status": "COMPLETED", "priority": "MEDIUM", "current_process_stage": "packaging", "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 150.0, "actual_cost": 149.0, "labor_cost": 80.0, "material_cost": 55.0, "overhead_cost": 14.0, "yield_percentage": 99.0, "quality_score": 97.0, "waste_quantity": 1.0, "defect_quantity": 0.0, "waste_defect_type": "burnt", "equipment_used": [ "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-01", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": false, "is_ai_assisted": true, "production_notes": "Excelente resultado", "quality_notes": "1kg quemado por ajuste de horno", "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-000000000008", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-20250118-002", "product_id": "20000000-0000-0000-0000-000000000003", "product_name": "Pan de Pueblo con Masa Madre", "recipe_id": "30000000-0000-0000-0000-000000000003", "planned_start_time": "BASE_TS - 4d 7h", "planned_end_time": "BASE_TS - 4d 12h", "planned_quantity": 60.0, "planned_duration_minutes": 300, "actual_start_time": "BASE_TS - 4d 7h", "actual_end_time": "BASE_TS - 4d 12h", "actual_quantity": 60.0, "actual_duration_minutes": null, "status": "COMPLETED", "priority": "LOW", "current_process_stage": "packaging", "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 155.0, "actual_cost": 152.0, "labor_cost": 70.0, "material_cost": 65.0, "overhead_cost": 17.0, "yield_percentage": 100.0, "quality_score": 99.0, "waste_quantity": 0.0, "defect_quantity": 0.0, "waste_defect_type": null, "equipment_used": [ "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-01", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": true, "is_ai_assisted": true, "production_notes": "Masa madre en punto óptimo", "quality_notes": "Batch perfecto, sin desperdicios", "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-000000000009", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-20250119-001", "product_id": "20000000-0000-0000-0000-000000000002", "product_name": "Croissant de Mantequilla Artesanal", "recipe_id": "30000000-0000-0000-0000-000000000002", "planned_start_time": "BASE_TS - 3d 5h", "planned_end_time": "BASE_TS - 3d 9h", "planned_quantity": 150.0, "planned_duration_minutes": 240, "actual_start_time": "BASE_TS - 3d 5h", "actual_end_time": "BASE_TS - 3d 9h", "actual_quantity": 145.0, "actual_duration_minutes": null, "status": "COMPLETED", "priority": "URGENT", "current_process_stage": "packaging", "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 350.0, "actual_cost": 345.0, "labor_cost": 150.0, "material_cost": 155.0, "overhead_cost": 40.0, "yield_percentage": 96.7, "quality_score": 93.0, "waste_quantity": 3.0, "defect_quantity": 2.0, "waste_defect_type": "burnt", "equipment_used": [ "30000000-0000-0000-0000-000000000002", "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-02", "order_id": null, "forecast_id": null, "is_rush_order": true, "is_special_recipe": false, "is_ai_assisted": true, "production_notes": "Pedido urgente de evento corporativo", "quality_notes": "3kg quemados por presión de tiempo, 2kg descartados", "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-000000000010", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-20250119-002", "product_id": "20000000-0000-0000-0000-000000000004", "product_name": "Napolitana de Chocolate", "recipe_id": "30000000-0000-0000-0000-000000000004", "planned_start_time": "BASE_TS - 3d 6h 30m", "planned_end_time": "BASE_TS - 3d 9h 30m", "planned_quantity": 80.0, "planned_duration_minutes": 180, "actual_start_time": "BASE_TS - 3d 6h 30m", "actual_end_time": "BASE_TS - 3d 9h 30m", "actual_quantity": 79.0, "actual_duration_minutes": null, "status": "COMPLETED", "priority": "MEDIUM", "current_process_stage": "packaging", "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 195.0, "actual_cost": 192.0, "labor_cost": 85.0, "material_cost": 85.0, "overhead_cost": 22.0, "yield_percentage": 98.8, "quality_score": 95.0, "waste_quantity": 0.5, "defect_quantity": 0.5, "waste_defect_type": "misshapen", "equipment_used": [ "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-02", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": false, "is_ai_assisted": true, "production_notes": "Buen resultado general", "quality_notes": "0.5kg con forma irregular, descartados", "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-000000000011", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-20250120-001", "product_id": "20000000-0000-0000-0000-000000000001", "product_name": "Baguette Francesa Tradicional", "recipe_id": "30000000-0000-0000-0000-000000000001", "planned_start_time": "BASE_TS - 2d 6h", "planned_end_time": "BASE_TS - 2d 8h 45m", "planned_quantity": 110.0, "planned_duration_minutes": 165, "actual_start_time": "BASE_TS - 2d 6h", "actual_end_time": "BASE_TS - 2d 8h 45m", "actual_quantity": 108.0, "actual_duration_minutes": null, "status": "COMPLETED", "priority": "MEDIUM", "current_process_stage": "packaging", "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 165.0, "actual_cost": 162.0, "labor_cost": 88.0, "material_cost": 60.0, "overhead_cost": 14.0, "yield_percentage": 98.2, "quality_score": 96.0, "waste_quantity": 1.5, "defect_quantity": 0.5, "waste_defect_type": "underproofed", "equipment_used": [ "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-01", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": false, "is_ai_assisted": true, "production_notes": "Producción estándar", "quality_notes": "1.5kg con fermentación insuficiente, 0.5kg descartados", "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-000000000012", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-20250120-002", "product_id": "20000000-0000-0000-0000-000000000003", "product_name": "Pan de Pueblo con Masa Madre", "recipe_id": "30000000-0000-0000-0000-000000000003", "planned_start_time": "BASE_TS - 2d 7h 30m", "planned_end_time": "BASE_TS - 2d 12h 30m", "planned_quantity": 70.0, "planned_duration_minutes": 300, "actual_start_time": "BASE_TS - 2d 7h 30m", "actual_end_time": "BASE_TS - 2d 12h 30m", "actual_quantity": 70.0, "actual_duration_minutes": null, "status": "COMPLETED", "priority": "MEDIUM", "current_process_stage": "packaging", "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 175.0, "actual_cost": 172.0, "labor_cost": 80.0, "material_cost": 72.0, "overhead_cost": 20.0, "yield_percentage": 100.0, "quality_score": 98.0, "waste_quantity": 0.0, "defect_quantity": 0.0, "waste_defect_type": null, "equipment_used": [ "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-01", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": true, "is_ai_assisted": true, "production_notes": "Fermentación perfecta", "quality_notes": "Batch perfecto, optimizado por IA", "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-000000000013", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-20250121-001", "product_id": "20000000-0000-0000-0000-000000000002", "product_name": "Croissant de Mantequilla Artesanal", "recipe_id": "30000000-0000-0000-0000-000000000002", "planned_start_time": "BASE_TS - 1d 5h", "planned_end_time": "BASE_TS - 1d 9h", "planned_quantity": 130.0, "planned_duration_minutes": 240, "actual_start_time": "BASE_TS - 1d 5h", "actual_end_time": "BASE_TS - 1d 9h", "actual_quantity": 125.0, "actual_duration_minutes": null, "status": "COMPLETED", "priority": "HIGH", "current_process_stage": "packaging", "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 310.0, "actual_cost": 305.0, "labor_cost": 135.0, "material_cost": 138.0, "overhead_cost": 32.0, "yield_percentage": 96.2, "quality_score": 94.0, "waste_quantity": 3.0, "defect_quantity": 2.0, "waste_defect_type": "burnt", "equipment_used": [ "30000000-0000-0000-0000-000000000002", "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-02", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": false, "is_ai_assisted": false, "production_notes": "Demanda elevada del fin de semana", "quality_notes": "3kg quemados por sobrecarga de horno, 2kg descartados", "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-000000000014", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-20250121-002", "product_id": "20000000-0000-0000-0000-000000000001", "product_name": "Baguette Francesa Tradicional", "recipe_id": "30000000-0000-0000-0000-000000000001", "planned_start_time": "BASE_TS - 1d 6h 30m", "planned_end_time": "BASE_TS - 1d 9h 15m", "planned_quantity": 120.0, "planned_duration_minutes": 165, "actual_start_time": "BASE_TS - 1d 6h 30m", "actual_end_time": "BASE_TS - 1d 9h 15m", "actual_quantity": 118.0, "actual_duration_minutes": null, "status": "COMPLETED", "priority": "HIGH", "current_process_stage": "packaging", "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 180.0, "actual_cost": 178.0, "labor_cost": 95.0, "material_cost": 66.0, "overhead_cost": 17.0, "yield_percentage": 98.3, "quality_score": 97.0, "waste_quantity": 1.5, "defect_quantity": 0.5, "waste_defect_type": "burnt", "equipment_used": [ "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-01", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": false, "is_ai_assisted": true, "production_notes": "Alta demanda de fin de semana", "quality_notes": "1.5kg ligeramente quemados, 0.5kg descartados", "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-000000000015", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-20250122-001", "product_id": "20000000-0000-0000-0000-000000000001", "product_name": "Baguette Francesa Tradicional", "recipe_id": "30000000-0000-0000-0000-000000000001", "planned_start_time": "BASE_TS + 6h", "planned_end_time": "BASE_TS + 8h 45m", "planned_quantity": 100.0, "planned_duration_minutes": 165, "actual_start_time": "BASE_TS + 6h", "actual_end_time": null, "actual_quantity": null, "actual_duration_minutes": null, "status": "IN_PROGRESS", "priority": "MEDIUM", "current_process_stage": "baking", "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 150.0, "actual_cost": null, "labor_cost": null, "material_cost": null, "overhead_cost": null, "yield_percentage": null, "quality_score": null, "waste_quantity": null, "defect_quantity": null, "waste_defect_type": null, "equipment_used": [ "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-01", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": false, "is_ai_assisted": true, "production_notes": "Producción en curso con predicción de IA", "quality_notes": null, "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-000000000016", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-20250122-002", "product_id": "20000000-0000-0000-0000-000000000002", "product_name": "Croissant de Mantequilla Artesanal", "recipe_id": "30000000-0000-0000-0000-000000000002", "planned_start_time": "BASE_TS + 8h", "planned_end_time": "BASE_TS + 12h", "planned_quantity": 100.0, "planned_duration_minutes": 240, "actual_start_time": null, "actual_end_time": null, "actual_quantity": null, "actual_duration_minutes": null, "status": "PENDING", "priority": "MEDIUM", "current_process_stage": null, "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 240.0, "actual_cost": null, "labor_cost": null, "material_cost": null, "overhead_cost": null, "yield_percentage": null, "quality_score": null, "waste_quantity": null, "defect_quantity": null, "waste_defect_type": null, "equipment_used": [ "30000000-0000-0000-0000-000000000002", "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-02", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": false, "is_ai_assisted": true, "production_notes": "Pendiente de inicio - cantidad optimizada por IA", "quality_notes": null, "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-000000000017", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-20250123-001", "product_id": "20000000-0000-0000-0000-000000000003", "product_name": "Pan de Pueblo con Masa Madre", "recipe_id": "30000000-0000-0000-0000-000000000003", "planned_start_time": "BASE_TS + 1d 7h", "planned_end_time": "BASE_TS + 1d 12h", "planned_quantity": 75.0, "planned_duration_minutes": 300, "actual_start_time": null, "actual_end_time": null, "actual_quantity": null, "actual_duration_minutes": null, "status": "PENDING", "priority": "MEDIUM", "current_process_stage": null, "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 185.0, "actual_cost": null, "labor_cost": null, "material_cost": null, "overhead_cost": null, "yield_percentage": null, "quality_score": null, "waste_quantity": null, "defect_quantity": null, "waste_defect_type": null, "equipment_used": [ "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-01", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": true, "is_ai_assisted": true, "production_notes": "Planificado para mañana con predicción de demanda IA", "quality_notes": null, "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-000000000018", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-20250123-002", "product_id": "20000000-0000-0000-0000-000000000004", "product_name": "Napolitana de Chocolate", "recipe_id": "30000000-0000-0000-0000-000000000004", "planned_start_time": "BASE_TS + 1d 6h", "planned_end_time": "BASE_TS + 1d 9h", "planned_quantity": 85.0, "planned_duration_minutes": 180, "actual_start_time": null, "actual_end_time": null, "actual_quantity": null, "actual_duration_minutes": null, "status": "PENDING", "priority": "LOW", "current_process_stage": null, "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 210.0, "actual_cost": null, "labor_cost": null, "material_cost": null, "overhead_cost": null, "yield_percentage": null, "quality_score": null, "waste_quantity": null, "defect_quantity": null, "waste_defect_type": null, "equipment_used": [ "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-02", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": false, "is_ai_assisted": false, "production_notes": "Planificado para mañana", "quality_notes": null, "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-999999999001", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-TODAY-001", "product_id": "20000000-0000-0000-0000-000000000002", "product_name": "Croissant de Mantequilla Artesanal", "recipe_id": "30000000-0000-0000-0000-000000000002", "planned_start_time": "BASE_TS + 6h", "planned_end_time": "BASE_TS + 10h", "planned_quantity": 120.0, "planned_duration_minutes": 240, "actual_start_time": null, "actual_end_time": null, "actual_quantity": null, "actual_duration_minutes": null, "status": "PENDING", "priority": "HIGH", "current_process_stage": null, "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 280.0, "actual_cost": null, "labor_cost": null, "material_cost": null, "overhead_cost": null, "yield_percentage": null, "quality_score": null, "waste_quantity": null, "defect_quantity": null, "waste_defect_type": null, "equipment_used": [ "30000000-0000-0000-0000-000000000002", "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-02", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": false, "is_ai_assisted": true, "production_notes": "Lote programado para hoy - Demanda prevista alta", "quality_notes": null, "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-999999999002", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-TODAY-002", "product_id": "20000000-0000-0000-0000-000000000001", "product_name": "Baguette Francesa Tradicional", "recipe_id": "30000000-0000-0000-0000-000000000001", "planned_start_time": "BASE_TS + 8h 30m", "planned_end_time": "BASE_TS + 11h 15m", "planned_quantity": 100.0, "planned_duration_minutes": 165, "actual_start_time": null, "actual_end_time": null, "actual_quantity": null, "actual_duration_minutes": null, "status": "PENDING", "priority": "MEDIUM", "current_process_stage": null, "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 150.0, "actual_cost": null, "labor_cost": null, "material_cost": null, "overhead_cost": null, "yield_percentage": null, "quality_score": null, "waste_quantity": null, "defect_quantity": null, "waste_defect_type": null, "equipment_used": [ "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-01", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": false, "is_ai_assisted": true, "production_notes": "Producción diaria programada", "quality_notes": null, "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-999999999003", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-TODAY-003", "product_id": "20000000-0000-0000-0000-000000000003", "product_name": "Pan de Pueblo con Masa Madre", "recipe_id": "30000000-0000-0000-0000-000000000003", "planned_start_time": "BASE_TS + 10h", "planned_end_time": "BASE_TS + 15h", "planned_quantity": 60.0, "planned_duration_minutes": 300, "actual_start_time": null, "actual_end_time": null, "actual_quantity": null, "actual_duration_minutes": null, "status": "PENDING", "priority": "MEDIUM", "current_process_stage": null, "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 180.0, "actual_cost": null, "labor_cost": null, "material_cost": null, "overhead_cost": null, "yield_percentage": null, "quality_score": null, "waste_quantity": null, "defect_quantity": null, "waste_defect_type": null, "equipment_used": [ "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-01", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": true, "is_ai_assisted": true, "production_notes": "Masa madre preparada ayer - Listo para horneado", "quality_notes": null, "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-0000000000a1", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-CHOCOLATE-CAKE-EVENING", "product_id": "20000000-0000-0000-0000-000000000004", "product_name": "Tarta de Chocolate Premium", "recipe_id": "30000000-0000-0000-0000-000000000004", "planned_start_time": "BASE_TS + 17h", "planned_end_time": "BASE_TS + 20h", "planned_quantity": 5.0, "planned_duration_minutes": 180, "actual_start_time": null, "actual_end_time": null, "actual_quantity": null, "actual_duration_minutes": null, "status": "PENDING", "priority": "HIGH", "current_process_stage": null, "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 380.0, "actual_cost": null, "labor_cost": null, "material_cost": null, "overhead_cost": null, "yield_percentage": null, "quality_score": null, "waste_quantity": null, "defect_quantity": null, "waste_defect_type": null, "equipment_used": [ "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-03", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": true, "is_ai_assisted": true, "production_notes": "⚠️ DASHBOARD: Scheduled in 5 hours but missing 3kg dark chocolate (CHO-NEG-001) - Will trigger BATCH_AT_RISK alert", "quality_notes": null, "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-0000000000a2", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-CROISSANTS-TOMORROW", "product_id": "20000000-0000-0000-0000-000000000002", "product_name": "Croissant de Mantequilla Artesanal", "recipe_id": "30000000-0000-0000-0000-000000000002", "planned_start_time": "BASE_TS + 1d 5h", "planned_end_time": "BASE_TS + 1d 9h", "planned_quantity": 150.0, "planned_duration_minutes": 240, "actual_start_time": null, "actual_end_time": null, "actual_quantity": null, "actual_duration_minutes": null, "status": "PENDING", "priority": "HIGH", "current_process_stage": null, "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 420.0, "actual_cost": null, "labor_cost": null, "material_cost": null, "overhead_cost": null, "yield_percentage": null, "quality_score": null, "waste_quantity": null, "defect_quantity": null, "waste_defect_type": null, "equipment_used": [ "30000000-0000-0000-0000-000000000002", "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-02", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": false, "is_ai_assisted": true, "production_notes": "⚠️ DASHBOARD: Tomorrow morning batch - Depends on yeast (LEV-SEC-001) and butter (MAN-SAL-001) - Coordinates with PO approval escalation scenario", "quality_notes": null, "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null }, { "id": "40000000-0000-0000-0000-0000000000a3", "tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6", "batch_number": "BATCH-BAGUETTES-001", "product_id": "20000000-0000-0000-0000-000000000001", "product_name": "Baguette Francesa Tradicional", "recipe_id": "30000000-0000-0000-0000-000000000001", "planned_start_time": "BASE_TS + 14h", "planned_end_time": "BASE_TS + 16h 45m", "planned_quantity": 80.0, "planned_duration_minutes": 165, "actual_start_time": null, "actual_end_time": null, "actual_quantity": null, "actual_duration_minutes": null, "status": "PENDING", "priority": "MEDIUM", "current_process_stage": null, "process_stage_history": null, "pending_quality_checks": null, "completed_quality_checks": null, "estimated_cost": 120.0, "actual_cost": null, "labor_cost": null, "material_cost": null, "overhead_cost": null, "yield_percentage": null, "quality_score": null, "waste_quantity": null, "defect_quantity": null, "waste_defect_type": null, "equipment_used": [ "30000000-0000-0000-0000-000000000001" ], "staff_assigned": [], "station_id": "STATION-01", "order_id": null, "forecast_id": null, "is_rush_order": false, "is_special_recipe": false, "is_ai_assisted": true, "production_notes": "⚠️ DASHBOARD: At risk due to flour (HAR-T55-001) running low - Will be affected if delivery is late", "quality_notes": null, "delay_reason": null, "cancellation_reason": null, "reasoning_data": null, "created_at": "BASE_TS", "updated_at": "BASE_TS", "completed_at": null } ] }