{
    "stage": "GPS-REPORTS-R2.1-UI-CLEANUP-SQL-FOUNDATION",
    "generated_at": "2026-06-23T01:58:23+03:00",
    "sql_status": {
        "ready": true,
        "storage": "SQL activ + JSON fallback",
        "existing_tables": [
            "gps_report_companies",
            "gps_report_vehicles",
            "gps_report_drivers",
            "gps_report_document_series",
            "gps_report_trip_purposes",
            "gps_report_stop_types",
            "gps_report_rules",
            "gps_report_signatures"
        ],
        "missing_tables": [],
        "sql_file": "/home/dafi/down/deriox_gps_reports_r2_1_sql_foundation.sql"
    },
    "settings": {
        "meta": {
            "stage": "GPS-REPORTS-R2.1-UI-CLEANUP-SQL-FOUNDATION",
            "updated_at": "2026-05-10T12:12:10+03:00",
            "storage": "sql_primary_json_fallback"
        },
        "company": {
            "name": "DAFI DITION SRL",
            "cui": "RO28431682",
            "reg_com": "J2016000927168",
            "address": "STR. PRIMAVERII, NR. 28, sat Isalnita, com. Isalnita",
            "city": "Isalnita",
            "county": "Dolj",
            "phone": "0768458207",
            "email": "danf12000@yahoo.com",
            "fleet_manager": "Firu Dorin Danut",
            "fleet_manager_role": "Administrator flotă",
            "default_base_name": "Bază / depozit",
            "default_base_address": "",
            "default_base_city": "IŞALNIŢA",
            "default_base_county": "Dolj",
            "default_base_lat": "44.3413670",
            "default_base_lng": "23.7402090",
            "default_base_radius_m": "100"
        },
        "vehicle_defaults": {
            "plate": "",
            "brand_model": "",
            "vin": "",
            "vehicle_type": "Autoturism / distribuție ușoară",
            "fuel_type": "Motorină",
            "consumption_mixed_l_100km": "7.50",
            "odometer_source": "Kilometraj GPS estimat",
            "speed_limit_default": "80.00"
        },
        "driver_defaults": {
            "name": "Firu Dorin Danut",
            "phone": "0768458207",
            "email": "danf12000@yahoo.com",
            "role": "Șofer",
            "license_category": "B",
            "signature_required": "1"
        },
        "series": {
            "trip_sheet_prefix": "DPX",
            "trip_sheet_next": "000001",
            "stops_prefix": "DRO",
            "stops_next": "000001",
            "distance_prefix": "DKM",
            "distance_next": "000001",
            "activity_prefix": "DAC",
            "activity_next": "000001",
            "speeding_prefix": "DVZ",
            "speeding_next": "000001",
            "personal_km_prefix": "DPK",
            "personal_km_next": "000001",
            "delivery_stops_prefix": "ANX",
            "delivery_stops_next": "000001"
        },
        "trip_purposes": {
            "business_default": "Distribuție marfă",
            "available": "Distribuție marfă\nTransport marfă\nVizită client\nIntervenție / service\nAprovizionare\nÎntâlnire business\nCurierat\nVerificare teren\nDeplasare administrativă\nDeplasare personală\nAlt scop"
        },
        "stop_types": {
            "available": "Client\nMagazin\nDepozit\nPauză\nAlimentare\nService\nAcasă\nOprire neautorizată\nStaționare tehnică\nMagazin închis\nLivrare nereușită\nAlt motiv",
            "minimum_stop_minutes": "3",
            "minimum_stationary_minutes": "10"
        },
        "gps_rules": {
            "max_accuracy_m_report": "50",
            "max_accuracy_m_diagnostic": "200",
            "minimum_movement_m": "15",
            "moving_speed_threshold_kmh": "5",
            "physical_max_speed_kmh": "160",
            "speeding_confirmation_points": "3",
            "speeding_min_duration_seconds": "8",
            "gps_gap_minutes": "3",
            "ignore_depot_drift": "1",
            "require_city_county": "1",
            "show_quality_warning": "1",
            "raw_distance_is_official": "0"
        },
        "fuel": {
            "default_price_ron_l": "7.20",
            "include_driver_cost": "0",
            "driver_cost_ron_hour": "0",
            "fuel_report_label": "Consum estimat, calculat din km validați și norma vehiculului"
        },
        "signatures": {
            "prepared_by_name": "",
            "prepared_by_role": "Dispecer / operator",
            "verified_by_name": "",
            "verified_by_role": "Administrator flotă",
            "driver_declaration": "Subsemnatul declar că informațiile înscrise în prezenta foaie de parcurs sunt corecte și complete."
        },
        "pdf": {
            "footer": "DERIOX GPS – Control total, drumuri sigure.",
            "include_quality_box": "1",
            "include_generated_at": "1",
            "include_operator_signature": "1",
            "include_driver_signature": "1"
        }
    },
    "report_catalog": [
        {
            "key": "trip_sheet",
            "name": "Foaie de parcurs",
            "purpose": "Document administrativ pentru justificarea curselor, kilometrilor, scopului deplasării și semnăturilor.",
            "maps": [
                "company",
                "vehicle_defaults",
                "driver_defaults",
                "series",
                "trip_purposes",
                "fuel",
                "signatures",
                "gps_rules"
            ],
            "warning": "Nu folosește distanța brută dacă există salturi GPS sau acuratețe slabă."
        },
        {
            "key": "stops",
            "name": "Raport opriri",
            "purpose": "Opriri, staționări, durată, locație, tip oprire, observații și dovezi din livrări.",
            "maps": [
                "stop_types",
                "gps_rules",
                "company",
                "vehicle_defaults",
                "driver_defaults"
            ],
            "warning": "Oprirea trebuie să aibă minim localitate și județ sau coordonate marcate ca locație neconfirmată."
        },
        {
            "key": "distance",
            "name": "Distanță parcursă",
            "purpose": "Segmente validate, km validați, km brut ignorat și calitate GPS.",
            "maps": [
                "gps_rules",
                "vehicle_defaults",
                "company"
            ],
            "warning": "Distanța din salturi GPS se afișează ca diagnostic, nu ca valoare oficială."
        },
        {
            "key": "activity",
            "name": "Raport activitate",
            "purpose": "Cronologie: tracking pornit, mișcare, opriri, pauze, gap-uri GPS, livrări și incidente.",
            "maps": [
                "gps_rules",
                "stop_types",
                "trip_purposes"
            ],
            "warning": "Evenimentele suspecte se marchează separat de evenimentele validate."
        },
        {
            "key": "speeding",
            "name": "Depășiri viteză",
            "purpose": "Depășiri validate prin mișcare reală, nu prin salturi GPS.",
            "maps": [
                "gps_rules",
                "vehicle_defaults"
            ],
            "warning": "Nu raportează 120 km/h în curte/depozit fără deplasare geometrică reală."
        },
        {
            "key": "personal_km",
            "name": "KM interes personal",
            "purpose": "Separare business/personal/neclasificat și aprobare manager.",
            "maps": [
                "trip_purposes",
                "signatures",
                "series"
            ],
            "warning": "Segmentele neclasificate rămân vizibile până la aprobare."
        }
    ]
}