{"openapi":"3.1.0","info":{"title":"GISMart API","description":"Geospatial enablement API for business software.","version":"1.0.0"},"paths":{"/health":{"get":{"tags":["system"],"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Health Get"}}}}}}},"/api/version-policy":{"get":{"tags":["system"],"summary":"Api Version Policy","operationId":"api_version_policy_api_version_policy_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Api Version Policy Api Version Policy Get"}}}}}}},"/api/v1/auth/status":{"get":{"tags":["auth"],"summary":"Auth Status","description":"Endpoint pubblico: indica se il server accetta dev headers (usato dal frontend).","operationId":"auth_status_api_v1_auth_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Auth Status Api V1 Auth Status Get"}}}}}}},"/api/v1/brand/config":{"get":{"tags":["system"],"summary":"Brand Config","description":"Endpoint pubblico: configurazione white-label per login/register page.","operationId":"brand_config_api_v1_brand_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Brand Config Api V1 Brand Config Get"}}}}}}},"/api/v1/auth/me":{"get":{"tags":["auth"],"summary":"Auth Me","operationId":"auth_me_api_v1_auth_me_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Auth Me Api V1 Auth Me Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/license":{"get":{"tags":["licenza"],"summary":"Stato","operationId":"stato_api_v1_license_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Stato Api V1 License Get"}}}}}}},"/api/v1/geocode":{"post":{"tags":["gismart-core"],"summary":"Geocode Address","operationId":"geocode_address_api_v1_geocode_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeocodeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeocodeResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/providers/status":{"get":{"tags":["gismart-core"],"summary":"Provider Status","operationId":"provider_status_api_v1_providers_status_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProviderStatusRead"},"title":"Response Provider Status Api V1 Providers Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/providers/overview":{"get":{"tags":["gismart-core"],"summary":"Provider Operations Overview","operationId":"provider_operations_overview_api_v1_providers_overview_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderOperationsOverviewRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/providers/test/{service_name}":{"post":{"tags":["gismart-core"],"summary":"Test Provider","operationId":"test_provider_api_v1_providers_test__service_name__post","parameters":[{"name":"service_name","in":"path","required":true,"schema":{"type":"string","title":"Service Name"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderTestRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderTestResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/providers/test/{service_name}/async":{"post":{"tags":["gismart-core"],"summary":"Test Provider Async","operationId":"test_provider_async_api_v1_providers_test__service_name__async_post","parameters":[{"name":"service_name","in":"path","required":true,"schema":{"type":"string","title":"Service Name"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderTestRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackgroundJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/connectors":{"get":{"tags":["gismart-core"],"summary":"List Connectors","operationId":"list_connectors_api_v1_connectors_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConnectorRead"},"title":"Response List Connectors Api V1 Connectors Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/connectors/health/summary":{"get":{"tags":["gismart-core"],"summary":"Get Connector Health Summary","operationId":"get_connector_health_summary_api_v1_connectors_health_summary_get","parameters":[{"name":"window_hours","in":"query","required":false,"schema":{"type":"integer","maximum":168,"minimum":1,"default":24,"title":"Window Hours"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorHealthSummaryRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/connectors/{connector_id}/config":{"put":{"tags":["gismart-core"],"summary":"Upsert Connector Config","operationId":"upsert_connector_config_api_v1_connectors__connector_id__config_put","parameters":[{"name":"connector_id","in":"path","required":true,"schema":{"type":"string","title":"Connector Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorConfigUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/connectors/{connector_id}/probe":{"post":{"tags":["gismart-core"],"summary":"Probe Connector","operationId":"probe_connector_api_v1_connectors__connector_id__probe_post","parameters":[{"name":"connector_id","in":"path","required":true,"schema":{"type":"string","title":"Connector Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorProbeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorProbeResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/connectors/{connector_id}/preview":{"post":{"tags":["gismart-core"],"summary":"Preview Connector","operationId":"preview_connector_api_v1_connectors__connector_id__preview_post","parameters":[{"name":"connector_id","in":"path","required":true,"schema":{"type":"string","title":"Connector Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorPreviewRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkEntityPreviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/connectors/{connector_id}/import":{"post":{"tags":["gismart-core"],"summary":"Import Connector Records","operationId":"import_connector_records_api_v1_connectors__connector_id__import_post","parameters":[{"name":"connector_id","in":"path","required":true,"schema":{"type":"string","title":"Connector Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorImportRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkEntityImportResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/connectors/{connector_id}/secrets/rotate":{"post":{"tags":["gismart-core"],"summary":"Rotate Connector Secrets","operationId":"rotate_connector_secrets_api_v1_connectors__connector_id__secrets_rotate_post","parameters":[{"name":"connector_id","in":"path","required":true,"schema":{"type":"string","title":"Connector Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSecretRotateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/connectors/{connector_id}/runs":{"get":{"tags":["gismart-core"],"summary":"List Connector Runs","operationId":"list_connector_runs_api_v1_connectors__connector_id__runs_get","parameters":[{"name":"connector_id","in":"path","required":true,"schema":{"type":"string","title":"Connector Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":25,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConnectorImportRunRead"},"title":"Response List Connector Runs Api V1 Connectors  Connector Id  Runs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/connectors/{connector_id}/import-async":{"post":{"tags":["gismart-core"],"summary":"Import Connector Records Async","operationId":"import_connector_records_async_api_v1_connectors__connector_id__import_async_post","parameters":[{"name":"connector_id","in":"path","required":true,"schema":{"type":"string","title":"Connector Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorImportRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackgroundJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/entities":{"get":{"tags":["gismart-core"],"summary":"List Entities","operationId":"list_entities_api_v1_entities_get","parameters":[{"name":"entity_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":5000,"minimum":1,"default":1000,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BusinessEntityRead"},"title":"Response List Entities Api V1 Entities Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["gismart-core"],"summary":"Create Entity","operationId":"create_entity_api_v1_entities_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessEntityCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessEntityRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/entities/{entity_id}":{"get":{"tags":["gismart-core"],"summary":"Get Entity","operationId":"get_entity_api_v1_entities__entity_id__get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessEntityRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["gismart-core"],"summary":"Update Entity","operationId":"update_entity_api_v1_entities__entity_id__put","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessEntityUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessEntityRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["gismart-core"],"summary":"Delete Entity","operationId":"delete_entity_api_v1_entities__entity_id__delete","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/map/entities":{"get":{"tags":["gismart-core"],"summary":"Map Entities","operationId":"map_entities_api_v1_map_entities_get","parameters":[{"name":"entity_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":5000,"minimum":1,"default":1000,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/map/entities/nearby":{"get":{"tags":["gismart-core"],"summary":"Nearby Entities","operationId":"nearby_entities_api_v1_map_entities_nearby_get","parameters":[{"name":"latitude","in":"query","required":true,"schema":{"type":"number","title":"Latitude"}},{"name":"longitude","in":"query","required":true,"schema":{"type":"number","title":"Longitude"}},{"name":"radius_meters","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":5000,"title":"Radius Meters"}},{"name":"entity_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/layers":{"post":{"tags":["gismart-core"],"summary":"Create Layer","operationId":"create_layer_api_v1_layers_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialLayerCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialLayerRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["gismart-core"],"summary":"List Layers","operationId":"list_layers_api_v1_layers_get","parameters":[{"name":"entity_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpatialLayerRead"},"title":"Response List Layers Api V1 Layers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/platform/gis-settings":{"get":{"tags":["gismart-core"],"summary":"Get Platform Gis Settings","operationId":"get_platform_gis_settings_api_v1_platform_gis_settings_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GisSettingsRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["gismart-core"],"summary":"Update Platform Gis Settings","operationId":"update_platform_gis_settings_api_v1_platform_gis_settings_put","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GisSettingsUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GisSettingsRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/layers/{layer_id}":{"put":{"tags":["gismart-core"],"summary":"Update Layer","operationId":"update_layer_api_v1_layers__layer_id__put","parameters":[{"name":"layer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Layer Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialLayerConfigUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialLayerRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/spatial/within":{"post":{"tags":["gismart-core"],"summary":"Within Geometry","operationId":"within_geometry_api_v1_spatial_within_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialGeometryQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/spatial/intersects":{"post":{"tags":["gismart-core"],"summary":"Intersects Geometry","operationId":"intersects_geometry_api_v1_spatial_intersects_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialGeometryQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/spatial/contains":{"post":{"tags":["gismart-core"],"summary":"Contains Geometry","operationId":"contains_geometry_api_v1_spatial_contains_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialGeometryQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/spatial/distance":{"post":{"tags":["gismart-core"],"summary":"Distance To Point","operationId":"distance_to_point_api_v1_spatial_distance_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialDistanceQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DistanceResult"},"title":"Response Distance To Point Api V1 Spatial Distance Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/spatial/clusters":{"post":{"tags":["gismart-core"],"summary":"Spatial Clusters","operationId":"spatial_clusters_api_v1_spatial_clusters_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialClusterQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResult"},"title":"Response Spatial Clusters Api V1 Spatial Clusters Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/spatial/dbscan-clusters":{"post":{"tags":["gismart-core"],"summary":"Spatial Dbscan Clusters","operationId":"spatial_dbscan_clusters_api_v1_spatial_dbscan_clusters_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbscanClusterQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DbscanClusterResult"},"title":"Response Spatial Dbscan Clusters Api V1 Spatial Dbscan Clusters Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/spatial/density-grid":{"post":{"tags":["gismart-core"],"summary":"Spatial Density Grid","operationId":"spatial_density_grid_api_v1_spatial_density_grid_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DensityGridQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DensityCell"},"title":"Response Spatial Density Grid Api V1 Spatial Density Grid Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/spatial/heatmap":{"post":{"tags":["gismart-core"],"summary":"Spatial Heatmap","operationId":"spatial_heatmap_api_v1_spatial_heatmap_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeatmapQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HeatmapPoint"},"title":"Response Spatial Heatmap Api V1 Spatial Heatmap Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/spatial/nearest-service-zones":{"post":{"tags":["gismart-core"],"summary":"Nearest Service Zones","operationId":"nearest_service_zones_api_v1_spatial_nearest_service_zones_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialDistanceQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceZoneDistanceResult"},"title":"Response Nearest Service Zones Api V1 Spatial Nearest Service Zones Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/spatial/coverage-gaps":{"post":{"tags":["gismart-core"],"summary":"Spatial Coverage Gaps","operationId":"spatial_coverage_gaps_api_v1_spatial_coverage_gaps_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoverageGapQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/spatial/service-zone-overlaps":{"get":{"tags":["gismart-core"],"summary":"Spatial Service Zone Overlaps","operationId":"spatial_service_zone_overlaps_api_v1_spatial_service_zone_overlaps_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceZoneOverlapRead"},"title":"Response Spatial Service Zone Overlaps Api V1 Spatial Service Zone Overlaps Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/service-zones":{"post":{"tags":["gismart-core"],"summary":"Create Service Zone","operationId":"create_service_zone_api_v1_service_zones_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceZoneCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceZoneRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["gismart-core"],"summary":"List Service Zones","operationId":"list_service_zones_api_v1_service_zones_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceZoneRead"},"title":"Response List Service Zones Api V1 Service Zones Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/service-zones/{zone_id}":{"put":{"tags":["gismart-core"],"summary":"Update Service Zone","operationId":"update_service_zone_api_v1_service_zones__zone_id__put","parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Zone Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceZoneUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceZoneRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/map/generate":{"post":{"tags":["gismart-core"],"summary":"Generate Map","operationId":"generate_map_api_v1_map_generate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MapDatasetRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/routing/plan":{"post":{"tags":["gismart-core"],"summary":"Routing Plan","operationId":"routing_plan_api_v1_routing_plan_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutePlanQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutePlanResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/routing/matrix":{"post":{"tags":["gismart-core"],"summary":"Routing Matrix","operationId":"routing_matrix_api_v1_routing_matrix_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteMatrixQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RouteMatrixEntry"},"title":"Response Routing Matrix Api V1 Routing Matrix Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/routing/isochrone":{"post":{"tags":["gismart-core"],"summary":"Routing Isochrone","operationId":"routing_isochrone_api_v1_routing_isochrone_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteIsochroneQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteIsochroneResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/routing/matrix/benchmark":{"post":{"tags":["gismart-core"],"summary":"Routing Matrix Benchmark","operationId":"routing_matrix_benchmark_api_v1_routing_matrix_benchmark_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteMatrixBenchmarkQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteMatrixBenchmarkResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/zone-intelligence/point":{"post":{"tags":["gismart-core"],"summary":"Zone Intelligence Point","operationId":"zone_intelligence_point_api_v1_zone_intelligence_point_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZonePointIntelligenceQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZonePointIntelligenceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/zone-intelligence/service-zones/{zone_id}":{"get":{"tags":["gismart-core"],"summary":"Zone Intelligence Service Zone","operationId":"zone_intelligence_service_zone_api_v1_zone_intelligence_service_zones__zone_id__get","parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Zone Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceZoneIntelligenceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/weather/point":{"post":{"tags":["gismart-core"],"summary":"Weather Point","operationId":"weather_point_api_v1_weather_point_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeatherQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeatherRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/economics/point":{"post":{"tags":["gismart-core"],"summary":"Economics Point","operationId":"economics_point_api_v1_economics_point_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomicsQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomicsRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/io/entities/import":{"post":{"tags":["gismart-core"],"summary":"Import Entities","operationId":"import_entities_api_v1_io_entities_import_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkEntityImportRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkEntityImportResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/io/entities/import-async":{"post":{"tags":["gismart-core"],"summary":"Import Entities Async","operationId":"import_entities_async_api_v1_io_entities_import_async_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkEntityImportRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackgroundJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/io/entities/preview-async":{"post":{"tags":["gismart-core"],"summary":"Preview Entities Import Async","operationId":"preview_entities_import_async_api_v1_io_entities_preview_async_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkEntityImportRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackgroundJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/io/entities/project-async":{"post":{"tags":["gismart-core"],"summary":"Project Entities Import Async","operationId":"project_entities_import_async_api_v1_io_entities_project_async_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkEntityImportRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackgroundJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/io/entities/preview":{"post":{"tags":["gismart-core"],"summary":"Preview Entities Import","operationId":"preview_entities_import_api_v1_io_entities_preview_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkEntityImportRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkEntityPreviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/io/entities/project":{"post":{"tags":["gismart-core"],"summary":"Project Entities Import","operationId":"project_entities_import_api_v1_io_entities_project_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkEntityImportRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/io/entities/export":{"post":{"tags":["gismart-core"],"summary":"Export Entities","operationId":"export_entities_api_v1_io_entities_export_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkEntityExportRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkEntityExportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/entities/{entity_id}/locations":{"post":{"tags":["gismart-core"],"summary":"Create Entity Location","operationId":"create_entity_location_api_v1_entities__entity_id__locations_post","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityLocationCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityLocationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["gismart-core"],"summary":"List Entity Locations","operationId":"list_entity_locations_api_v1_entities__entity_id__locations_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EntityLocationRead"},"title":"Response List Entity Locations Api V1 Entities  Entity Id  Locations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/entities/{entity_id}/locations/timeline":{"get":{"tags":["gismart-core"],"summary":"Get Entity Location Timeline","operationId":"get_entity_location_timeline_api_v1_entities__entity_id__locations_timeline_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Date To"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/spatial/time-window":{"post":{"tags":["gismart-core"],"summary":"Spatial Time Window","operationId":"spatial_time_window_api_v1_spatial_time_window_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialTimelineQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/spatial/join/service-zones":{"post":{"tags":["gismart-core"],"summary":"Spatial Join Service Zones","operationId":"spatial_join_service_zones_api_v1_spatial_join_service_zones_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialJoinQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpatialJoinResult"},"title":"Response Spatial Join Service Zones Api V1 Spatial Join Service Zones Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/spatial/enrich/entities":{"post":{"tags":["gismart-core"],"summary":"Enrich Entities","operationId":"enrich_entities_api_v1_spatial_enrich_entities_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialEnrichmentQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EntityEnrichmentRead"},"title":"Response Enrich Entities Api V1 Spatial Enrich Entities Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/spatial/enrich/entities/async":{"post":{"tags":["gismart-core"],"summary":"Enrich Entities Async","operationId":"enrich_entities_async_api_v1_spatial_enrich_entities_async_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialEnrichmentQuery"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackgroundJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/io/entities/geocode-async":{"post":{"tags":["gismart-core"],"summary":"Geocode Missing Entities Async","operationId":"geocode_missing_entities_async_api_v1_io_entities_geocode_async_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingLocationGeocodeQuery"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackgroundJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/io/geodata/catalog":{"get":{"tags":["gismart-core"],"summary":"Get Geodata Catalog","operationId":"get_geodata_catalog_api_v1_io_geodata_catalog_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GeoDatasetEntry"},"title":"Response Get Geodata Catalog Api V1 Io Geodata Catalog Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/io/geodata/fetch-async":{"post":{"tags":["gismart-core"],"summary":"Fetch Geodata Async","operationId":"fetch_geodata_async_api_v1_io_geodata_fetch_async_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoDataFetchRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackgroundJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/metadata/sources":{"get":{"tags":["gismart-core","metadata"],"summary":"Metadata Sources","description":"Catalogo delle fonti dati disponibili per dominio.\nDescrive provider attivi, copertura geografica e frequenza di aggiornamento.\nNon richiede autenticazione.","operationId":"metadata_sources_api_v1_metadata_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Metadata Sources Api V1 Metadata Sources Get"}}}}}}},"/api/v1/metadata/plans":{"get":{"tags":["gismart-core","metadata"],"summary":"Metadata Plans","description":"Piani di accesso disponibili con domini, quota e endpoint inclusi.\nNon richiede autenticazione.","operationId":"metadata_plans_api_v1_metadata_plans_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Metadata Plans Api V1 Metadata Plans Get"}}}}}}},"/api/v1/cities/{city}":{"get":{"tags":["gismart-core","cities"],"summary":"Resolve City","description":"Risolve un nome città / codice ISTAT / codice NUTS in coordinate e metadati canonici.\nPer l'Italia cerca prima in admin_boundaries (DB locale), poi usa il geocoder.\nPer l'estero usa direttamente il geocoder.","operationId":"resolve_city_api_v1_cities__city__get","parameters":[{"name":"city","in":"path","required":true,"schema":{"type":"string","title":"City"}},{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Codice ISO paese, es. IT, DE, FR","title":"Country"},"description":"Codice ISO paese, es. IT, DE, FR"},{"name":"level","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"comune | provincia | regione","title":"Level"},"description":"comune | provincia | regione"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolvedLocation"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cities/{city}/weather":{"get":{"tags":["gismart-core","cities"],"summary":"City Weather","description":"Meteo corrente e previsioni per la città richiesta.","operationId":"city_weather_api_v1_cities__city__weather_get","parameters":[{"name":"city","in":"path","required":true,"schema":{"type":"string","title":"City"}},{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":7,"minimum":1,"default":2,"title":"Days"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CityWeatherRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cities/{city}/business":{"get":{"tags":["gismart-core","cities"],"summary":"City Business","description":"Indicatori economici e densità imprese per la città richiesta.","operationId":"city_business_api_v1_cities__city__business_get","parameters":[{"name":"city","in":"path","required":true,"schema":{"type":"string","title":"City"}},{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"}},{"name":"radius_meters","in":"query","required":false,"schema":{"type":"integer","maximum":50000,"minimum":500,"default":5000,"title":"Radius Meters"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CityBusinessRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cities/{city}/real-estate":{"get":{"tags":["gismart-core","cities"],"summary":"City Real Estate","description":"Indicatori immobiliari per la città richiesta.\nPer ora delega al provider economics che include prezzi e indici immobiliari.\nIn futuro può puntare a un provider dedicato real-estate.","operationId":"city_real_estate_api_v1_cities__city__real_estate_get","parameters":[{"name":"city","in":"path","required":true,"schema":{"type":"string","title":"City"}},{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CityRealEstateRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cities/{city}/profile":{"get":{"tags":["gismart-core","cities"],"summary":"City Profile","description":"Profilo territoriale aggregato: location + meteo + business + real-estate.\nI domini che non sono disponibili vengono omessi con un warning nel campo `warnings`.","operationId":"city_profile_api_v1_cities__city__profile_get","parameters":[{"name":"city","in":"path","required":true,"schema":{"type":"string","title":"City"}},{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":7,"minimum":1,"default":2,"title":"Days"}},{"name":"radius_meters","in":"query","required":false,"schema":{"type":"integer","maximum":50000,"minimum":500,"default":5000,"title":"Radius Meters"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CityProfileRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cities/{city}/population":{"get":{"tags":["gismart-core","cities"],"summary":"City Population","description":"Dati demografici ISTAT per la città richiesta.\nCerca in city_demographics per boundary_code ISTAT o per nome.\nRichiede che i dati siano stati caricati con load_demographics.py.","operationId":"city_population_api_v1_cities__city__population_get","parameters":[{"name":"city","in":"path","required":true,"schema":{"type":"string","title":"City"}},{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"}},{"name":"reference_year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2099,"minimum":2000},{"type":"null"}],"title":"Reference Year"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CityPopulationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/customers":{"post":{"tags":["sales"],"summary":"Create Customer","operationId":"create_customer_api_v1_sales_customers_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesCustomerCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesCustomerRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["sales"],"summary":"List Customers","operationId":"list_customers_api_v1_sales_customers_get","parameters":[{"name":"sales_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sales Status"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SalesCustomerRead"},"title":"Response List Customers Api V1 Sales Customers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/leads":{"post":{"tags":["sales"],"summary":"Create Lead","operationId":"create_lead_api_v1_sales_leads_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesLeadCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesLeadRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["sales"],"summary":"List Leads","operationId":"list_leads_api_v1_sales_leads_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SalesLeadRead"},"title":"Response List Leads Api V1 Sales Leads Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/leads/{lead_id}/convert":{"post":{"tags":["sales"],"summary":"Convert Lead","operationId":"convert_lead_api_v1_sales_leads__lead_id__convert_post","parameters":[{"name":"lead_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Lead Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesLeadConvertRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesLeadConvertResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/customers/{customer_id}/assignment":{"put":{"tags":["sales"],"summary":"Assign Customer","operationId":"assign_customer_api_v1_sales_customers__customer_id__assignment_put","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesCustomerAssignmentUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesCustomerRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/territories":{"post":{"tags":["sales"],"summary":"Create Territory","operationId":"create_territory_api_v1_sales_territories_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesTerritoryCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesTerritoryRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["sales"],"summary":"List Territories","operationId":"list_territories_api_v1_sales_territories_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SalesTerritoryRead"},"title":"Response List Territories Api V1 Sales Territories Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/opportunities":{"post":{"tags":["sales"],"summary":"Create Opportunity","operationId":"create_opportunity_api_v1_sales_opportunities_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesOpportunityCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesOpportunityRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["sales"],"summary":"List Opportunities","operationId":"list_opportunities_api_v1_sales_opportunities_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SalesOpportunityRead"},"title":"Response List Opportunities Api V1 Sales Opportunities Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/opportunities/{opportunity_id}":{"put":{"tags":["sales"],"summary":"Update Opportunity","operationId":"update_opportunity_api_v1_sales_opportunities__opportunity_id__put","parameters":[{"name":"opportunity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Opportunity Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesOpportunityUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesOpportunityRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/activities":{"post":{"tags":["sales"],"summary":"Create Activity","operationId":"create_activity_api_v1_sales_activities_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesActivityCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesActivityRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["sales"],"summary":"List Activities","operationId":"list_activities_api_v1_sales_activities_get","parameters":[{"name":"entity_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"}},{"name":"entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Entity Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SalesActivityRead"},"title":"Response List Activities Api V1 Sales Activities Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/suppliers":{"post":{"tags":["sales"],"summary":"Create Supplier","operationId":"create_supplier_api_v1_sales_suppliers_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesSupplierCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesSupplierRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["sales"],"summary":"List Suppliers","operationId":"list_suppliers_api_v1_sales_suppliers_get","parameters":[{"name":"supplier_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Supplier Status"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SalesSupplierRead"},"title":"Response List Suppliers Api V1 Sales Suppliers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/invoices":{"post":{"tags":["sales"],"summary":"Create Invoice","operationId":"create_invoice_api_v1_sales_invoices_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesInvoiceCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesInvoiceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["sales"],"summary":"List Invoices","operationId":"list_invoices_api_v1_sales_invoices_get","parameters":[{"name":"invoice_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Status"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SalesInvoiceRead"},"title":"Response List Invoices Api V1 Sales Invoices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/follow-ups":{"post":{"tags":["sales"],"summary":"Create Follow Up","operationId":"create_follow_up_api_v1_sales_follow_ups_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesFollowUpCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesFollowUpRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["sales"],"summary":"List Follow Ups","operationId":"list_follow_ups_api_v1_sales_follow_ups_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"assigned_user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SalesFollowUpRead"},"title":"Response List Follow Ups Api V1 Sales Follow Ups Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/metrics/revenue-by-customer":{"get":{"tags":["sales"],"summary":"Get Revenue By Customer","operationId":"get_revenue_by_customer_api_v1_sales_metrics_revenue_by_customer_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RevenueByCustomer"},"title":"Response Get Revenue By Customer Api V1 Sales Metrics Revenue By Customer Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/dashboard/overview":{"get":{"tags":["sales"],"summary":"Get Dashboard Overview","operationId":"get_dashboard_overview_api_v1_sales_dashboard_overview_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesDashboardOverview"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/dashboard/pipeline-summary":{"get":{"tags":["sales"],"summary":"Get Pipeline Summary","operationId":"get_pipeline_summary_api_v1_sales_dashboard_pipeline_summary_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/dashboard/forecast-by-owner":{"get":{"tags":["sales"],"summary":"Get Forecast By Owner","operationId":"get_forecast_by_owner_api_v1_sales_dashboard_forecast_by_owner_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ForecastByOwner"},"title":"Response Get Forecast By Owner Api V1 Sales Dashboard Forecast By Owner Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/dashboard/forecast-by-territory":{"get":{"tags":["sales"],"summary":"Get Forecast By Territory","operationId":"get_forecast_by_territory_api_v1_sales_dashboard_forecast_by_territory_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ForecastByTerritory"},"title":"Response Get Forecast By Territory Api V1 Sales Dashboard Forecast By Territory Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/dashboard/customers-without-invoices":{"get":{"tags":["sales"],"summary":"Get Customers Without Invoices","operationId":"get_customers_without_invoices_api_v1_sales_dashboard_customers_without_invoices_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CustomerWithoutInvoices"},"title":"Response Get Customers Without Invoices Api V1 Sales Dashboard Customers Without Invoices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/dashboard/customers-to-contact":{"get":{"tags":["sales"],"summary":"Get Customers To Contact","operationId":"get_customers_to_contact_api_v1_sales_dashboard_customers_to_contact_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":7,"title":"Days"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CustomersToContact"},"title":"Response Get Customers To Contact Api V1 Sales Dashboard Customers To Contact Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/dashboard/uncovered-customers":{"get":{"tags":["sales"],"summary":"Get Uncovered Customers","operationId":"get_uncovered_customers_api_v1_sales_dashboard_uncovered_customers_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UncoveredCustomer"},"title":"Response Get Uncovered Customers Api V1 Sales Dashboard Uncovered Customers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/dashboard/nearby-suppliers":{"get":{"tags":["sales"],"summary":"Get Nearby Suppliers","description":"I fornitori vicini, per strada.\n\n`radius_meters` resta il raggio **in linea d'aria** entro cui cercare, ed e' giusto: la\ndistanza su strada e' sempre maggiore, quindi cio' che cade fuori dal cerchio non puo'\nrientrarci per strada.\n\n**Ogni elemento porta `su_strada`, e va guardato prima dei numeri.** Dove il motore di\npercorsi non e' configurato la risposta ricade sulla linea d'aria, che ha lo stesso\naspetto.","operationId":"get_nearby_suppliers_api_v1_sales_dashboard_nearby_suppliers_get","parameters":[{"name":"latitude","in":"query","required":true,"schema":{"type":"number","title":"Latitude"}},{"name":"longitude","in":"query","required":true,"schema":{"type":"number","title":"Longitude"}},{"name":"radius_meters","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":5000,"title":"Radius Meters"}},{"name":"supplier_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Supplier Status"}},{"name":"profilo","in":"query","required":false,"schema":{"enum":["auto","camion","bici","piedi"],"type":"string","default":"auto","title":"Profilo"}},{"name":"altezza_m","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":6,"exclusiveMinimum":0},{"type":"null"}],"title":"Altezza M"}},{"name":"peso_t","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":60,"exclusiveMinimum":0},{"type":"null"}],"title":"Peso T"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NearbySupplier"},"title":"Response Get Nearby Suppliers Api V1 Sales Dashboard Nearby Suppliers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/giro-visite":{"get":{"tags":["sales"],"summary":"Giro Visite","description":"La giornata di un agente, ordinata per strada.\n\nI clienti sono quelli con `next_follow_up_date` alla data richiesta — la stessa colonna\ndi «clienti da contattare», che pero' li elenca per nome. Un elenco per nome e una\ngiornata di visite sono due cose diverse: la seconda ha una strada dentro.\n\nSenza `assigned_user_id` si guarda la propria giornata. Con, quella di un altro agente:\nserve a chi pianifica per la squadra.\n\n**`su_strada` va guardato prima dell'ordine.** Senza motore di percorsi l'ordine resta\nquello di partenza, e un elenco riordinato ha lo stesso aspetto di uno che non lo e'.\nI clienti senza indirizzo geocodificato non spariscono: escono in `scartate`.","operationId":"giro_visite_api_v1_sales_giro_visite_get","parameters":[{"name":"latitude","in":"query","required":true,"schema":{"type":"number","description":"Da dove parte l'agente","title":"Latitude"},"description":"Da dove parte l'agente"},{"name":"longitude","in":"query","required":true,"schema":{"type":"number","title":"Longitude"}},{"name":"data","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Clienti con follow-up in questa data","title":"Data"},"description":"Clienti con follow-up in questa data"},{"name":"assigned_user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"La giornata di un altro agente","title":"Assigned User Id"},"description":"La giornata di un altro agente"},{"name":"latitudine_arrivo","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Per chi non torna dove e' partito","title":"Latitudine Arrivo"},"description":"Per chi non torna dove e' partito"},{"name":"longitudine_arrivo","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitudine Arrivo"}},{"name":"profilo","in":"query","required":false,"schema":{"enum":["auto","camion","bici","piedi"],"type":"string","default":"auto","title":"Profilo"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GiroVisite"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sales/territories/{territory_id}/area":{"get":{"tags":["sales"],"summary":"Area Territorio","description":"La forma vera di un territorio, e le due discordanze che contano.\n\nUn territorio era un cerchio: centro piu' raggio. Con `minuti_percorrenza` diventa\nun'isocrona, cioe' la forma di «fin dove arrivo in mezz'ora» — che e' quello che un\nterritorio significa per chi lo percorre.\n\nLe liste da guardare non sono i clienti dentro, che confermano quello che si sperava,\nma le due discordanze:\n\n- **`assegnati_fuori`** — clienti di questo territorio che dall'area non si\n  raggiungono. E' il caso che il cerchio nascondeva: sembravano dentro perche' vicini\n  in linea d'aria, e l'agente ci mette il doppio.\n- **`dentro_non_assegnati`** — clienti raggiungibili che pero' sono di qualcun altro o\n  di nessuno. E' dove il territorio puo' crescere senza allungare una strada.\n\n`minuti` serve a provare uno scenario («e se lo portassimo a 45 minuti?») senza\nmodificare il territorio.","operationId":"area_territorio_api_v1_sales_territories__territory_id__area_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Territory Id"}},{"name":"minuti","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":120,"minimum":1},{"type":"null"}],"description":"Sovrascrive `minuti_percorrenza` per provare uno scenario","title":"Minuti"},"description":"Sovrascrive `minuti_percorrenza` per provare uno scenario"},{"name":"profilo","in":"query","required":false,"schema":{"enum":["auto","camion","bici","piedi"],"type":"string","default":"auto","title":"Profilo"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AreaTerritorio"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/logistics/warehouses":{"post":{"tags":["logistics"],"summary":"Create Warehouse","operationId":"create_warehouse_api_v1_logistics_warehouses_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogisticsWarehouseCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogisticsWarehouseRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["logistics"],"summary":"List Warehouses","operationId":"list_warehouses_api_v1_logistics_warehouses_get","parameters":[{"name":"warehouse_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Warehouse Status"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LogisticsWarehouseRead"},"title":"Response List Warehouses Api V1 Logistics Warehouses Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/logistics/warehouses/{warehouse_id}":{"get":{"tags":["logistics"],"summary":"Get Warehouse","operationId":"get_warehouse_api_v1_logistics_warehouses__warehouse_id__get","parameters":[{"name":"warehouse_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Warehouse Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogisticsWarehouseRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["logistics"],"summary":"Update Warehouse","operationId":"update_warehouse_api_v1_logistics_warehouses__warehouse_id__put","parameters":[{"name":"warehouse_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Warehouse Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogisticsWarehouseCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogisticsWarehouseRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["logistics"],"summary":"Delete Warehouse","operationId":"delete_warehouse_api_v1_logistics_warehouses__warehouse_id__delete","parameters":[{"name":"warehouse_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Warehouse Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/logistics/vehicles":{"post":{"tags":["logistics"],"summary":"Create Vehicle","operationId":"create_vehicle_api_v1_logistics_vehicles_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogisticsVehicleCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogisticsVehicleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["logistics"],"summary":"List Vehicles","operationId":"list_vehicles_api_v1_logistics_vehicles_get","parameters":[{"name":"vehicle_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vehicle Status"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LogisticsVehicleRead"},"title":"Response List Vehicles Api V1 Logistics Vehicles Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/logistics/vehicles/{vehicle_id}":{"get":{"tags":["logistics"],"summary":"Get Vehicle","operationId":"get_vehicle_api_v1_logistics_vehicles__vehicle_id__get","parameters":[{"name":"vehicle_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Vehicle Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogisticsVehicleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["logistics"],"summary":"Update Vehicle","operationId":"update_vehicle_api_v1_logistics_vehicles__vehicle_id__put","parameters":[{"name":"vehicle_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Vehicle Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogisticsVehicleCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogisticsVehicleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["logistics"],"summary":"Delete Vehicle","operationId":"delete_vehicle_api_v1_logistics_vehicles__vehicle_id__delete","parameters":[{"name":"vehicle_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Vehicle Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/logistics/deliveries":{"post":{"tags":["logistics"],"summary":"Create Delivery","operationId":"create_delivery_api_v1_logistics_deliveries_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogisticsDeliveryCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogisticsDeliveryRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["logistics"],"summary":"List Deliveries","operationId":"list_deliveries_api_v1_logistics_deliveries_get","parameters":[{"name":"delivery_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Delivery Status"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LogisticsDeliveryRead"},"title":"Response List Deliveries Api V1 Logistics Deliveries Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/logistics/deliveries/{delivery_id}":{"get":{"tags":["logistics"],"summary":"Get Delivery","operationId":"get_delivery_api_v1_logistics_deliveries__delivery_id__get","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Delivery Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogisticsDeliveryRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["logistics"],"summary":"Update Delivery","operationId":"update_delivery_api_v1_logistics_deliveries__delivery_id__put","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Delivery Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogisticsDeliveryCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogisticsDeliveryRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["logistics"],"summary":"Delete Delivery","operationId":"delete_delivery_api_v1_logistics_deliveries__delivery_id__delete","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Delivery Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/logistics/dashboard/overview":{"get":{"tags":["logistics"],"summary":"Logistics Overview","operationId":"logistics_overview_api_v1_logistics_dashboard_overview_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogisticsOverview"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/logistics/dashboard/unassigned-deliveries":{"get":{"tags":["logistics"],"summary":"Unassigned Deliveries","operationId":"unassigned_deliveries_api_v1_logistics_dashboard_unassigned_deliveries_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeliveryWithoutAssignment"},"title":"Response Unassigned Deliveries Api V1 Logistics Dashboard Unassigned Deliveries Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/logistics/dashboard/workload-by-warehouse":{"get":{"tags":["logistics"],"summary":"Workload By Warehouse","operationId":"workload_by_warehouse_api_v1_logistics_dashboard_workload_by_warehouse_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WarehouseWorkload"},"title":"Response Workload By Warehouse Api V1 Logistics Dashboard Workload By Warehouse Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/logistics/dashboard/nearby-warehouses":{"get":{"tags":["logistics"],"summary":"Nearby Warehouses","description":"I magazzini vicini, per strada.\n\n`radius_meters` resta il raggio **in linea d'aria** entro cui cercare, ed e' giusto:\nla distanza su strada e' sempre maggiore, quindi cio' che cade fuori dal cerchio non\npuo' rientrarci per strada. E' il filtro che evita di chiedere al motore un percorso\nper ogni magazzino del tenant.\n\n`altezza_m` e `peso_t` valgono solo con `profilo=camion`, e cambiano il risultato:\nsono la differenza fra una consegna fatta e un furgone che torna indietro da un\nsottopasso.\n\n**Ogni elemento porta `su_strada`, e va guardato prima dei numeri.** Dove il motore\nnon e' configurato la risposta ricade sulla linea d'aria, che ha lo stesso aspetto.","operationId":"nearby_warehouses_api_v1_logistics_dashboard_nearby_warehouses_get","parameters":[{"name":"latitude","in":"query","required":true,"schema":{"type":"number","title":"Latitude"}},{"name":"longitude","in":"query","required":true,"schema":{"type":"number","title":"Longitude"}},{"name":"radius_meters","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10000,"title":"Radius Meters"}},{"name":"warehouse_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Warehouse Status"}},{"name":"profilo","in":"query","required":false,"schema":{"enum":["auto","camion","bici","piedi"],"type":"string","default":"auto","title":"Profilo"}},{"name":"altezza_m","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":6,"exclusiveMinimum":0},{"type":"null"}],"title":"Altezza M"}},{"name":"peso_t","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":60,"exclusiveMinimum":0},{"type":"null"}],"title":"Peso T"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NearbyWarehouseRead"},"title":"Response Nearby Warehouses Api V1 Logistics Dashboard Nearby Warehouses Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/logistics/warehouses/{warehouse_id}/giro-consegne":{"get":{"tags":["logistics"],"summary":"Giro Consegne","description":"In che ordine fare le consegne di un magazzino.\n\nL'elenco delle consegne usciva ordinato per data e nome — un ordine che non ha niente a\nche vedere con la strada che il furgone dovra' fare. Qui l'ordine e' quello che\naccorcia il giro, e i totali comprendono il rientro in magazzino perche' e' tempo\ndell'autista e carburante che qualcuno paga.\n\n`altezza_m` e `peso_t` con `profilo=camion` cambiano il giro, non solo i numeri: un\nsottopasso basso su una strada del giro la esclude, e il giro si riordina di\nconseguenza.\n\n**`su_strada` va guardato prima dell'ordine.** Senza motore di percorsi l'ordine resta\nquello di partenza, e un elenco riordinato ha lo stesso aspetto di uno che non lo e'.\nLe consegne senza indirizzo geocodificato non spariscono: escono in `scartate`.","operationId":"giro_consegne_api_v1_logistics_warehouses__warehouse_id__giro_consegne_get","parameters":[{"name":"warehouse_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Warehouse Id"}},{"name":"data","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Consegne di questa data; senza, tutte le aperte","title":"Data"},"description":"Consegne di questa data; senza, tutte le aperte"},{"name":"profilo","in":"query","required":false,"schema":{"enum":["auto","camion","bici","piedi"],"type":"string","default":"auto","title":"Profilo"}},{"name":"altezza_m","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":6,"exclusiveMinimum":0},{"type":"null"}],"title":"Altezza M"}},{"name":"peso_t","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":60,"exclusiveMinimum":0},{"type":"null"}],"title":"Peso T"}},{"name":"chiuso","in":"query","required":false,"schema":{"type":"boolean","description":"Il giro rientra in magazzino","default":true,"title":"Chiuso"},"description":"Il giro rientra in magazzino"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GiroConsegne"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/logistics/warehouses/{warehouse_id}/area-servizio":{"get":{"tags":["logistics"],"summary":"Area Servizio","description":"Cosa raggiunge un magazzino nel tempo dichiarato, e cosa no.\n\nE' la domanda che decide dove si promette la consegna in giornata, ed e' commerciale\nprima che tecnica.\n\nLa parte che serve davvero e' **`fuori_area`**: le consegne aperte che da questo\nmagazzino non si raggiungono nel tempo dichiarato. L'elenco di cio' che e' dentro\nconferma quello che si sperava; questo dice dove si sta promettendo troppo.\n\n**`area.su_strada` va guardato prima del poligono.** Senza motore di percorsi l'area e'\nun cerchio, che tratta tutte le direzioni uguali mentre le strade no: venti minuti\narrivano molto piu' lontano lungo una tangenziale che verso la collina.","operationId":"area_servizio_api_v1_logistics_warehouses__warehouse_id__area_servizio_get","parameters":[{"name":"warehouse_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Warehouse Id"}},{"name":"minuti","in":"query","required":false,"schema":{"type":"integer","maximum":120,"minimum":1,"description":"Il tempo di percorrenza dell'area","default":20,"title":"Minuti"},"description":"Il tempo di percorrenza dell'area"},{"name":"profilo","in":"query","required":false,"schema":{"enum":["auto","camion","bici","piedi"],"type":"string","default":"auto","title":"Profilo"}},{"name":"altezza_m","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":6,"exclusiveMinimum":0},{"type":"null"}],"title":"Altezza M"}},{"name":"peso_t","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":60,"exclusiveMinimum":0},{"type":"null"}],"title":"Peso T"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AreaServizioMagazzino"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/suppliers/partners":{"post":{"tags":["suppliers"],"summary":"Create Supplier Partner","operationId":"create_supplier_partner_api_v1_suppliers_partners_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierPartnerCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierPartnerRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["suppliers"],"summary":"List Supplier Partners","operationId":"list_supplier_partners_api_v1_suppliers_partners_get","parameters":[{"name":"supplier_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Supplier Status"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SupplierPartnerRead"},"title":"Response List Supplier Partners Api V1 Suppliers Partners Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/suppliers/partners/{supplier_id}":{"get":{"tags":["suppliers"],"summary":"Get Supplier Partner","operationId":"get_supplier_partner_api_v1_suppliers_partners__supplier_id__get","parameters":[{"name":"supplier_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Supplier Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierPartnerRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["suppliers"],"summary":"Update Supplier Partner","operationId":"update_supplier_partner_api_v1_suppliers_partners__supplier_id__put","parameters":[{"name":"supplier_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Supplier Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierPartnerCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierPartnerRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["suppliers"],"summary":"Delete Supplier Partner","operationId":"delete_supplier_partner_api_v1_suppliers_partners__supplier_id__delete","parameters":[{"name":"supplier_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Supplier Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/suppliers/dashboard/overview":{"get":{"tags":["suppliers"],"summary":"Get Supplier Overview","operationId":"get_supplier_overview_api_v1_suppliers_dashboard_overview_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierOverview"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/suppliers/dashboard/nearby":{"get":{"tags":["suppliers"],"summary":"Get Nearby Supplier Partners","description":"I fornitori vicini, per strada.\n\n`altezza_m` e `peso_t` valgono con `profilo=camion` e cambiano il risultato: un\nfornitore raggiungibile da un furgone puo' non esserlo da un autoarticolato.\n\n**Ogni elemento porta `su_strada`, e va guardato prima dei numeri.**","operationId":"get_nearby_supplier_partners_api_v1_suppliers_dashboard_nearby_get","parameters":[{"name":"latitude","in":"query","required":true,"schema":{"type":"number","title":"Latitude"}},{"name":"longitude","in":"query","required":true,"schema":{"type":"number","title":"Longitude"}},{"name":"radius_meters","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10000,"title":"Radius Meters"}},{"name":"supplier_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Supplier Status"}},{"name":"profilo","in":"query","required":false,"schema":{"enum":["auto","camion","bici","piedi"],"type":"string","default":"auto","title":"Profilo"}},{"name":"altezza_m","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":6,"exclusiveMinimum":0},{"type":"null"}],"title":"Altezza M"}},{"name":"peso_t","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":60,"exclusiveMinimum":0},{"type":"null"}],"title":"Peso T"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NearbySupplierPartnerRead"},"title":"Response Get Nearby Supplier Partners Api V1 Suppliers Dashboard Nearby Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/suppliers/dashboard/coverage-gaps":{"get":{"tags":["suppliers"],"summary":"Get Supplier Coverage Gaps","operationId":"get_supplier_coverage_gaps_api_v1_suppliers_dashboard_coverage_gaps_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SupplierCoverageGap"},"title":"Response Get Supplier Coverage Gaps Api V1 Suppliers Dashboard Coverage Gaps Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/suppliers/dashboard/risk":{"get":{"tags":["suppliers"],"summary":"Get Supplier Risk List","operationId":"get_supplier_risk_list_api_v1_suppliers_dashboard_risk_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SupplierRiskRead"},"title":"Response Get Supplier Risk List Api V1 Suppliers Dashboard Risk Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/utilities/dataset-sources":{"get":{"tags":["utilities"],"summary":"Get Dataset Sources","operationId":"get_dataset_sources_api_v1_utilities_dataset_sources_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetSourceRead"},"title":"Response Get Dataset Sources Api V1 Utilities Dataset Sources Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/utilities/dataset-presets":{"get":{"tags":["utilities"],"summary":"Get Dataset Presets","operationId":"get_dataset_presets_api_v1_utilities_dataset_presets_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetPresetRead"},"title":"Response Get Dataset Presets Api V1 Utilities Dataset Presets Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/utilities/admin-boundaries/preset-preview":{"post":{"tags":["utilities"],"summary":"Preview Admin Boundaries Preset","operationId":"preview_admin_boundaries_preset_api_v1_utilities_admin_boundaries_preset_preview_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_preview_admin_boundaries_preset_api_v1_utilities_admin_boundaries_preset_preview_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetPresetPreviewRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/utilities/admin-boundaries/import":{"post":{"tags":["utilities"],"summary":"Import Admin Boundaries","operationId":"import_admin_boundaries_api_v1_utilities_admin_boundaries_import_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBoundaryImportRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBoundaryImportResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/utilities/admin-boundaries/import-async":{"post":{"tags":["utilities"],"summary":"Import Admin Boundaries Async","operationId":"import_admin_boundaries_async_api_v1_utilities_admin_boundaries_import_async_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBoundaryImportRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackgroundJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/utilities/admin-boundaries/import-preset-file":{"post":{"tags":["utilities"],"summary":"Import Admin Boundaries Preset File","operationId":"import_admin_boundaries_preset_file_api_v1_utilities_admin_boundaries_import_preset_file_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_import_admin_boundaries_preset_file_api_v1_utilities_admin_boundaries_import_preset_file_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBoundaryImportResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/utilities/admin-boundaries/import-file":{"post":{"tags":["utilities"],"summary":"Import Admin Boundaries File","operationId":"import_admin_boundaries_file_api_v1_utilities_admin_boundaries_import_file_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_import_admin_boundaries_file_api_v1_utilities_admin_boundaries_import_file_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBoundaryImportResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/utilities/admin-boundaries":{"get":{"tags":["utilities"],"summary":"List Admin Boundaries","operationId":"list_admin_boundaries_api_v1_utilities_admin_boundaries_get","parameters":[{"name":"boundary_level","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Boundary Level"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AdminBoundaryRead"},"title":"Response List Admin Boundaries Api V1 Utilities Admin Boundaries Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/utilities/admin-boundaries/map":{"get":{"tags":["utilities"],"summary":"Map Admin Boundaries","operationId":"map_admin_boundaries_api_v1_utilities_admin_boundaries_map_get","parameters":[{"name":"boundary_level","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Boundary Level"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Map Admin Boundaries Api V1 Utilities Admin Boundaries Map Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/utilities/admin-boundaries/summary":{"get":{"tags":["utilities"],"summary":"Get Admin Boundary Summary","operationId":"get_admin_boundary_summary_api_v1_utilities_admin_boundaries_summary_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UtilityBoundarySummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/utilities/admin-boundaries/join":{"post":{"tags":["utilities"],"summary":"Join Entities To Admin Boundaries","operationId":"join_entities_to_admin_boundaries_api_v1_utilities_admin_boundaries_join_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityAdminJoinQuery"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EntityAdminJoinResult"},"title":"Response Join Entities To Admin Boundaries Api V1 Utilities Admin Boundaries Join Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/utilities/diagnostics":{"get":{"tags":["utilities"],"summary":"Get Utility Diagnostics","operationId":"get_utility_diagnostics_api_v1_utilities_diagnostics_get","parameters":[{"name":"entity_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UtilityDiagnosticsRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/utilities/admin-boundaries/join-export":{"post":{"tags":["utilities"],"summary":"Export Admin Boundary Join","operationId":"export_admin_boundary_join_api_v1_utilities_admin_boundaries_join_export_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UtilityJoinExportRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UtilityJoinExportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cde/documents":{"post":{"tags":["cde"],"summary":"Create Document Route","operationId":"create_document_route_api_v1_cde_documents_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_document_route_api_v1_cde_documents_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CdeDocumentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["cde"],"summary":"List Documents Route","operationId":"list_documents_route_api_v1_cde_documents_get","parameters":[{"name":"business_entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Business Entity Id"}},{"name":"document_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Type"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"include_archived","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Archived"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CdeDocumentRead"},"title":"Response List Documents Route Api V1 Cde Documents Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cde/documents/{document_id}":{"get":{"tags":["cde"],"summary":"Get Document Route","operationId":"get_document_route_api_v1_cde_documents__document_id__get","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Document Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CdeDocumentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["cde"],"summary":"Update Document Route","operationId":"update_document_route_api_v1_cde_documents__document_id__put","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Document Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CdeDocumentUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CdeDocumentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["cde"],"summary":"Delete Document Route","operationId":"delete_document_route_api_v1_cde_documents__document_id__delete","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Document Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cde/documents/{document_id}/versions":{"post":{"tags":["cde"],"summary":"Create Version Route","operationId":"create_version_route_api_v1_cde_documents__document_id__versions_post","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Document Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_version_route_api_v1_cde_documents__document_id__versions_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CdeDocumentVersionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["cde"],"summary":"List Versions Route","operationId":"list_versions_route_api_v1_cde_documents__document_id__versions_get","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Document Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CdeDocumentVersionRead"},"title":"Response List Versions Route Api V1 Cde Documents  Document Id  Versions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cde/documents/{document_id}/versions/{version_number}":{"get":{"tags":["cde"],"summary":"Get Version Route","operationId":"get_version_route_api_v1_cde_documents__document_id__versions__version_number__get","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Document Id"}},{"name":"version_number","in":"path","required":true,"schema":{"type":"integer","title":"Version Number"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CdeDocumentVersionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cde/documents/{document_id}/versions/{version_number}/content":{"get":{"tags":["cde"],"summary":"Download Version Route","operationId":"download_version_route_api_v1_cde_documents__document_id__versions__version_number__content_get","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Document Id"}},{"name":"version_number","in":"path","required":true,"schema":{"type":"integer","title":"Version Number"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cde/documents/{document_id}/versions/{version_number}/transitions":{"post":{"tags":["cde"],"summary":"Transition Version Route","operationId":"transition_version_route_api_v1_cde_documents__document_id__versions__version_number__transitions_post","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Document Id"}},{"name":"version_number","in":"path","required":true,"schema":{"type":"integer","title":"Version Number"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CdeDocumentTransitionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CdeDocumentVersionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cde/documents/{document_id}/state-events":{"get":{"tags":["cde"],"summary":"List State Events Route","operationId":"list_state_events_route_api_v1_cde_documents__document_id__state_events_get","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Document Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CdeDocumentStateEventRead"},"title":"Response List State Events Route Api V1 Cde Documents  Document Id  State Events Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cad/disegni":{"post":{"tags":["cad"],"summary":"Carica Disegno","operationId":"carica_disegno_api_v1_cad_disegni_post","parameters":[{"name":"tolleranza","in":"query","required":false,"schema":{"type":"number","maximum":100,"exclusiveMinimum":0,"description":"Scostamento massimo nella discretizzazione delle curve, nelle unita' del disegno","default":0.05,"title":"Tolleranza"},"description":"Scostamento massimo nella discretizzazione delle curve, nelle unita' del disegno"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_carica_disegno_api_v1_cad_disegni_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisegnoRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["cad"],"summary":"Elenca Disegni","operationId":"elenca_disegni_api_v1_cad_disegni_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisegnoElenco"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cad/disegni/{drawing_id}":{"get":{"tags":["cad"],"summary":"Leggi Disegno","operationId":"leggi_disegno_api_v1_cad_disegni__drawing_id__get","parameters":[{"name":"drawing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Drawing Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisegnoRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["cad"],"summary":"Elimina Disegno","operationId":"elimina_disegno_api_v1_cad_disegni__drawing_id__delete","parameters":[{"name":"drawing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Drawing Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cad/disegni/{drawing_id}/calibrazione":{"post":{"tags":["cad"],"summary":"Calibra Disegno","description":"Calcola la trasformazione dai punti di appoggio e la rende attiva.\n\nLa risposta porta i residui per punto: sono l'unico modo che ha il tecnico per\nsapere se ha indicato bene i punti, e vanno mostrati, non nascosti.","operationId":"calibra_disegno_api_v1_cad_disegni__drawing_id__calibrazione_post","parameters":[{"name":"drawing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Drawing Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalibrazioneRichiesta"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalibrazioneRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cad/disegni/{drawing_id}/calibrazioni":{"get":{"tags":["cad"],"summary":"Storico Calibrazioni","operationId":"storico_calibrazioni_api_v1_cad_disegni__drawing_id__calibrazioni_get","parameters":[{"name":"drawing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Drawing Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CalibrazioneRead"},"title":"Response Storico Calibrazioni Api V1 Cad Disegni  Drawing Id  Calibrazioni Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cad/disegni/{drawing_id}/geojson":{"get":{"tags":["cad"],"summary":"Anteprima Geojson","description":"Il disegno in GeoJSON, calibrato se c'e' una calibrazione attiva.\n\nQuando non c'e', `calibrato` vale falso e le coordinate sono ancora quelle del CAD:\nil campo esiste perche' un GeoJSON sembra sempre georeferenziato anche quando non lo e'.","operationId":"anteprima_geojson_api_v1_cad_disegni__drawing_id__geojson_get","parameters":[{"name":"drawing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Drawing Id"}},{"name":"grezzo","in":"query","required":false,"schema":{"type":"boolean","description":"Restituisce le coordinate del CAD anche quando una calibrazione esiste","default":false,"title":"Grezzo"},"description":"Restituisce le coordinate del CAD anche quando una calibrazione esiste"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnteprimaGeoJSON"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cad/disegni/{drawing_id}/importa":{"post":{"tags":["cad"],"summary":"Importa Disegno","description":"Materializza i livelli mappati come entita' geografiche.\n\nRichiede `cad.import` e non `cad.write`: caricare e calibrare un disegno e'\nreversibile, creare entita' di dominio nel catalogo del cliente molto meno.","operationId":"importa_disegno_api_v1_cad_disegni__drawing_id__importa_post","parameters":[{"name":"drawing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Drawing Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportazioneRichiesta"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportazioneEsito"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/aree-protette/regimi":{"get":{"tags":["aree-protette"],"summary":"Regimi Punto","description":"Tutti i regimi che insistono su un punto.\n\nGuardare `completo` prima dei `regimi`: se vale falso, una fonte non ha risposto e\nl'elenco e' incompleto anche quando sembra esaustivo. Ogni fonte dichiara il proprio\nesito in `fonti`.","operationId":"regimi_punto_api_v1_aree_protette_regimi_get","parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","maximum":90,"minimum":-90,"description":"Latitudine WGS84","title":"Lat"},"description":"Latitudine WGS84"},{"name":"lon","in":"query","required":true,"schema":{"type":"number","maximum":180,"minimum":-180,"description":"Longitudine WGS84","title":"Lon"},"description":"Longitudine WGS84"},{"name":"includi_esterne","in":"query","required":false,"schema":{"type":"boolean","description":"Interroga anche ISPRA IdroGEO e SITAP oltre ai perimetri locali","default":true,"title":"Includi Esterne"},"description":"Interroga anche ISPRA IdroGEO e SITAP oltre ai perimetri locali"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegimiPunto"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/aree-protette/fonti":{"get":{"tags":["aree-protette"],"summary":"Fonti Disponibili","description":"Le fonti pubbliche importabili, con licenza, attribuzione e data del dato.\n\nL'avvertenza non e' decorazione: per l'EUAP dice che il dato ufficiale nazionale e'\nfermo al decreto del 2010, ed e' l'informazione piu' importante che diamo su di esso.","operationId":"fonti_disponibili_api_v1_aree_protette_fonti_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FonteDisponibile"},"title":"Response Fonti Disponibili Api V1 Aree Protette Fonti Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/aree-protette/importa":{"post":{"tags":["aree-protette"],"summary":"Importa","description":"Accoda l'importazione di una fonte pubblica.\n\nRisponde 202 e un job: l'esito si segue dagli endpoint dei job in amministrazione.","operationId":"importa_api_v1_aree_protette_importa_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportRichiesta"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackgroundJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/aree-protette/aree":{"post":{"tags":["aree-protette"],"summary":"Crea Area","description":"Censisce un perimetro dell'ente — quello dell'atto istitutivo, che e' l'autorevole.","operationId":"crea_area_api_v1_aree_protette_aree_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AreaProtettaCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AreaProtettaRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["aree-protette"],"summary":"Elenca Aree","operationId":"elenca_aree_api_v1_aree_protette_aree_get","parameters":[{"name":"categoria","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":30},{"type":"null"}],"title":"Categoria"}},{"name":"tipo","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Tipo"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AreaProtettaElenco"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/aree-protette/aree/{area_id}":{"get":{"tags":["aree-protette"],"summary":"Leggi Area","operationId":"leggi_area_api_v1_aree_protette_aree__area_id__get","parameters":[{"name":"area_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Area Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AreaProtettaRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["aree-protette"],"summary":"Elimina Area","operationId":"elimina_area_api_v1_aree_protette_aree__area_id__delete","parameters":[{"name":"area_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Area Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/osservazioni/serie":{"post":{"tags":["osservazioni"],"summary":"Crea Serie","operationId":"crea_serie_api_v1_osservazioni_serie_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SerieCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SerieRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["osservazioni"],"summary":"Elenca Serie","operationId":"elenca_serie_api_v1_osservazioni_serie_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SerieElenco"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/osservazioni/serie/{chiave}":{"get":{"tags":["osservazioni"],"summary":"Leggi Serie","operationId":"leggi_serie_api_v1_osservazioni_serie__chiave__get","parameters":[{"name":"chiave","in":"path","required":true,"schema":{"type":"string","title":"Chiave"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SerieRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["osservazioni"],"summary":"Elimina Serie","operationId":"elimina_serie_api_v1_osservazioni_serie__chiave__delete","parameters":[{"name":"chiave","in":"path","required":true,"schema":{"type":"string","title":"Chiave"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/osservazioni/serie/{chiave}/stato":{"get":{"tags":["osservazioni"],"summary":"Stato Serie","description":"La salute della serie: quello che va guardato prima dei numeri.","operationId":"stato_serie_api_v1_osservazioni_serie__chiave__stato_get","parameters":[{"name":"chiave","in":"path","required":true,"schema":{"type":"string","title":"Chiave"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatoSerie"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/osservazioni/serie/{chiave}/correnti":{"get":{"tags":["osservazioni"],"summary":"Correnti","description":"L'ultimo valore noto di ogni soggetto, con la freschezza accanto a ciascuno.\n\n`freschezza.affidabile` e' il campo da guardare prima dei valori: vale falso quando\nil dato e' piu' vecchio del doppio della frequenza dichiarata per la serie.","operationId":"correnti_api_v1_osservazioni_serie__chiave__correnti_get","parameters":[{"name":"chiave","in":"path","required":true,"schema":{"type":"string","title":"Chiave"}},{"name":"includi_quarantena","in":"query","required":false,"schema":{"type":"boolean","description":"Include anche le osservazioni messe in quarantena dai controlli","default":false,"title":"Includi Quarantena"},"description":"Include anche le osservazioni messe in quarantena dai controlli"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OsservazioneCorrente"},"title":"Response Correnti Api V1 Osservazioni Serie  Chiave  Correnti Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/osservazioni/serie/{chiave}/storico":{"get":{"tags":["osservazioni"],"summary":"Storico","operationId":"storico_api_v1_osservazioni_serie__chiave__storico_get","parameters":[{"name":"chiave","in":"path","required":true,"schema":{"type":"string","title":"Chiave"}},{"name":"soggetto","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":120,"title":"Soggetto"}},{"name":"da","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Da"}},{"name":"a","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"A"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":10000,"minimum":1,"default":1000,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OsservazioneRead"},"title":"Response Storico Api V1 Osservazioni Serie  Chiave  Storico Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/osservazioni/serie/{chiave}/osservazioni":{"post":{"tags":["osservazioni"],"summary":"Registra","description":"Invia campioni dall'esterno, per le serie non alimentate dal prelievo.","operationId":"registra_api_v1_osservazioni_serie__chiave__osservazioni_post","parameters":[{"name":"chiave","in":"path","required":true,"schema":{"type":"string","title":"Chiave"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OsservazioneIn"},"title":"Campioni"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IngestEsito"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/osservazioni/serie/{chiave}/preleva":{"post":{"tags":["osservazioni"],"summary":"Preleva","description":"Accoda un prelievo dalla sorgente configurata.\n\nPer il campionamento ricorrente si registra lo stesso tipo di job sullo scheduler,\ncon l'intervallo pari alla frequenza attesa della serie.","operationId":"preleva_api_v1_osservazioni_serie__chiave__preleva_post","parameters":[{"name":"chiave","in":"path","required":true,"schema":{"type":"string","title":"Chiave"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackgroundJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/osservazioni/manutenzione":{"post":{"tags":["osservazioni"],"summary":"Manutenzione","description":"Applica retention e rollup a tutte le serie del tenant.","operationId":"manutenzione_api_v1_osservazioni_manutenzione_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManutenzioneEsito"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mobility/parking/nearby":{"get":{"tags":["parcheggi"],"summary":"Vicini","description":"I parcheggi vicini, ordinati, con il perche' di ogni posizione.\n\nGuardare `tutti_i_dati_freschi` prima dell'elenco: se vale falso, almeno un\nparcheggio e' ordinato su un numero di posti liberi che non e' affidabile. La\nscomposizione in `contributi` dice esattamente quanto ha pesato ogni componente.\n\nLe distanze sono **su strada** quando il motore di percorsi e' configurato, e in linea\nd'aria quando non lo e'. La differenza non e' cosmetica: la distanza entra nel\npunteggio, quindi cambia chi sta primo. Un parcheggio a trecento metri dall'altra parte\ndi una ferrovia senza sottopasso vinceva su uno a quattrocento raggiungibile.\n\n`tutti_su_strada` dice se l'intero elenco e' misurato, e va guardato accanto a\n`tutti_i_dati_freschi`: sono i due modi in cui questo ordinamento puo' essere\nun'approssimazione. Su ogni parcheggio, `distanza_linea_aria_m` e\n`distanza_su_strada_m` restano entrambe — la **differenza** fra le due misura le\nbarriere, ed e' un'informazione che nessuno dei due numeri da' da solo.\n\n`profilo=piedi` serve a chi ragiona sull'ultimo tratto: dove lasciare l'auto rispetto\nalla destinazione finale e' una domanda pedonale, e a piedi i sensi unici non contano.","operationId":"vicini_api_v1_mobility_parking_nearby_get","parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","maximum":90,"minimum":-90,"title":"Lat"}},{"name":"lon","in":"query","required":true,"schema":{"type":"number","maximum":180,"minimum":-180,"title":"Lon"}},{"name":"raggio_m","in":"query","required":false,"schema":{"type":"number","maximum":20000,"exclusiveMinimum":0,"default":1000,"title":"Raggio M"}},{"name":"limite","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":10,"title":"Limite"}},{"name":"escludi_pieni","in":"query","required":false,"schema":{"type":"boolean","description":"Toglie dall'elenco chi risulta pieno con dato fresco","default":false,"title":"Escludi Pieni"},"description":"Toglie dall'elenco chi risulta pieno con dato fresco"},{"name":"profilo","in":"query","required":false,"schema":{"enum":["auto","piedi","bici"],"type":"string","default":"auto","title":"Profilo"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RisultatoVicini"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mobility/parking/copertura":{"get":{"tags":["parcheggi"],"summary":"Copertura","description":"Quanto copriamo davvero: strutture, citta' e freschezza misurata.\n\n`strutture_utilizzabili` conta solo quelle con un dato fresco, ed e' il numero che\nvale in una trattativa. `strutture_totali` conta le righe in tabella.","operationId":"copertura_api_v1_mobility_parking_copertura_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Copertura"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mobility/parking/pesi":{"get":{"tags":["parcheggi"],"summary":"Leggi Pesi","description":"I pesi con cui questo tenant ordina i risultati.","operationId":"leggi_pesi_api_v1_mobility_parking_pesi_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"number"},"title":"Response Leggi Pesi Api V1 Mobility Parking Pesi Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["parcheggi"],"summary":"Imposta Pesi","description":"Configura i pesi del tenant. Restituisce i valori normalizzati a somma 1.","operationId":"imposta_pesi_api_v1_mobility_parking_pesi_put","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"number"},"description":"distanza, disponibilita, qualita, prezzo","title":"Pesi"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"number"},"title":"Response Imposta Pesi Api V1 Mobility Parking Pesi Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mobility/parking/facilities":{"post":{"tags":["parcheggi"],"summary":"Crea","operationId":"crea_api_v1_mobility_parking_facilities_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcheggioCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcheggioRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["parcheggi"],"summary":"Elenca","operationId":"elenca_api_v1_mobility_parking_facilities_get","parameters":[{"name":"citta","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Citta"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcheggioElenco"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mobility/parking/facilities/{parking_id}":{"get":{"tags":["parcheggi"],"summary":"Leggi","operationId":"leggi_api_v1_mobility_parking_facilities__parking_id__get","parameters":[{"name":"parking_id","in":"path","required":true,"schema":{"type":"string","title":"Parking Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcheggioRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["parcheggi"],"summary":"Elimina","operationId":"elimina_api_v1_mobility_parking_facilities__parking_id__delete","parameters":[{"name":"parking_id","in":"path","required":true,"schema":{"type":"string","title":"Parking Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mobility/parking/sincronizza":{"post":{"tags":["parcheggi"],"summary":"Sincronizza","description":"Costruisce il registro dai campioni gia' raccolti da una serie di osservazioni.\n\nEvita di scrivere una seconda volta gli adattatori delle sorgenti: il poller prende\ngia' nome, coordinate e capacita', e due mappature che devono restare d'accordo prima\no poi non lo restano.","operationId":"sincronizza_api_v1_mobility_parking_sincronizza_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SincronizzaRichiesta"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SincronizzaEsito"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/map/vector/catalogo":{"get":{"tags":["map-vector"],"summary":"Catalogo","description":"I livelli pubblicati come tessere vettoriali, con il permesso che ciascuno richiede.","operationId":"catalogo_api_v1_map_vector_catalogo_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Catalogo Api V1 Map Vector Catalogo Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/map/vector/{livello}/{z}/{x}/{y}.pbf":{"get":{"tags":["map-vector"],"summary":"Tessera","description":"Una tessera vettoriale del livello indicato.\n\nRisponde **204 senza corpo** quando nella tessera non cade nulla: e' il caso piu'\nfrequente su qualunque scacchiera, non un errore, e i client di mappa lo gestiscono\nsmettendo di richiedere quell'area.\n\nIl parametro `riferimento` sta nella query e non nel percorso perche' i client di\nmappa costruiscono le URL da un modello `{z}/{x}/{y}` e appendono la query senza\ntoccarlo: mettere il valore nel percorso vorrebbe dire una rotta per ogni livello\nparametrico.","operationId":"tessera_api_v1_map_vector__livello___z___x___y__pbf_get","parameters":[{"name":"livello","in":"path","required":true,"schema":{"type":"string","maxLength":60,"title":"Livello"}},{"name":"z","in":"path","required":true,"schema":{"type":"integer","maximum":22,"minimum":0,"title":"Z"}},{"name":"x","in":"path","required":true,"schema":{"type":"integer","minimum":0,"title":"X"}},{"name":"y","in":"path","required":true,"schema":{"type":"integer","minimum":0,"title":"Y"}},{"name":"riferimento","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"description":"Valore richiesto dai livelli parametrici: per 'disegno' e' l'identificativo del disegno. Il catalogo dice quali livelli lo vogliono.","title":"Riferimento"},"description":"Valore richiesto dai livelli parametrici: per 'disegno' e' l'identificativo del disegno. Il catalogo dice quali livelli lo vogliono."},{"name":"t","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"T"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Tessera","content":{"application/json":{"schema":{}},"application/vnd.mapbox-vector-tile":{}}},"204":{"description":"Nessun dato in questa tessera"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avvisi/regole":{"post":{"tags":["avvisi"],"summary":"Crea Regola","description":"Registra una regola di avviso.\n\nLa condizione si valida qui: una regola che non si puo' valutare non deve fallire fra\nun mese, sull'avviso che qualcuno stava aspettando.","operationId":"crea_regola_api_v1_avvisi_regole_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegolaCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegolaRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["avvisi"],"summary":"Elenca Regole","operationId":"elenca_regole_api_v1_avvisi_regole_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegolaElenco"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avvisi/regole/{rule_id}":{"get":{"tags":["avvisi"],"summary":"Leggi Regola","operationId":"leggi_regola_api_v1_avvisi_regole__rule_id__get","parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Rule Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegolaRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["avvisi"],"summary":"Elimina Regola","operationId":"elimina_regola_api_v1_avvisi_regole__rule_id__delete","parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Rule Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avvisi/regole/{rule_id}/valuta":{"post":{"tags":["avvisi"],"summary":"Valuta Regola","description":"Valuta subito una regola.\n\nCon `consegna=false` si prova la regola senza mandare niente a nessuno: e' il modo\nper capire su quali soggetti scatterebbe prima di collegarla a un recapito vero.","operationId":"valuta_regola_api_v1_avvisi_regole__rule_id__valuta_post","parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Rule Id"}},{"name":"consegna","in":"query","required":false,"schema":{"type":"boolean","description":"Falso per provare la regola senza notificare nessuno","default":true,"title":"Consegna"},"description":"Falso per provare la regola senza notificare nessuno"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EsitoValutazione"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avvisi/storico":{"get":{"tags":["avvisi"],"summary":"Storico","description":"Gli avvisi scattati, consegnati e non.\n\nQuelli non consegnati restano: dicono che il recapito del cliente e' rotto, che e'\nun'informazione operativa e non un rifiuto da nascondere.","operationId":"storico_api_v1_avvisi_storico_get","parameters":[{"name":"rule_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Rule Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AvvisoRead"},"title":"Response Storico Api V1 Avvisi Storico Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/previsione/serie/{serie_chiave}/soggetti/{soggetto}":{"get":{"tags":["previsione"],"summary":"Prevedi","description":"Previsioni per un soggetto, con intervallo e provenienza.\n\n`dato_affidabile` e `poggia_sul_presente` vanno guardati **prima** dei valori: quando\nil feed e' fermo la previsione e' il solo profilo storico, con intervallo allargato,\ne ha lo stesso aspetto di una buona.","operationId":"prevedi_api_v1_previsione_serie__serie_chiave__soggetti__soggetto__get","parameters":[{"name":"serie_chiave","in":"path","required":true,"schema":{"type":"string","title":"Serie Chiave"}},{"name":"soggetto","in":"path","required":true,"schema":{"type":"string","title":"Soggetto"}},{"name":"campo","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":60,"title":"Campo"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrevisioniSoggetto"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/previsione/addestra":{"post":{"tags":["previsione"],"summary":"Addestra","description":"Addestra e controlla. Senza `soggetto` addestra tutti quelli della serie.\n\nL'esito porta le metriche del controllo su dati mai visti, compreso il confronto con\nla media stagionale: se il modello non la batte, `batte_la_baseline` vale falso e le\nprevisioni verranno rifiutate finche' non si riaddestra con esito migliore.","operationId":"addestra_api_v1_previsione_addestra_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddestramentoRichiesta"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EsitoAddestramento"},"title":"Response Addestra Api V1 Previsione Addestra Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/previsione/modelli":{"get":{"tags":["previsione"],"summary":"Elenca Modelli","operationId":"elenca_modelli_api_v1_previsione_modelli_get","parameters":[{"name":"serie_chiave","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Serie Chiave"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelloElenco"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/previsione/modelli/{serie_chiave}/{soggetto}":{"get":{"tags":["previsione"],"summary":"Leggi Modello","operationId":"leggi_modello_api_v1_previsione_modelli__serie_chiave___soggetto__get","parameters":[{"name":"serie_chiave","in":"path","required":true,"schema":{"type":"string","title":"Serie Chiave"}},{"name":"soggetto","in":"path","required":true,"schema":{"type":"string","title":"Soggetto"}},{"name":"campo","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":60,"title":"Campo"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelloRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/previsione/riepilogo":{"get":{"tags":["previsione"],"summary":"Riepilogo","description":"Quanti modelli esistono e quanti sono davvero servibili.\n\nI due numeri sono diversi, come per la copertura dei parcheggi: quello che conta in\nuna trattativa e' il secondo.","operationId":"riepilogo_api_v1_previsione_riepilogo_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Riepilogo Api V1 Previsione Riepilogo Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/listings":{"post":{"tags":["assets"],"summary":"Create Listing Route","operationId":"create_listing_route_api_v1_assets_listings_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetListingCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetListingRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["assets"],"summary":"List Listings Route","operationId":"list_listings_route_api_v1_assets_listings_get","parameters":[{"name":"listing_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Status"}},{"name":"entity_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssetListingRead"},"title":"Response List Listings Route Api V1 Assets Listings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/listings/{listing_id}":{"get":{"tags":["assets"],"summary":"Get Listing Route","operationId":"get_listing_route_api_v1_assets_listings__listing_id__get","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetListingRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["assets"],"summary":"Update Listing Route","operationId":"update_listing_route_api_v1_assets_listings__listing_id__put","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetListingUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetListingRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/listings/{listing_id}/publish":{"post":{"tags":["assets"],"summary":"Publish Listing Route","operationId":"publish_listing_route_api_v1_assets_listings__listing_id__publish_post","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetListingPublishRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetListingRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/search":{"get":{"tags":["assets"],"summary":"Search Listings Route","description":"Ricerca su mappa: riquadro visibile, intervalli, ordinamento, cursore.\n\nIl totale viaggia in `X-Total-Count` e il cursore della pagina successiva in\n`X-Next-Cursor`: il corpo resta una lista JSON come tutti gli altri elenchi dell'API.\nQuando `X-Next-Cursor` non c'e', non c'e' altro da leggere.","operationId":"search_listings_route_api_v1_assets_search_get","parameters":[{"name":"bbox","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^-?\\d+(\\.\\d+)?(,-?\\d+(\\.\\d+)?){3}$"},{"type":"null"}],"description":"minLon,minLat,maxLon,maxLat in gradi WGS84","title":"Bbox"},"description":"minLon,minLat,maxLon,maxLat in gradi WGS84"},{"name":"near_lat","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":90,"minimum":-90},{"type":"null"}],"title":"Near Lat"}},{"name":"near_lon","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":180,"minimum":-180},{"type":"null"}],"title":"Near Lon"}},{"name":"entity_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Entity Type"}},{"name":"listing_status","in":"query","required":false,"schema":{"anyOf":[{"enum":["draft","published","reserved","sold","withdrawn"],"type":"string"},{"type":"null"}],"title":"Listing Status"}},{"name":"price_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Price Min"}},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Price Max"}},{"name":"surface_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Surface Min"}},{"name":"surface_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Surface Max"}},{"name":"rooms_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":200,"minimum":0},{"type":"null"}],"title":"Rooms Min"}},{"name":"energy_class","in":"query","required":false,"schema":{"anyOf":[{"enum":["A4","A3","A2","A1","A","B","C","D","E","F","G"],"type":"string"},{"type":"null"}],"title":"Energy Class"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"description":"Testo su nome, indirizzo, città","title":"Q"},"description":"Testo su nome, indirizzo, città"},{"name":"sort","in":"query","required":false,"schema":{"enum":["recent","price_asc","price_desc","surface_desc","distance"],"type":"string","default":"recent","title":"Sort"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssetSearchHit"},"title":"Response Search Listings Route Api V1 Assets Search Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/search/clusters":{"get":{"tags":["assets"],"summary":"Search Clusters Route","description":"Gli stessi filtri della ricerca, aggregati su una griglia.\n\nLa grana della griglia sta dentro il modello e non accanto ad esso nella firma:\nFastAPI espande un modello in parametri di query solo se e' l'unico parametro di\nquery della rotta, e un parametro sciolto accanto farebbe rispondere 422 a tutto.","operationId":"search_clusters_route_api_v1_assets_search_clusters_get","parameters":[{"name":"bbox","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^-?\\d+(\\.\\d+)?(,-?\\d+(\\.\\d+)?){3}$"},{"type":"null"}],"description":"minLon,minLat,maxLon,maxLat in gradi WGS84","title":"Bbox"},"description":"minLon,minLat,maxLon,maxLat in gradi WGS84"},{"name":"near_lat","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":90,"minimum":-90},{"type":"null"}],"title":"Near Lat"}},{"name":"near_lon","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":180,"minimum":-180},{"type":"null"}],"title":"Near Lon"}},{"name":"entity_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Entity Type"}},{"name":"listing_status","in":"query","required":false,"schema":{"anyOf":[{"enum":["draft","published","reserved","sold","withdrawn"],"type":"string"},{"type":"null"}],"title":"Listing Status"}},{"name":"price_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Price Min"}},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Price Max"}},{"name":"surface_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Surface Min"}},{"name":"surface_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Surface Max"}},{"name":"rooms_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":200,"minimum":0},{"type":"null"}],"title":"Rooms Min"}},{"name":"energy_class","in":"query","required":false,"schema":{"anyOf":[{"enum":["A4","A3","A2","A1","A","B","C","D","E","F","G"],"type":"string"},{"type":"null"}],"title":"Energy Class"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"description":"Testo su nome, indirizzo, città","title":"Q"},"description":"Testo su nome, indirizzo, città"},{"name":"cell_size_degrees","in":"query","required":false,"schema":{"type":"number","maximum":10,"exclusiveMinimum":0,"default":0.05,"title":"Cell Size Degrees"}},{"name":"min_count","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Min Count"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterCell"},"title":"Response Search Clusters Route Api V1 Assets Search Clusters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/listings/{listing_id}/media":{"post":{"tags":["assets"],"summary":"Add Media Route","description":"Carica una fotografia e ne genera le varianti.\n\nIl limite di dimensione si applica ai byte letti davvero, non a quanto dichiara\nl'intestazione della richiesta: un client puo' mentire su `Content-Length`.","operationId":"add_media_route_api_v1_assets_listings__listing_id__media_post","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_add_media_route_api_v1_assets_listings__listing_id__media_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetMediaRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["assets"],"summary":"List Media Route","operationId":"list_media_route_api_v1_assets_listings__listing_id__media_get","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssetMediaRead"},"title":"Response List Media Route Api V1 Assets Listings  Listing Id  Media Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/listings/{listing_id}/media/order":{"put":{"tags":["assets"],"summary":"Reorder Media Route","description":"Riordina la galleria: la prima fotografia dell'elenco diventa la copertina.","operationId":"reorder_media_route_api_v1_assets_listings__listing_id__media_order_put","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetMediaOrder"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssetMediaRead"},"title":"Response Reorder Media Route Api V1 Assets Listings  Listing Id  Media Order Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/media/{media_id}":{"delete":{"tags":["assets"],"summary":"Delete Media Route","operationId":"delete_media_route_api_v1_assets_media__media_id__delete","parameters":[{"name":"media_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Media Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/media/{media_id}/{variante}":{"get":{"tags":["assets"],"summary":"Get Media Variant Route","description":"Serve una variante, comprese quelle degli annunci ancora in bozza.","operationId":"get_media_variant_route_api_v1_assets_media__media_id___variante__get","parameters":[{"name":"media_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Media Id"}},{"name":"variante","in":"path","required":true,"schema":{"type":"string","title":"Variante"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/listings/import":{"post":{"tags":["assets"],"summary":"Import Listings Route","description":"Importa un lotto di annunci gia' normalizzati. Idempotente su `external_id`.\n\nQui **non** si geocodifica e **non** si scaricano fotografie, ed e' una scelta e non\nuna mancanza: sono chiamate di rete verso servizi altrui, che rispondono anche in\nqualche secondo. Farle dentro una richiesta HTTP significa tenere occupato un worker\nper tutta la durata del lotto e, sotto carico, esaurirli — lo stesso motivo per cui\nla due diligence sta in coda. Le righe senza coordinate tornano fra i saltati, con\nscritto cosa manca.\n\nChi ha indirizzi invece di coordinate, o fotografie da caricare, passa da\n`scripts/importa_annunci.py`, che quelle chiamate le fa dove nessuno sta aspettando.","operationId":"import_listings_route_api_v1_assets_listings_import_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RichiestaImportazione"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RisultatoImportazione"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/omi/import":{"post":{"tags":["assets"],"summary":"Import Omi Route","description":"Importa un semestre di quotazioni OMI.\n\nLe righe arrivano gia' normalizzate: il tracciato dell'Agenzia delle Entrate cambia\nda semestre a semestre e va adattato fuori di qui, con una mappatura che dipende dal\nfile che si ha davvero in mano.","operationId":"import_omi_route_api_v1_assets_omi_import_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OmiImportRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OmiImportResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/omi/quotations":{"get":{"tags":["assets"],"summary":"List Omi Route","operationId":"list_omi_route_api_v1_assets_omi_quotations_get","parameters":[{"name":"comune","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comune"}},{"name":"property_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OmiQuotationRead"},"title":"Response List Omi Route Api V1 Assets Omi Quotations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/listings/{listing_id}/valuation":{"get":{"tags":["assets"],"summary":"Valuation Route","description":"Il prezzo chiesto accanto alla fascia di mercato della zona.","operationId":"valuation_route_api_v1_assets_listings__listing_id__valuation_get","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValuationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/maintenance/due":{"get":{"tags":["assets"],"summary":"Maintenance Due Route","description":"Lo scadenzario: cosa scade, di quale asset, fra quanto.\n\nDichiarata prima di `/maintenance/{maintenance_id}`: altrimenti «due» verrebbe letto\ncome un identificativo e la rotta non risponderebbe mai.","operationId":"maintenance_due_route_api_v1_assets_maintenance_due_get","parameters":[{"name":"within_days","in":"query","required":false,"schema":{"type":"integer","maximum":1095,"minimum":1,"default":60,"title":"Within Days"}},{"name":"include_overdue","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Overdue"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":200,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssetMaintenanceScadenzarioRead"},"title":"Response Maintenance Due Route Api V1 Assets Maintenance Due Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/listings/{listing_id}/maintenance":{"post":{"tags":["assets"],"summary":"Create Maintenance Route","operationId":"create_maintenance_route_api_v1_assets_listings__listing_id__maintenance_post","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetMaintenanceCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetMaintenanceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["assets"],"summary":"List Maintenance Route","operationId":"list_maintenance_route_api_v1_assets_listings__listing_id__maintenance_get","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssetMaintenanceRead"},"title":"Response List Maintenance Route Api V1 Assets Listings  Listing Id  Maintenance Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/maintenance/{maintenance_id}/complete":{"post":{"tags":["assets"],"summary":"Complete Maintenance Route","description":"Registra l'adempimento; se la scadenza è ricorrente, la successiva nasce da sola.","operationId":"complete_maintenance_route_api_v1_assets_maintenance__maintenance_id__complete_post","parameters":[{"name":"maintenance_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Maintenance Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetMaintenanceComplete"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetMaintenanceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/maintenance/{maintenance_id}":{"delete":{"tags":["assets"],"summary":"Delete Maintenance Route","operationId":"delete_maintenance_route_api_v1_assets_maintenance__maintenance_id__delete","parameters":[{"name":"maintenance_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Maintenance Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/listings/{listing_id}/due-diligence":{"get":{"tags":["assets"],"summary":"Due Diligence Route","description":"Esiti conservati delle verifiche territoriali. Nessuna chiamata esterna qui.","operationId":"due_diligence_route_api_v1_assets_listings__listing_id__due_diligence_get","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DueDiligenceRead"},"title":"Response Due Diligence Route Api V1 Assets Listings  Listing Id  Due Diligence Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/listings/{listing_id}/due-diligence/refresh":{"post":{"tags":["assets"],"summary":"Due Diligence Refresh Route","description":"Accoda il ricalcolo. Risponde 202 e non aspetta.\n\nI servizi cartografici pubblici rispondono anche in sette secondi: farlo qui\nsignificherebbe tenere occupato un worker per tutto quel tempo, e sotto carico\nesaurirli. L'esito arriva in tabella, la scheda lo legge da lì.","operationId":"due_diligence_refresh_route_api_v1_assets_listings__listing_id__due_diligence_refresh_post","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackgroundJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/seismic/import":{"post":{"tags":["assets"],"summary":"Import Seismic Route","description":"Importa la classificazione sismica dei comuni (zone 1-4).\n\nÈ un elenco, non una mappa: la via cartografica dell'INGV non parla JSON e la query\npuntuale non restituiva valori, mentre la zona per comune si abbina come le\nquotazioni OMI e non dipende da un servizio esterno a ogni lettura.","operationId":"import_seismic_route_api_v1_assets_seismic_import_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeismicImportRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeismicImportResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/aree-protette/regimi":{"get":{"tags":["aree-protette-pubblico"],"summary":"Regimi Punto","description":"Cosa vale in questo punto: la domanda del visitatore, in una chiamata sola.\n\n**Guardare `completo` prima dei `regimi`.** Qui vale sempre falso quando esistono\nfonti esterne non interrogate, e non e' un difetto da nascondere: questo canale\nrisponde con i soli perimetri gia' importati dall'ente, e dirlo e' l'unico modo\nperche' un'assenza non venga letta come un «qui non c'e' niente».","operationId":"regimi_punto_api_v1_public_aree_protette_regimi_get","parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","maximum":90,"minimum":-90,"description":"Latitudine WGS84","title":"Lat"},"description":"Latitudine WGS84"},{"name":"lon","in":"query","required":true,"schema":{"type":"number","maximum":180,"minimum":-180,"description":"Longitudine WGS84","title":"Lon"},"description":"Longitudine WGS84"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegimiPunto"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/aree-protette":{"get":{"tags":["aree-protette-pubblico"],"summary":"Elenca Vicine","description":"Le aree protette attorno a un punto, con i soli campi che riguardano chi visita.","operationId":"elenca_vicine_api_v1_public_aree_protette_get","parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","maximum":90,"minimum":-90,"title":"Lat"}},{"name":"lon","in":"query","required":true,"schema":{"type":"number","maximum":180,"minimum":-180,"title":"Lon"}},{"name":"raggio_m","in":"query","required":false,"schema":{"type":"integer","maximum":50000,"minimum":100,"default":5000,"title":"Raggio M"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AreaPubblicaElenco"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/aree-protette/{area_id}":{"get":{"tags":["aree-protette-pubblico"],"summary":"Leggi Area","description":"Una singola area, con il perimetro.\n\nUn'area non attiva risponde 404 come una che non esiste: la differenza riguarda\nl'ente, non chi visita.","operationId":"leggi_area_api_v1_public_aree_protette__area_id__get","parameters":[{"name":"area_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Area Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AreaPubblicaRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/listings":{"get":{"tags":["public"],"summary":"Public Search Route","description":"Annunci pubblicati, con gli stessi filtri della ricerca interna.\n\n`listing_status` fra i parametri non serve a nulla qui: il canale mostra soltanto i\npubblicati, e la condizione viene imposta dal repository invece che lasciata al\nchiamante.","operationId":"public_search_route_api_v1_public_listings_get","parameters":[{"name":"bbox","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^-?\\d+(\\.\\d+)?(,-?\\d+(\\.\\d+)?){3}$"},{"type":"null"}],"description":"minLon,minLat,maxLon,maxLat in gradi WGS84","title":"Bbox"},"description":"minLon,minLat,maxLon,maxLat in gradi WGS84"},{"name":"near_lat","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":90,"minimum":-90},{"type":"null"}],"title":"Near Lat"}},{"name":"near_lon","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":180,"minimum":-180},{"type":"null"}],"title":"Near Lon"}},{"name":"entity_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Entity Type"}},{"name":"listing_status","in":"query","required":false,"schema":{"anyOf":[{"enum":["draft","published","reserved","sold","withdrawn"],"type":"string"},{"type":"null"}],"title":"Listing Status"}},{"name":"price_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Price Min"}},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Price Max"}},{"name":"surface_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Surface Min"}},{"name":"surface_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Surface Max"}},{"name":"rooms_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":200,"minimum":0},{"type":"null"}],"title":"Rooms Min"}},{"name":"energy_class","in":"query","required":false,"schema":{"anyOf":[{"enum":["A4","A3","A2","A1","A","B","C","D","E","F","G"],"type":"string"},{"type":"null"}],"title":"Energy Class"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"description":"Testo su nome, indirizzo, città","title":"Q"},"description":"Testo su nome, indirizzo, città"},{"name":"sort","in":"query","required":false,"schema":{"enum":["recent","price_asc","price_desc","surface_desc","distance"],"type":"string","default":"recent","title":"Sort"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PublicListingRead"},"title":"Response Public Search Route Api V1 Public Listings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/listings/clusters":{"get":{"tags":["public"],"summary":"Public Clusters Route","description":"Annunci pubblicati aggregati su griglia, per la mappa del portale.\n\nDichiarata prima di `/listings/{slug}` di proposito: senza, \"clusters\" verrebbe letto\ncome uno slug e la rotta non risponderebbe mai.","operationId":"public_clusters_route_api_v1_public_listings_clusters_get","parameters":[{"name":"bbox","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^-?\\d+(\\.\\d+)?(,-?\\d+(\\.\\d+)?){3}$"},{"type":"null"}],"description":"minLon,minLat,maxLon,maxLat in gradi WGS84","title":"Bbox"},"description":"minLon,minLat,maxLon,maxLat in gradi WGS84"},{"name":"near_lat","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":90,"minimum":-90},{"type":"null"}],"title":"Near Lat"}},{"name":"near_lon","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":180,"minimum":-180},{"type":"null"}],"title":"Near Lon"}},{"name":"entity_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Entity Type"}},{"name":"listing_status","in":"query","required":false,"schema":{"anyOf":[{"enum":["draft","published","reserved","sold","withdrawn"],"type":"string"},{"type":"null"}],"title":"Listing Status"}},{"name":"price_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Price Min"}},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Price Max"}},{"name":"surface_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Surface Min"}},{"name":"surface_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Surface Max"}},{"name":"rooms_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":200,"minimum":0},{"type":"null"}],"title":"Rooms Min"}},{"name":"energy_class","in":"query","required":false,"schema":{"anyOf":[{"enum":["A4","A3","A2","A1","A","B","C","D","E","F","G"],"type":"string"},{"type":"null"}],"title":"Energy Class"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"description":"Testo su nome, indirizzo, città","title":"Q"},"description":"Testo su nome, indirizzo, città"},{"name":"cell_size_degrees","in":"query","required":false,"schema":{"type":"number","maximum":10,"exclusiveMinimum":0,"default":0.05,"title":"Cell Size Degrees"}},{"name":"min_count","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Min Count"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterCell"},"title":"Response Public Clusters Route Api V1 Public Listings Clusters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/listings/{slug}":{"get":{"tags":["public"],"summary":"Public Detail Route","operationId":"public_detail_route_api_v1_public_listings__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicListingRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/listings/{slug}/enquiry":{"post":{"tags":["public"],"summary":"Public Enquiry Route","description":"Registra una richiesta di contatto, che diventa un lead commerciale.\n\nE' l'unico punto in cui il canale pubblico scrive, ed e' il piu' esposto agli abusi:\nil limite di frequenza per tenant, applicato da `get_request_context` a ogni\nrichiesta autenticata, vale anche qui.","operationId":"public_enquiry_route_api_v1_public_listings__slug__enquiry_post","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicEnquiryCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicEnquiryResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/listings/{slug}/media":{"get":{"tags":["public"],"summary":"Public Media Route","description":"Galleria di un annuncio pubblicato. Vuota se l'annuncio non e' visibile.","operationId":"public_media_route_api_v1_public_listings__slug__media_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssetMediaRead"},"title":"Response Public Media Route Api V1 Public Listings  Slug  Media Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/media/{media_id}/{variante}":{"get":{"tags":["public"],"summary":"Public Media Variant Route","description":"Serve una variante, ma solo se l'annuncio e' pubblicato in questo momento.\n\nIl controllo e' sullo stato attuale e non su un indirizzo firmato alla consegna:\nritirare un annuncio smette di servirne le fotografie subito, senza dover invalidare\ncollegamenti gia' in giro. La contropartita e' una query per immagine, che l'indice\nsu `asset_media.id` rende trascurabile.","operationId":"public_media_variant_route_api_v1_public_media__media_id___variante__get","parameters":[{"name":"media_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Media Id"}},{"name":"variante","in":"path","required":true,"schema":{"type":"string","title":"Variante"}},{"name":"t","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"T"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/listings/{slug}/valuation":{"get":{"tags":["public"],"summary":"Public Valuation Route","description":"Il confronto con la quotazione di zona, per chi guarda l'annuncio dal portale.\n\nE' l'informazione che nessun portale di annunci mette davanti all'acquirente, ed e'\nil motivo per cui vale la pena importare i dati OMI.","operationId":"public_valuation_route_api_v1_public_listings__slug__valuation_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValuationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/listings/{slug}/suggerimenti":{"get":{"tags":["public"],"summary":"Public Suggerimenti Route","description":"Il testo gia' generato per questo annuncio. Qui non si chiama nessun modello.\n\nLa generazione sta nel job `assets.insights.refresh`, e la ragione e' doppia. Sulla\nmacchina che ospita GISMart non c'e' una GPU, quindi un modello piccolo su CPU\nimpiega decine di secondi per un paragrafo: chi apre la scheda non puo' aspettare\ntanto. E questa rotta e' pubblica — generare qui vorrebbe dire consegnare a chiunque\nun pulsante per tenere occupati i core del cliente.\n\nSe il testo non c'e' ancora tornano i soli rilievi, che sono calcolati dai dati e\nvalgono anche da soli. `404` significa che non e' stato ancora calcolato niente.","operationId":"public_suggerimenti_route_api_v1_public_listings__slug__suggerimenti_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggerimentiRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/listings/{slug}/due-diligence":{"get":{"tags":["public"],"summary":"Public Due Diligence Route","description":"Le verifiche territoriali di un annuncio pubblicato.\n\nOgni esito porta con sé fonte, licenza, attribuzione e avvertenza: la licenza dei\ndati ISPRA le richiede, e legarle al dato invece che al modello di pagina fa sì che\nnon si possano mostrare i risultati dimenticandole.","operationId":"public_due_diligence_route_api_v1_public_listings__slug__due_diligence_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DueDiligenceRead"},"title":"Response Public Due Diligence Route Api V1 Public Listings  Slug  Due Diligence Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/map/overlays":{"post":{"tags":["map-overlays"],"summary":"Create Overlay Route","operationId":"create_overlay_route_api_v1_map_overlays_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MapOverlayCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MapOverlayRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["map-overlays"],"summary":"List Overlays Route","operationId":"list_overlays_route_api_v1_map_overlays_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MapOverlayRead"},"title":"Response List Overlays Route Api V1 Map Overlays Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/map/overlays/catalogo":{"get":{"tags":["map-overlays"],"summary":"Catalogo Route","description":"Sfondi pubblici gia' pronti, verificati, da attivare in un colpo solo.\n\nSta prima delle rotte con `{layer_key}` di proposito: `catalogo` e' una parola sola\ne verrebbe altrimenti interpretata come il nome di una sovrapposizione.","operationId":"catalogo_route_api_v1_map_overlays_catalogo_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Catalogo Route Api V1 Map Overlays Catalogo Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/map/overlays/catalogo/{chiave}":{"post":{"tags":["map-overlays"],"summary":"Attiva Da Catalogo Route","description":"Censisce nel tenant una voce del catalogo, con licenza e attribuzione gia' dentro.","operationId":"attiva_da_catalogo_route_api_v1_map_overlays_catalogo__chiave__post","parameters":[{"name":"chiave","in":"path","required":true,"schema":{"type":"string","title":"Chiave"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MapOverlayRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/map/overlays/{layer_key}":{"put":{"tags":["map-overlays"],"summary":"Update Overlay Route","operationId":"update_overlay_route_api_v1_map_overlays__layer_key__put","parameters":[{"name":"layer_key","in":"path","required":true,"schema":{"type":"string","title":"Layer Key"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MapOverlayUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MapOverlayRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["map-overlays"],"summary":"Delete Overlay Route","operationId":"delete_overlay_route_api_v1_map_overlays__layer_key__delete","parameters":[{"name":"layer_key","in":"path","required":true,"schema":{"type":"string","title":"Layer Key"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/map/overlays/{layer_key}/{z}/{x}/{y}":{"get":{"tags":["map-overlays"],"summary":"Tile Route","description":"Una tessera del livello, dalla cache o dall'origine.","operationId":"tile_route_api_v1_map_overlays__layer_key___z___x___y__get","parameters":[{"name":"layer_key","in":"path","required":true,"schema":{"type":"string","title":"Layer Key"}},{"name":"z","in":"path","required":true,"schema":{"type":"integer","title":"Z"}},{"name":"x","in":"path","required":true,"schema":{"type":"integer","title":"X"}},{"name":"y","in":"path","required":true,"schema":{"type":"integer","title":"Y"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/map/overlays":{"get":{"tags":["public"],"summary":"Public Overlays Route","description":"I livelli che il portale può accendere: solo pubblici e attivi, senza l'origine.","operationId":"public_overlays_route_api_v1_public_map_overlays_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PublicMapOverlayRead"},"title":"Response Public Overlays Route Api V1 Public Map Overlays Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/map/overlays/{layer_key}/{z}/{x}/{y}":{"get":{"tags":["public"],"summary":"Public Tile Route","description":"Come sopra, ma solo per i livelli marcati pubblici.\n\nSpegnere un livello nel registro lo toglie subito dal portale, senza dover\ninvalidare indirizzi già in circolazione.","operationId":"public_tile_route_api_v1_public_map_overlays__layer_key___z___x___y__get","parameters":[{"name":"layer_key","in":"path","required":true,"schema":{"type":"string","title":"Layer Key"}},{"name":"z","in":"path","required":true,"schema":{"type":"integer","title":"Z"}},{"name":"x","in":"path","required":true,"schema":{"type":"integer","title":"X"}},{"name":"y","in":"path","required":true,"schema":{"type":"integer","title":"Y"}},{"name":"t","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"T"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/map/config":{"get":{"tags":["public"],"summary":"Public Map Config Route","description":"Dove centrarsi e con quale mappa base: il minimo per disegnare una mappa.\n\nE' il sottoinsieme pubblico delle impostazioni GIS del tenant. La mappa base non\npassa dal nostro proxy: le condizioni d'uso di OpenStreetMap scoraggiano proprio il\nreinstradamento, e chi mette in produzione dovrebbe comunque configurare un\nfornitore proprio o autoprodotto.","operationId":"public_map_config_route_api_v1_public_map_config_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicMapConfig"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/job-system/status":{"get":{"tags":["admin"],"summary":"Get Job System Status","operationId":"get_job_system_status_api_v1_admin_job_system_status_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSystemStatusRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/oidc/status":{"get":{"tags":["admin"],"summary":"Get Oidc Status","operationId":"get_oidc_status_api_v1_admin_oidc_status_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OidcStatusRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/slo/status":{"get":{"tags":["admin"],"summary":"Get Slo Status","operationId":"get_slo_status_api_v1_admin_slo_status_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SloStatusRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/operations/overview":{"get":{"tags":["admin"],"summary":"Get Admin Operations Overview","operationId":"get_admin_operations_overview_api_v1_admin_operations_overview_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminOperationsOverviewRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/operations/report":{"get":{"tags":["admin"],"summary":"Get Admin Operations Report","operationId":"get_admin_operations_report_api_v1_admin_operations_report_get","parameters":[{"name":"format","in":"query","required":false,"schema":{"type":"string","pattern":"^(json|csv)$","default":"json","title":"Format"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminOperationsReportRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/runbook/connectors/failures":{"get":{"tags":["admin"],"summary":"Get Runbook Connector Failures","operationId":"get_runbook_connector_failures_api_v1_admin_runbook_connectors_failures_get","parameters":[{"name":"hours","in":"query","required":false,"schema":{"type":"integer","maximum":168,"minimum":1,"default":24,"title":"Hours"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConnectorRunbookFailureRead"},"title":"Response Get Runbook Connector Failures Api V1 Admin Runbook Connectors Failures Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/runbook/connectors/{connector_id}/retry-last-failed":{"post":{"tags":["admin"],"summary":"Post Runbook Connector Retry Last Failed","operationId":"post_runbook_connector_retry_last_failed_api_v1_admin_runbook_connectors__connector_id__retry_last_failed_post","parameters":[{"name":"connector_id","in":"path","required":true,"schema":{"type":"string","title":"Connector Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackgroundJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/runbook/connectors/{connector_id}/disable":{"post":{"tags":["admin"],"summary":"Post Runbook Connector Disable","operationId":"post_runbook_connector_disable_api_v1_admin_runbook_connectors__connector_id__disable_post","parameters":[{"name":"connector_id","in":"path","required":true,"schema":{"type":"string","title":"Connector Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorRunbookActionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/notification-endpoints":{"get":{"tags":["admin"],"summary":"Get Notification Endpoints","operationId":"get_notification_endpoints_api_v1_admin_notification_endpoints_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NotificationEndpointRead"},"title":"Response Get Notification Endpoints Api V1 Admin Notification Endpoints Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["admin"],"summary":"Post Notification Endpoint","operationId":"post_notification_endpoint_api_v1_admin_notification_endpoints_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationEndpointCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationEndpointRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/notification-endpoints/{endpoint_id}/test":{"post":{"tags":["admin"],"summary":"Post Notification Endpoint Test","operationId":"post_notification_endpoint_test_api_v1_admin_notification_endpoints__endpoint_id__test_post","parameters":[{"name":"endpoint_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Endpoint Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationDispatchResultRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/me":{"get":{"tags":["admin"],"summary":"Get Current Actor","operationId":"get_current_actor_api_v1_admin_me_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurrentActor"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/users":{"get":{"tags":["admin"],"summary":"Get Users","operationId":"get_users_api_v1_admin_users_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AppUserRead"},"title":"Response Get Users Api V1 Admin Users Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["admin"],"summary":"Post User","operationId":"post_user_api_v1_admin_users_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppUserCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppUserRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/memberships":{"get":{"tags":["admin"],"summary":"Get Memberships","operationId":"get_memberships_api_v1_admin_memberships_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TenantMembershipRead"},"title":"Response Get Memberships Api V1 Admin Memberships Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["admin"],"summary":"Post Membership","operationId":"post_membership_api_v1_admin_memberships_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantMembershipCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantMembershipRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/api-tokens":{"get":{"tags":["admin"],"summary":"Get Api Tokens","operationId":"get_api_tokens_api_v1_admin_api_tokens_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApiTokenRead"},"title":"Response Get Api Tokens Api V1 Admin Api Tokens Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["admin"],"summary":"Post Api Token","operationId":"post_api_token_api_v1_admin_api_tokens_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTokenCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTokenSecretRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/api-tokens/{token_id}/revoke":{"post":{"tags":["admin"],"summary":"Post Api Token Revoke","operationId":"post_api_token_revoke_api_v1_admin_api_tokens__token_id__revoke_post","parameters":[{"name":"token_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Token Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTokenRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/api-tokens/{token_id}/rotate":{"post":{"tags":["admin"],"summary":"Post Api Token Rotate","operationId":"post_api_token_rotate_api_v1_admin_api_tokens__token_id__rotate_post","parameters":[{"name":"token_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Token Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTokenSecretRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/audit-events":{"get":{"tags":["admin"],"summary":"Get Audit Events","operationId":"get_audit_events_api_v1_admin_audit_events_get","parameters":[{"name":"event_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AuditEventRead"},"title":"Response Get Audit Events Api V1 Admin Audit Events Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/jobs":{"get":{"tags":["admin"],"summary":"Get Background Jobs","operationId":"get_background_jobs_api_v1_admin_jobs_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"job_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BackgroundJobRead"},"title":"Response Get Background Jobs Api V1 Admin Jobs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["admin"],"summary":"Post Background Job","operationId":"post_background_job_api_v1_admin_jobs_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackgroundJobCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackgroundJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/jobs/summary":{"get":{"tags":["admin"],"summary":"Get Background Job Summaries","operationId":"get_background_job_summaries_api_v1_admin_jobs_summary_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BackgroundJobSummaryRead"},"title":"Response Get Background Job Summaries Api V1 Admin Jobs Summary Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/jobs/dead-letter":{"get":{"tags":["admin"],"summary":"Get Dead Letter Jobs","operationId":"get_dead_letter_jobs_api_v1_admin_jobs_dead_letter_get","parameters":[{"name":"job_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BackgroundJobRead"},"title":"Response Get Dead Letter Jobs Api V1 Admin Jobs Dead Letter Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/jobs/{job_id}/requeue":{"post":{"tags":["admin"],"summary":"Post Requeue Dead Letter Job","operationId":"post_requeue_dead_letter_job_api_v1_admin_jobs__job_id__requeue_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackgroundJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/jobs/{job_id}":{"get":{"tags":["admin"],"summary":"Get Background Job","operationId":"get_background_job_api_v1_admin_jobs__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackgroundJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/jobs/{job_id}/complete":{"post":{"tags":["admin"],"summary":"Post Background Job Complete","operationId":"post_background_job_complete_api_v1_admin_jobs__job_id__complete_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackgroundJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/jobs/{job_id}/cancel":{"post":{"tags":["admin"],"summary":"Post Background Job Cancel","operationId":"post_background_job_cancel_api_v1_admin_jobs__job_id__cancel_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackgroundJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/jobs/{job_id}/retry":{"post":{"tags":["admin"],"summary":"Post Background Job Retry","operationId":"post_background_job_retry_api_v1_admin_jobs__job_id__retry_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackgroundJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/scheduled-jobs":{"get":{"tags":["admin"],"summary":"Get Scheduled Jobs","operationId":"get_scheduled_jobs_api_v1_admin_scheduled_jobs_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduledJobRead"},"title":"Response Get Scheduled Jobs Api V1 Admin Scheduled Jobs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["admin"],"summary":"Post Scheduled Job","operationId":"post_scheduled_job_api_v1_admin_scheduled_jobs_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledJobCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/scheduled-jobs/presets":{"get":{"tags":["admin"],"summary":"Get Scheduled Job Presets","operationId":"get_scheduled_job_presets_api_v1_admin_scheduled_jobs_presets_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduledJobPresetRead"},"title":"Response Get Scheduled Job Presets Api V1 Admin Scheduled Jobs Presets Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/scheduled-jobs/{scheduled_job_id}/enable":{"post":{"tags":["admin"],"summary":"Post Enable Scheduled Job","operationId":"post_enable_scheduled_job_api_v1_admin_scheduled_jobs__scheduled_job_id__enable_post","parameters":[{"name":"scheduled_job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Scheduled Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/scheduled-jobs/{scheduled_job_id}/disable":{"post":{"tags":["admin"],"summary":"Post Disable Scheduled Job","operationId":"post_disable_scheduled_job_api_v1_admin_scheduled_jobs__scheduled_job_id__disable_post","parameters":[{"name":"scheduled_job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Scheduled Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledJobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/compliance/retention-policy":{"get":{"tags":["admin"],"summary":"Get Compliance Retention Policy","operationId":"get_compliance_retention_policy_api_v1_admin_compliance_retention_policy_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceRetentionPolicyRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/compliance/retention-purge":{"post":{"tags":["admin"],"summary":"Post Compliance Retention Purge","operationId":"post_compliance_retention_purge_api_v1_admin_compliance_retention_purge_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceRetentionPurgeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceRetentionPurgeRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/compliance/entities/export":{"post":{"tags":["admin"],"summary":"Post Compliance Entities Export","operationId":"post_compliance_entities_export_api_v1_admin_compliance_entities_export_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceEntityExportRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceEntityExportRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/compliance/entities/anonymize":{"post":{"tags":["admin"],"summary":"Post Compliance Entities Anonymize","operationId":"post_compliance_entities_anonymize_api_v1_admin_compliance_entities_anonymize_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceEntityAnonymizeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceEntityAnonymizeRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/compliance/report":{"post":{"tags":["admin"],"summary":"Post Compliance Report","operationId":"post_compliance_report_api_v1_admin_compliance_report_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceReportRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceReportRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/licenses":{"get":{"tags":["admin"],"summary":"Get Licenses","description":"Proxy al server licenze: lista licenze + statistiche.","operationId":"get_licenses_api_v1_admin_licenses_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Licenses Api V1 Admin Licenses Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/licenses/request":{"post":{"tags":["admin"],"summary":"Request License","description":"Genera una nuova licenza GISMart tramite il server licenze.","operationId":"request_license_api_v1_admin_licenses_request_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Request License Api V1 Admin Licenses Request Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/licenses/{license_code}":{"get":{"tags":["admin"],"summary":"Get License Detail","description":"Proxy al server licenze: dettaglio di una licenza.","operationId":"get_license_detail_api_v1_admin_licenses__license_code__get","parameters":[{"name":"license_code","in":"path","required":true,"schema":{"type":"string","title":"License Code"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get License Detail Api V1 Admin Licenses  License Code  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/provision-tenant":{"post":{"tags":["admin"],"summary":"Provision Tenant","operationId":"provision_tenant_api_v1_admin_provision_tenant_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProvisionTenantRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProvisionTenantResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mobile/v1/auth/login":{"post":{"tags":["mobile-v1"],"summary":"Mobile Login","operationId":"mobile_login_api_v1_mobile_v1_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MobileAuthLoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MobileAuthLoginRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mobile/v1/tasks/assigned":{"get":{"tags":["mobile-v1"],"summary":"List Mobile Assigned Tasks","operationId":"list_mobile_assigned_tasks_api_v1_mobile_v1_tasks_assigned_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MobileTaskRead"},"title":"Response List Mobile Assigned Tasks Api V1 Mobile V1 Tasks Assigned Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mobile/v1/map/points":{"get":{"tags":["mobile-v1"],"summary":"Get Mobile Map Points","operationId":"get_mobile_map_points_api_v1_mobile_v1_map_points_get","parameters":[{"name":"latitude","in":"query","required":true,"schema":{"type":"number","title":"Latitude"}},{"name":"longitude","in":"query","required":true,"schema":{"type":"number","title":"Longitude"}},{"name":"radius_meters","in":"query","required":false,"schema":{"type":"integer","maximum":250000,"minimum":100,"default":50000,"title":"Radius Meters"}},{"name":"task_limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":200,"title":"Task Limit"}},{"name":"hub_limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Hub Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MobileMapBundleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mobile/v1/tasks/{delivery_id}/status":{"patch":{"tags":["mobile-v1"],"summary":"Patch Mobile Task Status","operationId":"patch_mobile_task_status_api_v1_mobile_v1_tasks__delivery_id__status_patch","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Delivery Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MobileTaskStatusUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MobileTaskRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mobile/v1/sales/items":{"get":{"tags":["mobile-v1"],"summary":"List Mobile Sales Items","operationId":"list_mobile_sales_items_api_v1_mobile_v1_sales_items_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MobileSalesItemRead"},"title":"Response List Mobile Sales Items Api V1 Mobile V1 Sales Items Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mobile/v1/sales/visit":{"post":{"tags":["mobile-v1"],"summary":"Log Mobile Visit","operationId":"log_mobile_visit_api_v1_mobile_v1_sales_visit_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MobileVisitCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MobileVisitRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mobile/v1/properties":{"get":{"tags":["mobile-v1"],"summary":"List Mobile Properties","operationId":"list_mobile_properties_api_v1_mobile_v1_properties_get","parameters":[{"name":"entity_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":150,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MobilePropertyRead"},"title":"Response List Mobile Properties Api V1 Mobile V1 Properties Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mobile/v1/properties/{entity_id}/note":{"patch":{"tags":["mobile-v1"],"summary":"Patch Mobile Property Note","operationId":"patch_mobile_property_note_api_v1_mobile_v1_properties__entity_id__note_patch","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MobilePropertyNoteUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MobilePropertyRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mobile/v1/suppliers":{"get":{"tags":["mobile-v1"],"summary":"List Mobile Suppliers","operationId":"list_mobile_suppliers_api_v1_mobile_v1_suppliers_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MobileSupplierRead"},"title":"Response List Mobile Suppliers Api V1 Mobile V1 Suppliers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mobile/v1/suppliers/nearby":{"get":{"tags":["mobile-v1"],"summary":"Get Mobile Nearby Suppliers","description":"I fornitori vicini a chi e' in campo, per strada.\n\n`limit` taglia **dopo** la misura su strada: il piu' vicino per strada puo' essere il\ntrentunesimo a volo d'uccello, e tagliare prima lo farebbe sparire.\n\n**Ogni elemento porta `su_strada`.** Chi e' in strada con il telefono in mano e' anche\nchi ha meno modo di accorgersi che sta guardando una distanza in linea d'aria.","operationId":"get_mobile_nearby_suppliers_api_v1_mobile_v1_suppliers_nearby_get","parameters":[{"name":"latitude","in":"query","required":true,"schema":{"type":"number","title":"Latitude"}},{"name":"longitude","in":"query","required":true,"schema":{"type":"number","title":"Longitude"}},{"name":"radius_meters","in":"query","required":false,"schema":{"type":"integer","maximum":250000,"minimum":500,"default":50000,"title":"Radius Meters"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":30,"title":"Limit"}},{"name":"profilo","in":"query","required":false,"schema":{"enum":["auto","camion","bici","piedi"],"type":"string","default":"auto","title":"Profilo"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MobileSupplierRead"},"title":"Response Get Mobile Nearby Suppliers Api V1 Mobile V1 Suppliers Nearby Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mobile/v1/sync/status":{"get":{"tags":["mobile-v1"],"summary":"Get Mobile Sync Status","operationId":"get_mobile_sync_status_api_v1_mobile_v1_sync_status_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MobileSyncStatusRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/onboarding/register":{"post":{"tags":["onboarding"],"summary":"Register Tenant","operationId":"register_tenant_api_v1_onboarding_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnboardingRegisterRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnboardingRegisterResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tenant/profile":{"get":{"tags":["tenant"],"summary":"Get Profile","operationId":"get_profile_api_v1_tenant_profile_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantProfileRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["tenant"],"summary":"Update Profile","operationId":"update_profile_api_v1_tenant_profile_patch","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantProfileUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantProfileRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tenant/members":{"get":{"tags":["tenant"],"summary":"List Members","operationId":"list_members_api_v1_tenant_members_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MemberRead"},"title":"Response List Members Api V1 Tenant Members Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tenant/members/{membership_id}/role":{"patch":{"tags":["tenant"],"summary":"Update Member Role","operationId":"update_member_role_api_v1_tenant_members__membership_id__role_patch","parameters":[{"name":"membership_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Membership Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberRoleUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MemberRead"},"title":"Response Update Member Role Api V1 Tenant Members  Membership Id  Role Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tenant/members/{membership_id}":{"delete":{"tags":["tenant"],"summary":"Remove Member","operationId":"remove_member_api_v1_tenant_members__membership_id__delete","parameters":[{"name":"membership_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Membership Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tenant/invites":{"get":{"tags":["tenant"],"summary":"List Invites","operationId":"list_invites_api_v1_tenant_invites_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InviteRead"},"title":"Response List Invites Api V1 Tenant Invites Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["tenant"],"summary":"Create Invite","operationId":"create_invite_api_v1_tenant_invites_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tenant/invites/{invite_id}":{"delete":{"tags":["tenant"],"summary":"Revoke Invite","operationId":"revoke_invite_api_v1_tenant_invites__invite_id__delete","parameters":[{"name":"invite_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invite Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tenant/invites/accept":{"post":{"tags":["tenant"],"summary":"Accept Invite","operationId":"accept_invite_api_v1_tenant_invites_accept_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteAccept"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteAcceptResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/demo/regia":{"get":{"tags":["demo"],"summary":"Leggi Regia","description":"Cosa e' acceso adesso, cos'altro c'e', e se c'e' qualcosa da mostrare.\n\n**`avvertenze` va letto prima di cominciare.** Dice se il territorio e' stato seminato\ne se il motore di percorsi c'e': sono le due cose che, mancando, trasformano una demo\nin venti minuti di schermate vuote spiegate a voce — e ci si accorge del problema\ndavanti al cliente.","operationId":"leggi_regia_api_v1_demo_regia_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegiaRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/demo/regia/scenario":{"put":{"tags":["demo"],"summary":"Cambia Scenario","description":"Commuta lo scenario, a caldo.\n\nLo stato e' del tenant e quindi **condiviso**: chi lo cambia lo cambia per tutti. E'\nvoluto — la demo la guida una persona, in una stanza, e quando si toglie un modulo lo\nvedono tutti insieme.\n\nNon tocca il gate delle licenze. Cosa e' VENDIBILE lo dice quello, e resta dov'e': si\nmostra come momento a se'.","operationId":"cambia_scenario_api_v1_demo_regia_scenario_put","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-tenant-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Tenant-Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegiaRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AddestramentoRichiesta":{"properties":{"serie_chiave":{"type":"string","maxLength":120,"minLength":1,"title":"Serie Chiave"},"campo":{"type":"string","maxLength":60,"minLength":1,"title":"Campo"},"soggetto":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Soggetto"},"orizzonti":{"anyOf":[{"items":{"type":"integer"},"type":"array","maxItems":12},{"type":"null"}],"title":"Orizzonti"},"giorni_controllo":{"type":"integer","maximum":180.0,"minimum":7.0,"title":"Giorni Controllo","default":30}},"type":"object","required":["serie_chiave","campo"],"title":"AddestramentoRichiesta"},"AdminBoundaryImportRequest":{"properties":{"boundary_level":{"type":"string","enum":["regione","provincia","comune"],"title":"Boundary Level"},"source_label":{"type":"string","title":"Source Label"},"content":{"type":"string","title":"Content"},"srid":{"type":"integer","title":"Srid","default":4326}},"type":"object","required":["boundary_level","source_label","content"],"title":"AdminBoundaryImportRequest"},"AdminBoundaryImportResult":{"properties":{"imported_count":{"type":"integer","title":"Imported Count"},"updated_count":{"type":"integer","title":"Updated Count"},"boundary_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Boundary Ids"},"warnings":{"items":{"type":"string"},"type":"array","title":"Warnings"}},"type":"object","required":["imported_count","updated_count"],"title":"AdminBoundaryImportResult"},"AdminBoundaryRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"boundary_level":{"type":"string","enum":["regione","provincia","comune"],"title":"Boundary Level"},"boundary_code":{"type":"string","title":"Boundary Code"},"name":{"type":"string","title":"Name"},"parent_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Code"},"centroid_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Centroid Latitude"},"centroid_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Centroid Longitude"},"source_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Label"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["id","tenant_id","boundary_level","boundary_code","name"],"title":"AdminBoundaryRead"},"AdminOperationsOverviewRead":{"properties":{"queue_backend":{"type":"string","title":"Queue Backend"},"redis_available":{"type":"boolean","title":"Redis Available"},"enabled_scheduled_jobs":{"type":"integer","title":"Enabled Scheduled Jobs"},"queued_jobs":{"type":"integer","title":"Queued Jobs"},"running_jobs":{"type":"integer","title":"Running Jobs"},"failed_jobs_last_24h":{"type":"integer","title":"Failed Jobs Last 24H"},"stalled_running_jobs":{"type":"integer","title":"Stalled Running Jobs"},"open_provider_circuits":{"type":"integer","title":"Open Provider Circuits"},"alert_messages":{"items":{"type":"string"},"type":"array","title":"Alert Messages"}},"type":"object","required":["queue_backend","redis_available","enabled_scheduled_jobs","queued_jobs","running_jobs","failed_jobs_last_24h","stalled_running_jobs","open_provider_circuits"],"title":"AdminOperationsOverviewRead"},"AdminOperationsReportRead":{"properties":{"generated_at":{"type":"string","format":"date-time","title":"Generated At"},"queue_backend":{"type":"string","title":"Queue Backend"},"redis_available":{"type":"boolean","title":"Redis Available"},"overview":{"$ref":"#/components/schemas/AdminOperationsOverviewRead"},"providers":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Providers"},"job_summaries":{"items":{"$ref":"#/components/schemas/BackgroundJobSummaryRead"},"type":"array","title":"Job Summaries"}},"type":"object","required":["generated_at","queue_backend","redis_available","overview"],"title":"AdminOperationsReportRead"},"AnnuncioDaImportare":{"properties":{"price_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Price Amount"},"price_currency":{"type":"string","maxLength":3,"minLength":3,"title":"Price Currency","default":"EUR"},"available_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Available From"},"agent_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent User Id"},"surface_sqm":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Surface Sqm"},"rooms":{"anyOf":[{"type":"integer","maximum":200.0,"minimum":0.0},{"type":"null"}],"title":"Rooms"},"bathrooms":{"anyOf":[{"type":"integer","maximum":50.0,"minimum":0.0},{"type":"null"}],"title":"Bathrooms"},"floor":{"anyOf":[{"type":"integer","maximum":200.0,"minimum":-10.0},{"type":"null"}],"title":"Floor"},"total_floors":{"anyOf":[{"type":"integer","maximum":200.0,"minimum":0.0},{"type":"null"}],"title":"Total Floors"},"build_year":{"anyOf":[{"type":"integer","maximum":2100.0,"minimum":1000.0},{"type":"null"}],"title":"Build Year"},"condition":{"anyOf":[{"type":"string","enum":["new","renovated","good","to_renovate","shell"]},{"type":"null"}],"title":"Condition"},"energy_class":{"anyOf":[{"type":"string","enum":["A4","A3","A2","A1","A","B","C","D","E","F","G"]},{"type":"null"}],"title":"Energy Class"},"energy_index":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Energy Index"},"has_elevator":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Elevator"},"has_parking":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Parking"},"heating_type":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Heating Type"},"cadastral_sheet":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Cadastral Sheet"},"cadastral_parcel":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Cadastral Parcel"},"cadastral_subaltern":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Cadastral Subaltern"},"cadastral_category":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Cadastral Category"},"cadastral_income":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Cadastral Income"},"plant_type":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Plant Type"},"installed_power_kw":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Installed Power Kw"},"covered_area_sqm":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Covered Area Sqm"},"land_area_sqm":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Land Area Sqm"},"ateco_code":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Ateco Code"},"crane_capacity_kg":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Crane Capacity Kg"},"ceiling_height_m":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Ceiling Height M"},"loading_bays":{"anyOf":[{"type":"integer","maximum":500.0,"minimum":0.0},{"type":"null"}],"title":"Loading Bays"},"maintenance_status":{"anyOf":[{"type":"string","enum":["operational","scheduled","overdue","out_of_service"]},{"type":"null"}],"title":"Maintenance Status"},"certifications":{"anyOf":[{"items":{"$ref":"#/components/schemas/Certification"},"type":"array"},{"type":"null"}],"title":"Certifications"},"public_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Description"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"},"external_id":{"type":"string","maxLength":100,"minLength":1,"title":"External Id"},"name":{"type":"string","maxLength":255,"minLength":2,"title":"Name"},"entity_type":{"type":"string","maxLength":50,"title":"Entity Type","default":"property"},"address_line":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Address Line"},"postal_code":{"anyOf":[{"type":"string","maxLength":30},{"type":"null"}],"title":"Postal Code"},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Province"},"country_code":{"type":"string","maxLength":2,"minLength":2,"title":"Country Code","default":"IT"},"latitude":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"null"}],"title":"Longitude"},"foto":{"items":{"$ref":"#/components/schemas/FotoDaImportare"},"type":"array","title":"Foto"},"listing_status":{"type":"string","enum":["draft","published","reserved","sold","withdrawn"],"title":"Listing Status","default":"published"},"public_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Slug"}},"type":"object","required":["external_id","name"],"title":"AnnuncioDaImportare","description":"Un immobile nella forma normalizzata che l'importazione accetta.\n\nEredita i campi dell'annuncio — prezzo, superficie, locali, dati catastali, campi\nindustriali — così un tracciato nuovo si aggancia senza toccare questo file."},"AnteprimaGeoJSON":{"properties":{"calibrato":{"type":"boolean","title":"Calibrato"},"epsg":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Epsg"},"geojson":{"additionalProperties":true,"type":"object","title":"Geojson"},"avvisi":{"items":{"type":"string"},"type":"array","title":"Avvisi"}},"type":"object","required":["calibrato","epsg","geojson","avvisi"],"title":"AnteprimaGeoJSON","description":"Il disegno in GeoJSON, calibrato se possibile.\n\n`calibrato` e' falso quando non esiste ancora una calibrazione: in quel caso le\ncoordinate sono ancora quelle del CAD e non vanno messe su una mappa. Il campo\nesiste perche' un consumatore distratto, vedendo un GeoJSON, darebbe per scontato\nche sia georeferenziato."},"ApiTokenCreate":{"properties":{"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"},"name":{"type":"string","title":"Name"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["name"],"title":"ApiTokenCreate"},"ApiTokenRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"name":{"type":"string","title":"Name"},"status":{"type":"string","title":"Status"},"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"}},"type":"object","required":["id","tenant_id","user_id","name","status","created_at"],"title":"ApiTokenRead"},"ApiTokenSecretRead":{"properties":{"token":{"type":"string","title":"Token"},"token_info":{"$ref":"#/components/schemas/ApiTokenRead"}},"type":"object","required":["token","token_info"],"title":"ApiTokenSecretRead"},"AppUserCreate":{"properties":{"email":{"type":"string","title":"Email"},"display_name":{"type":"string","title":"Display Name"},"status":{"type":"string","title":"Status","default":"active"},"is_platform_admin":{"type":"boolean","title":"Is Platform Admin","default":false},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["email","display_name"],"title":"AppUserCreate"},"AppUserRead":{"properties":{"email":{"type":"string","title":"Email"},"display_name":{"type":"string","title":"Display Name"},"status":{"type":"string","title":"Status","default":"active"},"is_platform_admin":{"type":"boolean","title":"Is Platform Admin","default":false},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["email","display_name","id","created_at"],"title":"AppUserRead"},"AreaProtettaCreate":{"properties":{"codice":{"type":"string","maxLength":80,"minLength":1,"title":"Codice"},"nome":{"type":"string","maxLength":300,"minLength":1,"title":"Nome"},"tipo":{"type":"string","maxLength":40,"minLength":1,"title":"Tipo"},"categoria":{"type":"string","enum":["euap","natura2000","internazionale","proprio"],"title":"Categoria"},"ente_gestore":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Ente Gestore"},"fonte":{"type":"string","maxLength":120,"minLength":1,"title":"Fonte"},"fonte_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Fonte Url"},"licenza":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Licenza"},"attribuzione":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}],"title":"Attribuzione"},"data_dato":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Data Dato"},"zona":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Zona"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"geometria":{"additionalProperties":true,"type":"object","title":"Geometria"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"}},"type":"object","required":["codice","nome","tipo","categoria","fonte","geometria"],"title":"AreaProtettaCreate","description":"Perimetro caricato dall'ente, non importato da una fonte pubblica.\n\nE' il caso che conta di piu': il perimetro autorevole di un parco e' quello del suo\natto istitutivo, non quello del dato nazionale."},"AreaProtettaElenco":{"properties":{"elementi":{"items":{"$ref":"#/components/schemas/AreaProtettaRead"},"type":"array","title":"Elementi"},"totale":{"type":"integer","title":"Totale"}},"type":"object","required":["elementi","totale"],"title":"AreaProtettaElenco"},"AreaProtettaRead":{"properties":{"codice":{"type":"string","maxLength":80,"minLength":1,"title":"Codice"},"nome":{"type":"string","maxLength":300,"minLength":1,"title":"Nome"},"tipo":{"type":"string","maxLength":40,"minLength":1,"title":"Tipo"},"categoria":{"type":"string","enum":["euap","natura2000","internazionale","proprio"],"title":"Categoria"},"ente_gestore":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Ente Gestore"},"fonte":{"type":"string","maxLength":120,"minLength":1,"title":"Fonte"},"fonte_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Fonte Url"},"licenza":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Licenza"},"attribuzione":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}],"title":"Attribuzione"},"data_dato":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Data Dato"},"zona":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Zona"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"id":{"type":"string","format":"uuid","title":"Id"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"},"superficie_ha":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Superficie Ha"},"attiva":{"type":"boolean","title":"Attiva","default":true},"importata_il":{"type":"string","format":"date-time","title":"Importata Il"},"aggiornata_il":{"type":"string","format":"date-time","title":"Aggiornata Il"}},"type":"object","required":["codice","nome","tipo","categoria","fonte","id","importata_il","aggiornata_il"],"title":"AreaProtettaRead"},"AreaPubblicaElenco":{"properties":{"elementi":{"items":{"$ref":"#/components/schemas/AreaPubblicaRead"},"type":"array","title":"Elementi"},"totale":{"type":"integer","title":"Totale"}},"type":"object","required":["elementi","totale"],"title":"AreaPubblicaElenco"},"AreaPubblicaRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"codice":{"type":"string","title":"Codice"},"nome":{"type":"string","title":"Nome"},"tipo":{"type":"string","title":"Tipo"},"categoria":{"type":"string","title":"Categoria"},"ente_gestore":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ente Gestore"},"zona":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zona"},"superficie_ha":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Superficie Ha"},"fonte":{"type":"string","title":"Fonte"},"fonte_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fonte Url"},"licenza":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Licenza"},"attribuzione":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attribuzione"},"data_dato":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Data Dato"},"geometria":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Geometria"},"distanza_m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distanza M"}},"type":"object","required":["id","codice","nome","tipo","categoria","fonte"],"title":"AreaPubblicaRead","description":"Un'area protetta come la vede chi la visita.\n\n**E' una proiezione, non un modello con dei campi nascosti.** Restano fuori\n`tenant_id`, `metadata`, le date di importazione e lo stato di attivazione: non\nservono a chi visita e dicono qualcosa sull'ente che li ha caricati, non sull'area.\nNascondere campi in uscita da un modello completo funziona finche' nessuno aggiunge\nun campo senza ricordarsi di nasconderlo; elencare quelli ammessi no.\n\n`ente_gestore` invece c'e', ed e' il campo piu' utile di tutti: la domanda che segue\n«sono in un'area protetta» e' quasi sempre «chi devo chiamare»."},"AreaRaggiungibile":{"properties":{"poligono":{"additionalProperties":true,"type":"object","title":"Poligono"},"su_strada":{"type":"boolean","title":"Su Strada"},"minuti":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Minuti"},"profilo":{"type":"string","title":"Profilo","default":"auto"},"raggio_massimo_m":{"type":"number","title":"Raggio Massimo M","default":0.0},"avvertenze":{"items":{"type":"string"},"type":"array","title":"Avvertenze"}},"type":"object","required":["poligono","su_strada"],"title":"AreaRaggiungibile","description":"La forma di cio' che si raggiunge in un certo tempo da un punto.\n\nSta qui e non in un verticale perche' la chiedono in due con parole diverse: la\nlogistica «l'area di servizio di questo magazzino», le vendite «il territorio di questo\nagente». E' la stessa cosa.\n\n`su_strada` va guardato **prima del poligono**: un'isocrona e un cerchio hanno lo\nstesso tipo e la stessa aria, ma il cerchio tratta tutte le direzioni uguali e le\nstrade no."},"AreaServizioMagazzino":{"properties":{"warehouse_id":{"type":"string","format":"uuid","title":"Warehouse Id"},"warehouse_code":{"type":"string","title":"Warehouse Code"},"warehouse_name":{"type":"string","title":"Warehouse Name"},"area":{"anyOf":[{"$ref":"#/components/schemas/AreaRaggiungibile"},{"type":"null"}]},"nell_area":{"items":{"$ref":"#/components/schemas/ConsegnaNellArea"},"type":"array","title":"Nell Area"},"fuori_area":{"items":{"$ref":"#/components/schemas/ConsegnaNellArea"},"type":"array","title":"Fuori Area"},"avvertenze":{"items":{"type":"string"},"type":"array","title":"Avvertenze"}},"type":"object","required":["warehouse_id","warehouse_code","warehouse_name"],"title":"AreaServizioMagazzino","description":"L'area di servizio di un magazzino, e cosa ci cade dentro.\n\nLa domanda «cosa raggiungo in venti minuti da qui» e' commerciale prima che tecnica:\ndecide dove si promette la consegna in giornata.\n\n`fuori_area` e' la parte che serve davvero: sono le consegne aperte che da questo\nmagazzino NON si raggiungono nel tempo dichiarato. Un elenco di cio' che e' dentro\nconferma quello che si sperava; questo dice dove si sta promettendo troppo."},"AreaTerritorio":{"properties":{"territory_id":{"type":"string","format":"uuid","title":"Territory Id"},"territory_code":{"type":"string","title":"Territory Code"},"name":{"type":"string","title":"Name"},"area":{"anyOf":[{"$ref":"#/components/schemas/AreaRaggiungibile"},{"type":"null"}]},"assegnati_dentro":{"items":{"$ref":"#/components/schemas/ClienteNelTerritorio"},"type":"array","title":"Assegnati Dentro"},"assegnati_fuori":{"items":{"$ref":"#/components/schemas/ClienteNelTerritorio"},"type":"array","title":"Assegnati Fuori"},"dentro_non_assegnati":{"items":{"$ref":"#/components/schemas/ClienteNelTerritorio"},"type":"array","title":"Dentro Non Assegnati"},"avvertenze":{"items":{"type":"string"},"type":"array","title":"Avvertenze"}},"type":"object","required":["territory_id","territory_code","name"],"title":"AreaTerritorio","description":"La forma vera di un territorio di vendita, e chi ci cade dentro.\n\nUn territorio era un cerchio: centro piu' raggio. Con `minuti_percorrenza` diventa\nun'isocrona, cioe' la forma di «fin dove arrivo in mezz'ora» — che e' quello che un\nterritorio significa davvero per chi lo percorre.\n\nLe due liste che contano sono le discordanze:\n\n- `assegnati_fuori` — clienti di questo territorio che dall'area non si raggiungono.\n  E' il caso che il cerchio nascondeva: sembravano dentro perche' vicini in linea\n  d'aria, e l'agente ci mette il doppio.\n- `dentro_non_assegnati` — clienti raggiungibili che pero' sono di qualcun altro, o di\n  nessuno. E' dove il territorio potrebbe crescere senza allungare una strada."},"AssetClusterCell":{"properties":{"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"count":{"type":"integer","title":"Count"},"price_min":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Min"},"price_max":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Max"}},"type":"object","required":["latitude","longitude","count"],"title":"AssetClusterCell","description":"Un gruppo di annunci addensati, per non disegnare mille puntini sovrapposti.\n\nPorta con se' l'intervallo di prezzo perche' e' l'informazione che rende leggibile\nuna bolla sulla mappa: \"34 immobili, da 120.000 a 480.000\" dice molto piu' di \"34\"."},"AssetListingCreate":{"properties":{"price_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Price Amount"},"price_currency":{"type":"string","maxLength":3,"minLength":3,"title":"Price Currency","default":"EUR"},"available_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Available From"},"agent_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent User Id"},"surface_sqm":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Surface Sqm"},"rooms":{"anyOf":[{"type":"integer","maximum":200.0,"minimum":0.0},{"type":"null"}],"title":"Rooms"},"bathrooms":{"anyOf":[{"type":"integer","maximum":50.0,"minimum":0.0},{"type":"null"}],"title":"Bathrooms"},"floor":{"anyOf":[{"type":"integer","maximum":200.0,"minimum":-10.0},{"type":"null"}],"title":"Floor"},"total_floors":{"anyOf":[{"type":"integer","maximum":200.0,"minimum":0.0},{"type":"null"}],"title":"Total Floors"},"build_year":{"anyOf":[{"type":"integer","maximum":2100.0,"minimum":1000.0},{"type":"null"}],"title":"Build Year"},"condition":{"anyOf":[{"type":"string","enum":["new","renovated","good","to_renovate","shell"]},{"type":"null"}],"title":"Condition"},"energy_class":{"anyOf":[{"type":"string","enum":["A4","A3","A2","A1","A","B","C","D","E","F","G"]},{"type":"null"}],"title":"Energy Class"},"energy_index":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Energy Index"},"has_elevator":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Elevator"},"has_parking":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Parking"},"heating_type":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Heating Type"},"cadastral_sheet":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Cadastral Sheet"},"cadastral_parcel":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Cadastral Parcel"},"cadastral_subaltern":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Cadastral Subaltern"},"cadastral_category":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Cadastral Category"},"cadastral_income":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Cadastral Income"},"plant_type":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Plant Type"},"installed_power_kw":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Installed Power Kw"},"covered_area_sqm":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Covered Area Sqm"},"land_area_sqm":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Land Area Sqm"},"ateco_code":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Ateco Code"},"crane_capacity_kg":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Crane Capacity Kg"},"ceiling_height_m":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Ceiling Height M"},"loading_bays":{"anyOf":[{"type":"integer","maximum":500.0,"minimum":0.0},{"type":"null"}],"title":"Loading Bays"},"maintenance_status":{"anyOf":[{"type":"string","enum":["operational","scheduled","overdue","out_of_service"]},{"type":"null"}],"title":"Maintenance Status"},"certifications":{"anyOf":[{"items":{"$ref":"#/components/schemas/Certification"},"type":"array"},{"type":"null"}],"title":"Certifications"},"public_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Description"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"},"business_entity_id":{"type":"string","format":"uuid","title":"Business Entity Id"},"listing_status":{"type":"string","enum":["draft","published","reserved","sold","withdrawn"],"title":"Listing Status","default":"draft"}},"type":"object","required":["business_entity_id"],"title":"AssetListingCreate","description":"Crea un annuncio su un'entita' che esiste gia'.\n\nL'entita' non si crea da qui di proposito: chi vende un immobile lo ha quasi sempre\ngia' in anagrafica, e chi non ce l'ha passa da `POST /api/v1/entities`, che sa\ngeocodificare l'indirizzo. Duplicare quel percorso qui vorrebbe dire mantenerne due."},"AssetListingPublishRequest":{"properties":{"listing_status":{"type":"string","enum":["draft","published","reserved","sold","withdrawn"],"title":"Listing Status","default":"published"},"is_public":{"type":"boolean","title":"Is Public","default":true},"public_slug":{"anyOf":[{"type":"string","maxLength":160,"minLength":3,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},{"type":"null"}],"title":"Public Slug"}},"type":"object","title":"AssetListingPublishRequest","description":"Pubblica o ritira un annuncio.\n\n`public_slug` e' facoltativo: se manca viene derivato dal nome dell'entita'. Deve\nrestare stabile nel tempo, perche' e' l'indirizzo con cui l'annuncio circola."},"AssetListingRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"business_entity_id":{"type":"string","format":"uuid","title":"Business Entity Id"},"name":{"type":"string","title":"Name"},"entity_type":{"type":"string","title":"Entity Type"},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"listing_status":{"type":"string","enum":["draft","published","reserved","sold","withdrawn"],"title":"Listing Status"},"price_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Amount"},"price_currency":{"type":"string","title":"Price Currency"},"price_per_sqm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Per Sqm"},"available_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Available From"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"agent_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent User Id"},"surface_sqm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Surface Sqm"},"rooms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rooms"},"bathrooms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bathrooms"},"floor":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Floor"},"total_floors":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Floors"},"build_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Build Year"},"condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Condition"},"energy_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Energy Class"},"energy_index":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Energy Index"},"has_elevator":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Elevator"},"has_parking":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Parking"},"heating_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Heating Type"},"cadastral_sheet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cadastral Sheet"},"cadastral_parcel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cadastral Parcel"},"cadastral_subaltern":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cadastral Subaltern"},"cadastral_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cadastral Category"},"cadastral_income":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cadastral Income"},"plant_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plant Type"},"installed_power_kw":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Installed Power Kw"},"covered_area_sqm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Covered Area Sqm"},"land_area_sqm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Land Area Sqm"},"ateco_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ateco Code"},"crane_capacity_kg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Crane Capacity Kg"},"ceiling_height_m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ceiling Height M"},"loading_bays":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Loading Bays"},"maintenance_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Maintenance Status"},"certifications":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Certifications"},"is_public":{"type":"boolean","title":"Is Public"},"public_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Slug"},"public_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Description"},"cover_media_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Cover Media Id"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","tenant_id","business_entity_id","name","entity_type","listing_status","price_currency","is_public","created_at","updated_at"],"title":"AssetListingRead"},"AssetListingUpdate":{"properties":{"price_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Price Amount"},"price_currency":{"type":"string","maxLength":3,"minLength":3,"title":"Price Currency","default":"EUR"},"available_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Available From"},"agent_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent User Id"},"surface_sqm":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Surface Sqm"},"rooms":{"anyOf":[{"type":"integer","maximum":200.0,"minimum":0.0},{"type":"null"}],"title":"Rooms"},"bathrooms":{"anyOf":[{"type":"integer","maximum":50.0,"minimum":0.0},{"type":"null"}],"title":"Bathrooms"},"floor":{"anyOf":[{"type":"integer","maximum":200.0,"minimum":-10.0},{"type":"null"}],"title":"Floor"},"total_floors":{"anyOf":[{"type":"integer","maximum":200.0,"minimum":0.0},{"type":"null"}],"title":"Total Floors"},"build_year":{"anyOf":[{"type":"integer","maximum":2100.0,"minimum":1000.0},{"type":"null"}],"title":"Build Year"},"condition":{"anyOf":[{"type":"string","enum":["new","renovated","good","to_renovate","shell"]},{"type":"null"}],"title":"Condition"},"energy_class":{"anyOf":[{"type":"string","enum":["A4","A3","A2","A1","A","B","C","D","E","F","G"]},{"type":"null"}],"title":"Energy Class"},"energy_index":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Energy Index"},"has_elevator":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Elevator"},"has_parking":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Parking"},"heating_type":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Heating Type"},"cadastral_sheet":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Cadastral Sheet"},"cadastral_parcel":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Cadastral Parcel"},"cadastral_subaltern":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Cadastral Subaltern"},"cadastral_category":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Cadastral Category"},"cadastral_income":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Cadastral Income"},"plant_type":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Plant Type"},"installed_power_kw":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Installed Power Kw"},"covered_area_sqm":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Covered Area Sqm"},"land_area_sqm":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Land Area Sqm"},"ateco_code":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Ateco Code"},"crane_capacity_kg":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Crane Capacity Kg"},"ceiling_height_m":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Ceiling Height M"},"loading_bays":{"anyOf":[{"type":"integer","maximum":500.0,"minimum":0.0},{"type":"null"}],"title":"Loading Bays"},"maintenance_status":{"anyOf":[{"type":"string","enum":["operational","scheduled","overdue","out_of_service"]},{"type":"null"}],"title":"Maintenance Status"},"certifications":{"anyOf":[{"items":{"$ref":"#/components/schemas/Certification"},"type":"array"},{"type":"null"}],"title":"Certifications"},"public_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Description"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","title":"AssetListingUpdate","description":"Aggiornamento parziale: i campi omessi restano come sono.\n\n`listing_status` e la visibilita' pubblica non si toccano da qui — passano da\n`POST /listings/{id}/publish`, che e' l'unico punto in cui il ciclo di vita cambia\ne viene registrato."},"AssetMaintenanceComplete":{"properties":{"completed_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Completed On"},"cde_document_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Cde Document Id"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","title":"AssetMaintenanceComplete","description":"Registra l'adempimento. Il documento che lo prova vive nel modulo CDE."},"AssetMaintenanceCreate":{"properties":{"kind":{"type":"string","enum":["certificazione","manutenzione","verifica","collaudo"],"title":"Kind","default":"certificazione"},"label":{"type":"string","maxLength":200,"minLength":2,"title":"Label"},"due_on":{"type":"string","format":"date","title":"Due On"},"reference":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Reference"},"issued_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Issued On"},"interval_months":{"anyOf":[{"type":"integer","maximum":600.0,"minimum":1.0},{"type":"null"}],"title":"Interval Months"},"responsible":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Responsible"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"cde_document_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Cde Document Id"}},"type":"object","required":["label","due_on"],"title":"AssetMaintenanceCreate","description":"Una scadenza da tenere d'occhio su un asset."},"AssetMaintenanceRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"listing_id":{"type":"string","format":"uuid","title":"Listing Id"},"kind":{"type":"string","title":"Kind"},"label":{"type":"string","title":"Label"},"reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference"},"issued_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Issued On"},"due_on":{"type":"string","format":"date","title":"Due On"},"completed_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Completed On"},"interval_months":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Interval Months"},"responsible":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Responsible"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"cde_document_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Cde Document Id"},"status":{"type":"string","enum":["fatto","scaduto","in scadenza","valido"],"title":"Status"},"days_left":{"type":"integer","title":"Days Left"}},"type":"object","required":["id","listing_id","kind","label","due_on","status","days_left"],"title":"AssetMaintenanceRead"},"AssetMaintenanceScadenzarioRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"listing_id":{"type":"string","format":"uuid","title":"Listing Id"},"kind":{"type":"string","title":"Kind"},"label":{"type":"string","title":"Label"},"reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference"},"issued_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Issued On"},"due_on":{"type":"string","format":"date","title":"Due On"},"completed_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Completed On"},"interval_months":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Interval Months"},"responsible":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Responsible"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"cde_document_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Cde Document Id"},"status":{"type":"string","enum":["fatto","scaduto","in scadenza","valido"],"title":"Status"},"days_left":{"type":"integer","title":"Days Left"},"asset_name":{"type":"string","title":"Asset Name"},"asset_city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset City"},"asset_type":{"type":"string","title":"Asset Type"}},"type":"object","required":["id","listing_id","kind","label","due_on","status","days_left","asset_name","asset_type"],"title":"AssetMaintenanceScadenzarioRead","description":"La stessa scadenza, con l'asset a cui appartiene: la vista di chi gestisce."},"AssetMediaOrder":{"properties":{"media_ids":{"items":{"type":"string","format":"uuid"},"type":"array","minItems":1,"title":"Media Ids"}},"type":"object","required":["media_ids"],"title":"AssetMediaOrder","description":"Nuovo ordine della galleria: la prima fotografia diventa la copertina."},"AssetMediaRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"listing_id":{"type":"string","format":"uuid","title":"Listing Id"},"position":{"type":"integer","title":"Position"},"alt_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alt Text"},"mime_type":{"type":"string","title":"Mime Type"},"width":{"type":"integer","title":"Width"},"height":{"type":"integer","title":"Height"},"size_bytes":{"type":"integer","title":"Size Bytes"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","listing_id","position","mime_type","width","height","size_bytes","created_at"],"title":"AssetMediaRead","description":"Una fotografia. Gli indirizzi delle varianti li compone il client dall'id:\n`/api/v1/public/media/{id}/thumb|card|full`."},"AssetSearchHit":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"business_entity_id":{"type":"string","format":"uuid","title":"Business Entity Id"},"name":{"type":"string","title":"Name"},"entity_type":{"type":"string","title":"Entity Type"},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"listing_status":{"type":"string","enum":["draft","published","reserved","sold","withdrawn"],"title":"Listing Status"},"price_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Amount"},"price_currency":{"type":"string","title":"Price Currency"},"price_per_sqm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Per Sqm"},"available_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Available From"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"agent_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent User Id"},"surface_sqm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Surface Sqm"},"rooms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rooms"},"bathrooms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bathrooms"},"floor":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Floor"},"total_floors":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Floors"},"build_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Build Year"},"condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Condition"},"energy_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Energy Class"},"energy_index":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Energy Index"},"has_elevator":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Elevator"},"has_parking":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Parking"},"heating_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Heating Type"},"cadastral_sheet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cadastral Sheet"},"cadastral_parcel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cadastral Parcel"},"cadastral_subaltern":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cadastral Subaltern"},"cadastral_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cadastral Category"},"cadastral_income":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cadastral Income"},"plant_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plant Type"},"installed_power_kw":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Installed Power Kw"},"covered_area_sqm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Covered Area Sqm"},"land_area_sqm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Land Area Sqm"},"ateco_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ateco Code"},"crane_capacity_kg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Crane Capacity Kg"},"ceiling_height_m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ceiling Height M"},"loading_bays":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Loading Bays"},"maintenance_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Maintenance Status"},"certifications":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Certifications"},"is_public":{"type":"boolean","title":"Is Public"},"public_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Slug"},"public_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Description"},"cover_media_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Cover Media Id"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"distance_meters":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distance Meters"}},"type":"object","required":["id","tenant_id","business_entity_id","name","entity_type","listing_status","price_currency","is_public","created_at","updated_at"],"title":"AssetSearchHit","description":"Un risultato di ricerca: l'annuncio piu' la distanza, quando e' stata chiesta."},"AuditEventRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Tenant Id"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"},"api_token_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Api Token Id"},"event_type":{"type":"string","title":"Event Type"},"resource_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource Type"},"resource_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource Id"},"auth_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Mode"},"outcome":{"type":"string","title":"Outcome"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","event_type","outcome","created_at"],"title":"AuditEventRead"},"AvvisoRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"rule_id":{"type":"string","format":"uuid","title":"Rule Id"},"soggetto":{"type":"string","title":"Soggetto"},"scattato_il":{"type":"string","format":"date-time","title":"Scattato Il"},"messaggio":{"type":"string","title":"Messaggio"},"valori":{"additionalProperties":true,"type":"object","title":"Valori"},"consegnato":{"type":"boolean","title":"Consegnato"},"errore_consegna":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Errore Consegna"}},"type":"object","required":["id","rule_id","soggetto","scattato_il","messaggio","consegnato"],"title":"AvvisoRead"},"BackgroundJobCreate":{"properties":{"job_type":{"type":"string","title":"Job Type"},"queue_name":{"type":"string","title":"Queue Name","default":"default"},"payload":{"additionalProperties":true,"type":"object","title":"Payload"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"dedup_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dedup Key"}},"type":"object","required":["job_type"],"title":"BackgroundJobCreate"},"BackgroundJobRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"job_type":{"type":"string","title":"Job Type"},"queue_name":{"type":"string","title":"Queue Name"},"status":{"type":"string","title":"Status"},"payload":{"additionalProperties":true,"type":"object","title":"Payload"},"result":{"additionalProperties":true,"type":"object","title":"Result"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"attempt_count":{"type":"integer","title":"Attempt Count","default":0},"max_attempts":{"type":"integer","title":"Max Attempts","default":3},"created_by_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By User Id"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","tenant_id","job_type","queue_name","status","created_at"],"title":"BackgroundJobRead"},"BackgroundJobSummaryRead":{"properties":{"job_type":{"type":"string","title":"Job Type"},"total_jobs":{"type":"integer","title":"Total Jobs"},"pending_jobs":{"type":"integer","title":"Pending Jobs"},"running_jobs":{"type":"integer","title":"Running Jobs"},"completed_jobs":{"type":"integer","title":"Completed Jobs"},"failed_jobs":{"type":"integer","title":"Failed Jobs"},"cancelled_jobs":{"type":"integer","title":"Cancelled Jobs"},"average_duration_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Duration Seconds"}},"type":"object","required":["job_type","total_jobs","pending_jobs","running_jobs","completed_jobs","failed_jobs","cancelled_jobs"],"title":"BackgroundJobSummaryRead"},"Body_add_media_route_api_v1_assets_listings__listing_id__media_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"alt_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alt Text"}},"type":"object","required":["file"],"title":"Body_add_media_route_api_v1_assets_listings__listing_id__media_post"},"Body_carica_disegno_api_v1_cad_disegni_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File","description":"Disegno DXF"}},"type":"object","required":["file"],"title":"Body_carica_disegno_api_v1_cad_disegni_post"},"Body_create_document_route_api_v1_cde_documents_post":{"properties":{"payload_json":{"type":"string","title":"Payload Json","description":"JSON-encoded CdeDocumentCreate"},"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["payload_json","file"],"title":"Body_create_document_route_api_v1_cde_documents_post"},"Body_create_version_route_api_v1_cde_documents__document_id__versions_post":{"properties":{"payload_json":{"type":"string","title":"Payload Json","description":"JSON-encoded CdeDocumentVersionCreate (optional)","default":"{}"},"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_create_version_route_api_v1_cde_documents__document_id__versions_post"},"Body_import_admin_boundaries_file_api_v1_utilities_admin_boundaries_import_file_post":{"properties":{"boundary_level":{"type":"string","title":"Boundary Level"},"source_label":{"type":"string","title":"Source Label"},"srid":{"type":"integer","title":"Srid","default":4326},"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["boundary_level","source_label","file"],"title":"Body_import_admin_boundaries_file_api_v1_utilities_admin_boundaries_import_file_post"},"Body_import_admin_boundaries_preset_file_api_v1_utilities_admin_boundaries_import_preset_file_post":{"properties":{"preset_key":{"type":"string","title":"Preset Key"},"source_label":{"type":"string","title":"Source Label"},"srid":{"type":"integer","title":"Srid","default":4326},"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["preset_key","source_label","file"],"title":"Body_import_admin_boundaries_preset_file_api_v1_utilities_admin_boundaries_import_preset_file_post"},"Body_preview_admin_boundaries_preset_api_v1_utilities_admin_boundaries_preset_preview_post":{"properties":{"preset_key":{"type":"string","title":"Preset Key"},"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["preset_key","file"],"title":"Body_preview_admin_boundaries_preset_api_v1_utilities_admin_boundaries_preset_preview_post"},"BulkEntityExportRequest":{"properties":{"format":{"type":"string","enum":["csv","json","xlsx","sql"],"title":"Format"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},"type":"object","required":["format"],"title":"BulkEntityExportRequest"},"BulkEntityExportResponse":{"properties":{"format":{"type":"string","enum":["csv","json","xlsx","sql"],"title":"Format"},"transfer_mode":{"type":"string","enum":["text","base64"],"title":"Transfer Mode"},"filename":{"type":"string","title":"Filename"},"media_type":{"type":"string","title":"Media Type"},"record_count":{"type":"integer","title":"Record Count"},"content":{"type":"string","title":"Content"}},"type":"object","required":["format","transfer_mode","filename","media_type","record_count","content"],"title":"BulkEntityExportResponse"},"BulkEntityImportRequest":{"properties":{"format":{"type":"string","enum":["csv","json","xlsx","sql"],"title":"Format"},"content":{"type":"string","title":"Content"},"transfer_mode":{"type":"string","enum":["text","base64"],"title":"Transfer Mode","default":"text"}},"type":"object","required":["format","content"],"title":"BulkEntityImportRequest"},"BulkEntityImportResult":{"properties":{"imported_count":{"type":"integer","title":"Imported Count"},"entity_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Entity Ids"},"errors":{"items":{"type":"string"},"type":"array","title":"Errors"}},"type":"object","required":["imported_count"],"title":"BulkEntityImportResult"},"BulkEntityPreviewResponse":{"properties":{"format":{"type":"string","enum":["csv","json","xlsx","sql"],"title":"Format"},"record_count":{"type":"integer","title":"Record Count"},"mappable_record_count":{"type":"integer","title":"Mappable Record Count","default":0},"resolved_record_count":{"type":"integer","title":"Resolved Record Count","default":0},"detected_columns":{"items":{"type":"string"},"type":"array","title":"Detected Columns"},"warnings":{"items":{"type":"string"},"type":"array","title":"Warnings"},"sample_records":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Sample Records"}},"type":"object","required":["format","record_count"],"title":"BulkEntityPreviewResponse"},"BusinessEntityCreate":{"properties":{"entity_type":{"type":"string","title":"Entity Type"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"name":{"type":"string","title":"Name"},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"geometry":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Geometry"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["entity_type","name"],"title":"BusinessEntityCreate"},"BusinessEntityRead":{"properties":{"entity_type":{"type":"string","title":"Entity Type"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"name":{"type":"string","title":"Name"},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"geometry":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Geometry"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"}},"type":"object","required":["entity_type","name","id","tenant_id"],"title":"BusinessEntityRead"},"BusinessEntityUpdate":{"properties":{"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"geometry":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Geometry"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","title":"BusinessEntityUpdate"},"CalibrazioneRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"drawing_id":{"type":"string","format":"uuid","title":"Drawing Id"},"modello":{"type":"string","enum":["rototraslazione","affine","traslazione"],"title":"Modello"},"epsg_destinazione":{"type":"integer","title":"Epsg Destinazione"},"coefficienti":{"additionalProperties":{"type":"number"},"type":"object","title":"Coefficienti"},"scala":{"type":"number","title":"Scala"},"rotazione_gradi":{"type":"number","title":"Rotazione Gradi"},"punti":{"items":{"$ref":"#/components/schemas/PuntoAppoggioIn"},"type":"array","title":"Punti"},"residui":{"items":{"$ref":"#/components/schemas/ResiduoRead"},"type":"array","title":"Residui"},"residuo_medio_m":{"type":"number","title":"Residuo Medio M"},"residuo_massimo_m":{"type":"number","title":"Residuo Massimo M"},"affidabile":{"type":"boolean","title":"Affidabile"},"avvisi":{"items":{"type":"string"},"type":"array","title":"Avvisi"},"attiva":{"type":"boolean","title":"Attiva"},"creata_il":{"type":"string","format":"date-time","title":"Creata Il"}},"type":"object","required":["id","drawing_id","modello","epsg_destinazione","coefficienti","scala","rotazione_gradi","punti","residui","residuo_medio_m","residuo_massimo_m","affidabile","avvisi","attiva","creata_il"],"title":"CalibrazioneRead","description":"Una calibrazione con la sua qualita' dichiarata."},"CalibrazioneRichiesta":{"properties":{"punti":{"items":{"$ref":"#/components/schemas/PuntoAppoggioIn"},"type":"array","maxItems":200,"minItems":1,"title":"Punti"},"modello":{"type":"string","enum":["rototraslazione","affine","traslazione"],"title":"Modello","default":"rototraslazione"},"epsg_destinazione":{"anyOf":[{"type":"integer","maximum":999999.0,"minimum":1024.0},{"type":"null"}],"title":"Epsg Destinazione"}},"type":"object","required":["punti"],"title":"CalibrazioneRichiesta","description":"Richiesta di calcolo di una calibrazione."},"CdeDocumentRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"business_entity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Business Entity Id"},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"},"title":{"type":"string","title":"Title"},"document_type":{"type":"string","title":"Document Type"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"current_version":{"anyOf":[{"$ref":"#/components/schemas/CdeDocumentVersionRead"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time","title":"Created At"},"created_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By"}},"type":"object","required":["id","tenant_id","title","document_type","created_at"],"title":"CdeDocumentRead"},"CdeDocumentStateEventRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"document_version_id":{"type":"string","format":"uuid","title":"Document Version Id"},"from_state":{"anyOf":[{"type":"string","enum":["wip","shared","published","archived"]},{"type":"null"}],"title":"From State"},"to_state":{"type":"string","enum":["wip","shared","published","archived"],"title":"To State"},"changed_at":{"type":"string","format":"date-time","title":"Changed At"},"changed_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Changed By"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"}},"type":"object","required":["id","tenant_id","document_version_id","to_state","changed_at"],"title":"CdeDocumentStateEventRead"},"CdeDocumentTransitionRequest":{"properties":{"to_state":{"type":"string","enum":["wip","shared","published","archived"],"title":"To State"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"}},"type":"object","required":["to_state"],"title":"CdeDocumentTransitionRequest"},"CdeDocumentUpdate":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"},"document_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Type"},"business_entity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Business Entity Id"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","title":"CdeDocumentUpdate","description":"Partial update of a document's user-editable fields. Missing fields are\nleft untouched — omitted vs. explicit-null distinction is preserved via the\nPydantic `model_dump(exclude_unset=True)` pattern in the router."},"CdeDocumentVersionRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"document_id":{"type":"string","format":"uuid","title":"Document Id"},"version_number":{"type":"integer","title":"Version Number"},"state":{"type":"string","enum":["wip","shared","published","archived"],"title":"State"},"content_hash":{"type":"string","title":"Content Hash"},"size_bytes":{"type":"integer","title":"Size Bytes"},"mime_type":{"type":"string","title":"Mime Type"},"storage_backend":{"type":"string","title":"Storage Backend"},"uploaded_at":{"type":"string","format":"date-time","title":"Uploaded At"},"uploaded_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Uploaded By"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"type":"object","required":["id","tenant_id","document_id","version_number","state","content_hash","size_bytes","mime_type","storage_backend","uploaded_at"],"title":"CdeDocumentVersionRead"},"Certification":{"properties":{"kind":{"type":"string","title":"Kind"},"identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Identifier"},"issued_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Issued On"},"expires_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Expires On"}},"type":"object","required":["kind"],"title":"Certification","description":"Certificazione con scadenza, per l'asset industriale (CPI, CE, ISO, ...)."},"CityBusinessRead":{"properties":{"request_id":{"type":"string","title":"Request Id"},"version":{"type":"string","title":"Version","default":"v1"},"location":{"$ref":"#/components/schemas/ResolvedLocation"},"data":{"additionalProperties":true,"type":"object","title":"Data"},"sources":{"items":{"type":"string"},"type":"array","title":"Sources"},"generated_at":{"type":"string","format":"date-time","title":"Generated At"}},"type":"object","required":["location","data","sources"],"title":"CityBusinessRead"},"CityPopulationRead":{"properties":{"request_id":{"type":"string","title":"Request Id"},"version":{"type":"string","title":"Version","default":"v1"},"location":{"$ref":"#/components/schemas/ResolvedLocation"},"data":{"$ref":"#/components/schemas/PopulationData"},"sources":{"items":{"type":"string"},"type":"array","title":"Sources"},"generated_at":{"type":"string","format":"date-time","title":"Generated At"}},"type":"object","required":["location","data","sources"],"title":"CityPopulationRead"},"CityProfileData":{"properties":{"weather":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Weather"},"business":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Business"},"real_estate":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Real Estate"},"population":{"anyOf":[{"$ref":"#/components/schemas/PopulationData"},{"type":"null"}]}},"type":"object","title":"CityProfileData"},"CityProfileRead":{"properties":{"request_id":{"type":"string","title":"Request Id"},"version":{"type":"string","title":"Version","default":"v1"},"query":{"additionalProperties":{"type":"string"},"type":"object","title":"Query"},"location":{"$ref":"#/components/schemas/ResolvedLocation"},"data":{"$ref":"#/components/schemas/CityProfileData"},"sources":{"items":{"type":"string"},"type":"array","title":"Sources"},"warnings":{"items":{"type":"string"},"type":"array","title":"Warnings"},"generated_at":{"type":"string","format":"date-time","title":"Generated At"}},"type":"object","required":["query","location","data","sources"],"title":"CityProfileRead"},"CityRealEstateRead":{"properties":{"request_id":{"type":"string","title":"Request Id"},"version":{"type":"string","title":"Version","default":"v1"},"location":{"$ref":"#/components/schemas/ResolvedLocation"},"data":{"additionalProperties":true,"type":"object","title":"Data"},"sources":{"items":{"type":"string"},"type":"array","title":"Sources"},"generated_at":{"type":"string","format":"date-time","title":"Generated At"}},"type":"object","required":["location","data","sources"],"title":"CityRealEstateRead"},"CityWeatherRead":{"properties":{"request_id":{"type":"string","title":"Request Id"},"version":{"type":"string","title":"Version","default":"v1"},"location":{"$ref":"#/components/schemas/ResolvedLocation"},"data":{"additionalProperties":true,"type":"object","title":"Data"},"sources":{"items":{"type":"string"},"type":"array","title":"Sources"},"generated_at":{"type":"string","format":"date-time","title":"Generated At"}},"type":"object","required":["location","data","sources"],"title":"CityWeatherRead"},"ClienteNelTerritorio":{"properties":{"customer_id":{"type":"string","format":"uuid","title":"Customer Id"},"customer_code":{"type":"string","title":"Customer Code"},"customer_name":{"type":"string","title":"Customer Name"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"pipeline_stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pipeline Stage"},"estimated_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Estimated Value"},"assegnato":{"type":"boolean","title":"Assegnato","default":false}},"type":"object","required":["customer_id","customer_code","customer_name"],"title":"ClienteNelTerritorio"},"ClusterResult":{"properties":{"cluster_key":{"type":"string","title":"Cluster Key"},"feature_count":{"type":"integer","title":"Feature Count"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"}},"type":"object","required":["cluster_key","feature_count","latitude","longitude"],"title":"ClusterResult"},"ComplianceEntityAnonymizeRead":{"properties":{"dry_run":{"type":"boolean","title":"Dry Run"},"requested_count":{"type":"integer","title":"Requested Count"},"matched_count":{"type":"integer","title":"Matched Count"},"anonymized_count":{"type":"integer","title":"Anonymized Count"},"deleted_locations_count":{"type":"integer","title":"Deleted Locations Count"},"skipped_count":{"type":"integer","title":"Skipped Count"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"}},"type":"object","required":["dry_run","requested_count","matched_count","anonymized_count","deleted_locations_count","skipped_count"],"title":"ComplianceEntityAnonymizeRead"},"ComplianceEntityAnonymizeRequest":{"properties":{"entity_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":10000,"minItems":1,"title":"Entity Ids"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"},"dry_run":{"type":"boolean","title":"Dry Run","default":true}},"type":"object","required":["entity_ids"],"title":"ComplianceEntityAnonymizeRequest"},"ComplianceEntityExportItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"entity_type":{"type":"string","title":"Entity Type"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"name":{"type":"string","title":"Name"},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"related_counts":{"additionalProperties":{"type":"integer"},"type":"object","title":"Related Counts"}},"type":"object","required":["id","tenant_id","entity_type","name","created_at"],"title":"ComplianceEntityExportItem"},"ComplianceEntityExportRead":{"properties":{"exported_at":{"type":"string","format":"date-time","title":"Exported At"},"entity_count":{"type":"integer","title":"Entity Count"},"filters":{"additionalProperties":true,"type":"object","title":"Filters"},"items":{"items":{"$ref":"#/components/schemas/ComplianceEntityExportItem"},"type":"array","title":"Items"}},"type":"object","required":["exported_at","entity_count"],"title":"ComplianceEntityExportRead"},"ComplianceEntityExportRequest":{"properties":{"entity_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Entity Ids"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"limit":{"type":"integer","maximum":10000.0,"minimum":1.0,"title":"Limit","default":500}},"type":"object","title":"ComplianceEntityExportRequest"},"ComplianceReportRead":{"properties":{"generated_at":{"type":"string","format":"date-time","title":"Generated At"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"retention_policy":{"$ref":"#/components/schemas/ComplianceRetentionPolicyRead"},"audit_event_count":{"type":"integer","title":"Audit Event Count"},"background_job_count":{"type":"integer","title":"Background Job Count"},"active_entity_count":{"type":"integer","title":"Active Entity Count"},"anonymized_entity_count":{"type":"integer","title":"Anonymized Entity Count"},"unresolved_geometry_count":{"type":"integer","title":"Unresolved Geometry Count"},"recent_anonymization_events":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Recent Anonymization Events"},"signature_algorithm":{"type":"string","title":"Signature Algorithm"},"signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signature"}},"type":"object","required":["generated_at","tenant_id","retention_policy","audit_event_count","background_job_count","active_entity_count","anonymized_entity_count","unresolved_geometry_count","signature_algorithm"],"title":"ComplianceReportRead"},"ComplianceReportRequest":{"properties":{"include_samples":{"type":"boolean","title":"Include Samples","default":true}},"type":"object","title":"ComplianceReportRequest"},"ComplianceRetentionPolicyRead":{"properties":{"audit_events_retention_days":{"type":"integer","title":"Audit Events Retention Days"},"background_jobs_retention_days":{"type":"integer","title":"Background Jobs Retention Days"},"anonymized_label_prefix":{"type":"string","title":"Anonymized Label Prefix"},"retention_enabled":{"type":"boolean","title":"Retention Enabled"}},"type":"object","required":["audit_events_retention_days","background_jobs_retention_days","anonymized_label_prefix","retention_enabled"],"title":"ComplianceRetentionPolicyRead"},"ComplianceRetentionPurgeRead":{"properties":{"dry_run":{"type":"boolean","title":"Dry Run"},"audit_events_retention_days":{"type":"integer","title":"Audit Events Retention Days"},"background_jobs_retention_days":{"type":"integer","title":"Background Jobs Retention Days"},"candidate_audit_events":{"type":"integer","title":"Candidate Audit Events"},"candidate_background_jobs":{"type":"integer","title":"Candidate Background Jobs"},"deleted_audit_events":{"type":"integer","title":"Deleted Audit Events"},"deleted_background_jobs":{"type":"integer","title":"Deleted Background Jobs"}},"type":"object","required":["dry_run","audit_events_retention_days","background_jobs_retention_days","candidate_audit_events","candidate_background_jobs","deleted_audit_events","deleted_background_jobs"],"title":"ComplianceRetentionPurgeRead"},"ComplianceRetentionPurgeRequest":{"properties":{"dry_run":{"type":"boolean","title":"Dry Run","default":true},"audit_events_retention_days":{"anyOf":[{"type":"integer","maximum":3650.0,"minimum":1.0},{"type":"null"}],"title":"Audit Events Retention Days"},"background_jobs_retention_days":{"anyOf":[{"type":"integer","maximum":3650.0,"minimum":1.0},{"type":"null"}],"title":"Background Jobs Retention Days"}},"type":"object","title":"ComplianceRetentionPurgeRequest"},"ConnectorConfigUpdate":{"properties":{"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"config":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Config"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","title":"ConnectorConfigUpdate"},"ConnectorHealthItemRead":{"properties":{"connector_id":{"type":"string","title":"Connector Id"},"connector_name":{"type":"string","title":"Connector Name"},"enabled":{"type":"boolean","title":"Enabled","default":true},"total_runs_last_24h":{"type":"integer","title":"Total Runs Last 24H","default":0},"failed_runs_last_24h":{"type":"integer","title":"Failed Runs Last 24H","default":0},"imported_records_last_24h":{"type":"integer","title":"Imported Records Last 24H","default":0},"success_rate_last_24h":{"type":"number","title":"Success Rate Last 24H","default":100.0},"last_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Status"},"last_run_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Run At"},"breached":{"type":"boolean","title":"Breached","default":false},"breach_messages":{"items":{"type":"string"},"type":"array","title":"Breach Messages"}},"type":"object","required":["connector_id","connector_name"],"title":"ConnectorHealthItemRead"},"ConnectorHealthSummaryRead":{"properties":{"generated_at":{"type":"string","format":"date-time","title":"Generated At"},"total_connectors":{"type":"integer","title":"Total Connectors","default":0},"enabled_connectors":{"type":"integer","title":"Enabled Connectors","default":0},"total_runs_last_24h":{"type":"integer","title":"Total Runs Last 24H","default":0},"failed_runs_last_24h":{"type":"integer","title":"Failed Runs Last 24H","default":0},"breached":{"type":"boolean","title":"Breached","default":false},"breach_messages":{"items":{"type":"string"},"type":"array","title":"Breach Messages"},"thresholds":{"additionalProperties":{"anyOf":[{"type":"number"},{"type":"integer"}]},"type":"object","title":"Thresholds"},"items":{"items":{"$ref":"#/components/schemas/ConnectorHealthItemRead"},"type":"array","title":"Items"},"alerts":{"items":{"type":"string"},"type":"array","title":"Alerts"}},"type":"object","required":["generated_at"],"title":"ConnectorHealthSummaryRead"},"ConnectorImportRequest":{"properties":{"limit":{"type":"integer","maximum":20000.0,"minimum":1.0,"title":"Limit","default":500},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"force_import":{"type":"boolean","title":"Force Import","default":false}},"type":"object","title":"ConnectorImportRequest"},"ConnectorImportRunRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"connector_id":{"type":"string","title":"Connector Id"},"source_checksum":{"type":"string","title":"Source Checksum"},"status":{"type":"string","title":"Status"},"record_count":{"type":"integer","title":"Record Count","default":0},"imported_count":{"type":"integer","title":"Imported Count","default":0},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","tenant_id","connector_id","source_checksum","status","created_at"],"title":"ConnectorImportRunRead"},"ConnectorPreviewRequest":{"properties":{"limit":{"type":"integer","maximum":5000.0,"minimum":1.0,"title":"Limit","default":250}},"type":"object","title":"ConnectorPreviewRequest"},"ConnectorProbeRequest":{"properties":{"limit":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Limit","default":5}},"type":"object","title":"ConnectorProbeRequest"},"ConnectorProbeResult":{"properties":{"connector_id":{"type":"string","title":"Connector Id"},"success":{"type":"boolean","title":"Success"},"detail":{"type":"string","title":"Detail"},"latency_ms":{"type":"number","title":"Latency Ms","default":0},"sample_count":{"type":"integer","title":"Sample Count","default":0},"sample_records":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Sample Records"}},"type":"object","required":["connector_id","success","detail"],"title":"ConnectorProbeResult"},"ConnectorRead":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"kind":{"type":"string","enum":["mock","http-json"],"title":"Kind"},"description":{"type":"string","title":"Description"},"enabled":{"type":"boolean","title":"Enabled","default":true},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities"},"config":{"additionalProperties":true,"type":"object","title":"Config"}},"type":"object","required":["id","name","kind","description"],"title":"ConnectorRead"},"ConnectorRunbookActionRead":{"properties":{"connector_id":{"type":"string","title":"Connector Id"},"action":{"type":"string","title":"Action"},"detail":{"type":"string","title":"Detail"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"queued_job_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Queued Job Id"}},"type":"object","required":["connector_id","action","detail"],"title":"ConnectorRunbookActionRead"},"ConnectorRunbookFailureRead":{"properties":{"connector_id":{"type":"string","title":"Connector Id"},"connector_name":{"type":"string","title":"Connector Name"},"enabled":{"type":"boolean","title":"Enabled","default":true},"failed_jobs":{"type":"integer","title":"Failed Jobs","default":0},"last_failed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Failed At"},"last_failed_job_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Last Failed Job Id"},"last_error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error Message"}},"type":"object","required":["connector_id","connector_name"],"title":"ConnectorRunbookFailureRead"},"ConnectorSecretRotateRequest":{"properties":{"secrets":{"additionalProperties":{"type":"string"},"type":"object","title":"Secrets"}},"type":"object","title":"ConnectorSecretRotateRequest"},"ConsegnaNellArea":{"properties":{"delivery_id":{"type":"string","format":"uuid","title":"Delivery Id"},"delivery_code":{"type":"string","title":"Delivery Code"},"delivery_name":{"type":"string","title":"Delivery Name"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"priority":{"type":"string","title":"Priority"},"scheduled_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Scheduled Date"}},"type":"object","required":["delivery_id","delivery_code","delivery_name","priority"],"title":"ConsegnaNellArea"},"ConsegnaScartata":{"properties":{"delivery_id":{"type":"string","format":"uuid","title":"Delivery Id"},"delivery_code":{"type":"string","title":"Delivery Code"},"delivery_name":{"type":"string","title":"Delivery Name"},"motivo":{"type":"string","title":"Motivo"}},"type":"object","required":["delivery_id","delivery_code","delivery_name","motivo"],"title":"ConsegnaScartata","description":"Una consegna che non e' potuta entrare nel giro, e perche'.\n\n**Esiste per non farla sparire.** Una consegna senza indirizzo geocodificato non e'\nordinabile, e ometterla dalla risposta la farebbe dimenticare: chi guarda il giro vede\nun elenco completo e plausibile, e quel pacco resta in magazzino."},"ContributoRead":{"properties":{"componente":{"type":"string","title":"Componente"},"valore":{"type":"number","title":"Valore"},"peso":{"type":"number","title":"Peso"},"contributo":{"type":"number","title":"Contributo"},"spiegazione":{"type":"string","title":"Spiegazione"}},"type":"object","required":["componente","valore","peso","contributo","spiegazione"],"title":"ContributoRead"},"Copertura":{"properties":{"strutture_totali":{"type":"integer","title":"Strutture Totali"},"strutture_utilizzabili":{"type":"integer","title":"Strutture Utilizzabili"},"capacita_totale":{"type":"integer","title":"Capacita Totale"},"citta":{"items":{"$ref":"#/components/schemas/CoperturaCitta"},"type":"array","title":"Citta"},"generata_il":{"type":"string","format":"date-time","title":"Generata Il"},"avvertenze":{"items":{"type":"string"},"type":"array","title":"Avvertenze"}},"type":"object","required":["strutture_totali","strutture_utilizzabili","capacita_totale","citta","generata_il"],"title":"Copertura","description":"Quanto copriamo davvero. Il cancello della fase.\n\n`strutture_utilizzabili` conta solo quelle con un dato fresco: e' il numero che vale\nin una trattativa, non il totale delle righe in tabella."},"CoperturaCitta":{"properties":{"citta":{"type":"string","title":"Citta"},"strutture":{"type":"integer","title":"Strutture"},"capacita_totale":{"type":"integer","title":"Capacita Totale"},"con_dato_fresco":{"type":"integer","title":"Con Dato Fresco"},"con_dato_in_ritardo":{"type":"integer","title":"Con Dato In Ritardo"},"con_feed_fermo":{"type":"integer","title":"Con Feed Fermo"},"mai_osservate":{"type":"integer","title":"Mai Osservate"},"ultima_osservazione_il":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ultima Osservazione Il"},"fonti":{"items":{"type":"string"},"type":"array","title":"Fonti"}},"type":"object","required":["citta","strutture","capacita_totale","con_dato_fresco","con_dato_in_ritardo","con_feed_fermo","mai_osservate"],"title":"CoperturaCitta"},"CoverageGapQuery":{"properties":{"entity_type":{"type":"string","title":"Entity Type"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},"type":"object","required":["entity_type"],"title":"CoverageGapQuery"},"CurrentActor":{"properties":{"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"role":{"type":"string","title":"Role"},"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions"},"is_platform_admin":{"type":"boolean","title":"Is Platform Admin","default":false},"auth_mode":{"type":"string","title":"Auth Mode","default":"development"},"api_token_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Api Token Id"},"api_token_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Token Name"}},"type":"object","required":["tenant_id","user_id","role"],"title":"CurrentActor"},"CustomerWithoutInvoices":{"properties":{"customer_id":{"type":"string","format":"uuid","title":"Customer Id"},"customer_code":{"type":"string","title":"Customer Code"},"customer_name":{"type":"string","title":"Customer Name"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"sales_status":{"type":"string","title":"Sales Status"}},"type":"object","required":["customer_id","customer_code","customer_name","sales_status"],"title":"CustomerWithoutInvoices"},"CustomersToContact":{"properties":{"customer_id":{"type":"string","format":"uuid","title":"Customer Id"},"customer_code":{"type":"string","title":"Customer Code"},"customer_name":{"type":"string","title":"Customer Name"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"pipeline_stage":{"type":"string","title":"Pipeline Stage"},"next_follow_up_date":{"type":"string","format":"date","title":"Next Follow Up Date"},"assigned_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned User Id"}},"type":"object","required":["customer_id","customer_code","customer_name","pipeline_stage","next_follow_up_date"],"title":"CustomersToContact"},"DatasetPresetPreviewRead":{"properties":{"preset_key":{"type":"string","title":"Preset Key"},"boundary_level":{"type":"string","enum":["regione","provincia","comune"],"title":"Boundary Level"},"feature_count":{"type":"integer","title":"Feature Count"},"ready_to_import":{"type":"boolean","title":"Ready To Import"},"code_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code Field"},"name_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name Field"},"parent_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Field"},"detected_property_keys":{"items":{"type":"string"},"type":"array","title":"Detected Property Keys"},"missing_required_fields":{"items":{"type":"string"},"type":"array","title":"Missing Required Fields"},"sample_names":{"items":{"type":"string"},"type":"array","title":"Sample Names"},"warnings":{"items":{"type":"string"},"type":"array","title":"Warnings"},"normalized_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Normalized Content"}},"type":"object","required":["preset_key","boundary_level","feature_count","ready_to_import"],"title":"DatasetPresetPreviewRead"},"DatasetPresetRead":{"properties":{"key":{"type":"string","title":"Key"},"boundary_level":{"type":"string","enum":["regione","provincia","comune"],"title":"Boundary Level"},"expected_code_fields":{"items":{"type":"string"},"type":"array","title":"Expected Code Fields"},"expected_name_fields":{"items":{"type":"string"},"type":"array","title":"Expected Name Fields"},"expected_parent_fields":{"items":{"type":"string"},"type":"array","title":"Expected Parent Fields"}},"type":"object","required":["key","boundary_level"],"title":"DatasetPresetRead"},"DatasetSourceRead":{"properties":{"key":{"type":"string","title":"Key"},"name":{"type":"string","title":"Name"},"category":{"type":"string","title":"Category"},"url":{"type":"string","title":"Url"},"note":{"type":"string","title":"Note"}},"type":"object","required":["key","name","category","url","note"],"title":"DatasetSourceRead"},"DbscanClusterQuery":{"properties":{"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"eps_meters":{"type":"number","exclusiveMinimum":0.0,"title":"Eps Meters","default":5000},"min_points":{"type":"integer","minimum":2.0,"title":"Min Points","default":2},"limit":{"type":"integer","maximum":1000.0,"minimum":1.0,"title":"Limit","default":250}},"type":"object","title":"DbscanClusterQuery"},"DbscanClusterResult":{"properties":{"cluster_id":{"type":"integer","title":"Cluster Id"},"feature_count":{"type":"integer","title":"Feature Count"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"}},"type":"object","required":["cluster_id","feature_count","latitude","longitude"],"title":"DbscanClusterResult"},"DeliveryWithoutAssignment":{"properties":{"delivery_id":{"type":"string","format":"uuid","title":"Delivery Id"},"delivery_code":{"type":"string","title":"Delivery Code"},"delivery_name":{"type":"string","title":"Delivery Name"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"priority":{"type":"string","title":"Priority"},"scheduled_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Scheduled Date"}},"type":"object","required":["delivery_id","delivery_code","delivery_name","priority"],"title":"DeliveryWithoutAssignment"},"DensityCell":{"properties":{"geometry":{"additionalProperties":true,"type":"object","title":"Geometry"},"feature_count":{"type":"integer","title":"Feature Count"}},"type":"object","required":["geometry","feature_count"],"title":"DensityCell"},"DensityGridQuery":{"properties":{"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"cell_size_degrees":{"type":"number","exclusiveMinimum":0.0,"title":"Cell Size Degrees","default":0.1},"min_count":{"type":"integer","minimum":1.0,"title":"Min Count","default":1},"limit":{"type":"integer","maximum":2000.0,"minimum":1.0,"title":"Limit","default":500}},"type":"object","title":"DensityGridQuery"},"DisegnoElenco":{"properties":{"elementi":{"items":{"$ref":"#/components/schemas/DisegnoRead"},"type":"array","title":"Elementi"},"totale":{"type":"integer","title":"Totale"}},"type":"object","required":["elementi","totale"],"title":"DisegnoElenco"},"DisegnoRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"nome":{"type":"string","title":"Nome"},"formato":{"type":"string","title":"Formato"},"unita":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unita"},"dimensione_byte":{"type":"integer","title":"Dimensione Byte"},"numero_elementi":{"type":"integer","title":"Numero Elementi"},"layer":{"items":{"type":"string"},"type":"array","title":"Layer"},"elementi_per_layer":{"additionalProperties":{"type":"integer"},"type":"object","title":"Elementi Per Layer"},"riquadro_disegno":{"additionalProperties":{"type":"number"},"type":"object","title":"Riquadro Disegno"},"avvisi":{"items":{"type":"string"},"type":"array","title":"Avvisi"},"creato_il":{"type":"string","format":"date-time","title":"Creato Il"},"calibrazione":{"anyOf":[{"$ref":"#/components/schemas/CalibrazioneRead"},{"type":"null"}]}},"type":"object","required":["id","nome","formato","unita","dimensione_byte","numero_elementi","layer","riquadro_disegno","avvisi","creato_il"],"title":"DisegnoRead","description":"Scheda di un disegno caricato."},"DistanceResult":{"properties":{"entity":{"$ref":"#/components/schemas/BusinessEntityRead"},"distance_meters":{"type":"number","title":"Distance Meters"}},"type":"object","required":["entity","distance_meters"],"title":"DistanceResult"},"DueDiligenceRead":{"properties":{"listing_id":{"type":"string","format":"uuid","title":"Listing Id"},"domain":{"type":"string","enum":["idrogeologico","vincoli","sismico"],"title":"Domain"},"outcome":{"type":"string","enum":["rilevato","nessun_rilievo","informativo","non_determinato"],"title":"Outcome"},"finding_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Finding Class"},"finding_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Finding Label"},"detail":{"additionalProperties":true,"type":"object","title":"Detail"},"source":{"type":"string","title":"Source"},"source_licence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Licence"},"attribution":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attribution"},"notice":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notice"},"checked_at":{"type":"string","format":"date-time","title":"Checked At"}},"type":"object","required":["listing_id","domain","outcome","source","checked_at"],"title":"DueDiligenceRead","description":"Esito di una verifica territoriale.\n\n`checked_at`, `source` e `attribution` non sono contorno: un esito senza la data del\ncontrollo e senza la fonte non è una due diligence, e la licenza dei dati pretende\nche la citazione accompagni il dato ovunque venga mostrato.\n\n`non_determinato` esiste apposta: un servizio che non risponde non è\n«nessuna pericolosità», ed è la bugia più pericolosa che questo modulo potrebbe dire."},"EconomicsQuery":{"properties":{"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"radius_meters":{"type":"integer","maximum":500000.0,"minimum":1.0,"title":"Radius Meters","default":10000}},"type":"object","required":["latitude","longitude"],"title":"EconomicsQuery"},"EconomicsRead":{"properties":{"provider":{"type":"string","title":"Provider"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"radius_meters":{"type":"integer","title":"Radius Meters"},"population_estimate":{"type":"integer","title":"Population Estimate"},"median_income_eur":{"type":"number","title":"Median Income Eur"},"business_density_index":{"type":"number","title":"Business Density Index"},"logistics_cost_index":{"type":"number","title":"Logistics Cost Index"},"purchasing_power_index":{"type":"number","title":"Purchasing Power Index"},"market_tags":{"items":{"type":"string"},"type":"array","title":"Market Tags"}},"type":"object","required":["provider","latitude","longitude","radius_meters","population_estimate","median_income_eur","business_density_index","logistics_cost_index","purchasing_power_index"],"title":"EconomicsRead"},"EntityAdminJoinQuery":{"properties":{"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"boundary_level":{"type":"string","enum":["regione","provincia","comune"],"title":"Boundary Level","default":"comune"},"match_mode":{"type":"string","enum":["contains","nearest"],"title":"Match Mode","default":"contains"},"limit":{"type":"integer","maximum":5000.0,"minimum":1.0,"title":"Limit","default":250}},"type":"object","title":"EntityAdminJoinQuery"},"EntityAdminJoinResult":{"properties":{"entity_id":{"type":"string","format":"uuid","title":"Entity Id"},"entity_type":{"type":"string","title":"Entity Type"},"entity_name":{"type":"string","title":"Entity Name"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"boundary_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Boundary Id"},"boundary_level":{"anyOf":[{"type":"string","enum":["regione","provincia","comune"]},{"type":"null"}],"title":"Boundary Level"},"boundary_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Boundary Code"},"boundary_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Boundary Name"},"distance_meters":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distance Meters"}},"type":"object","required":["entity_id","entity_type","entity_name"],"title":"EntityAdminJoinResult"},"EntityEnrichmentRead":{"properties":{"entity":{"$ref":"#/components/schemas/BusinessEntityRead"},"contained_zone_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Contained Zone Ids"},"contained_zone_keys":{"items":{"type":"string"},"type":"array","title":"Contained Zone Keys"},"nearest_zone_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Nearest Zone Id"},"nearest_zone_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nearest Zone Key"},"nearest_zone_distance_meters":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Nearest Zone Distance Meters"},"municipality_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Municipality Name"},"municipality_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Municipality Code"},"province_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province Name"},"province_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province Code"},"region_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region Name"},"region_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region Code"},"latest_location_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Latest Location At"},"latest_location_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latest Location Latitude"},"latest_location_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latest Location Longitude"}},"type":"object","required":["entity"],"title":"EntityEnrichmentRead"},"EntityLocationCreate":{"properties":{"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"recorded_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Recorded At"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["latitude","longitude"],"title":"EntityLocationCreate"},"EntityLocationRead":{"properties":{"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"recorded_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Recorded At"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"entity_id":{"type":"string","format":"uuid","title":"Entity Id"}},"type":"object","required":["latitude","longitude","id","tenant_id","entity_id"],"title":"EntityLocationRead"},"EsitoAddestramento":{"properties":{"modello":{"$ref":"#/components/schemas/ModelloRead"},"campioni_totali":{"type":"integer","title":"Campioni Totali"},"giorni_di_storia":{"type":"integer","title":"Giorni Di Storia"},"campioni_controllo":{"type":"integer","title":"Campioni Controllo"}},"type":"object","required":["modello","campioni_totali","giorni_di_storia","campioni_controllo"],"title":"EsitoAddestramento"},"EsitoAnnuncio":{"properties":{"external_id":{"type":"string","title":"External Id"},"entity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Entity Id"},"listing_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Listing Id"},"entita_creata":{"type":"boolean","title":"Entita Creata","default":false},"annuncio_creato":{"type":"boolean","title":"Annuncio Creato","default":false},"geocodificato":{"type":"boolean","title":"Geocodificato","default":false},"foto_caricate":{"type":"integer","title":"Foto Caricate","default":0},"pubblicato":{"type":"boolean","title":"Pubblicato","default":false},"saltato":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Saltato"}},"type":"object","required":["external_id"],"title":"EsitoAnnuncio","description":"Cosa è successo a una riga. Mai un'eccezione: un catalogo non si ferma su uno."},"EsitoFonte":{"properties":{"fonte":{"type":"string","title":"Fonte"},"stato":{"type":"string","enum":["interrogata","non_interrogabile","non_configurata"],"title":"Stato"},"regimi_trovati":{"type":"integer","title":"Regimi Trovati","default":0},"messaggio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Messaggio"},"avvertenza":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avvertenza"}},"type":"object","required":["fonte","stato"],"title":"EsitoFonte","description":"Se una fonte ha risposto, e cosa ha detto.\n\n`non_interrogabile` non e' un errore della richiesta: e' un'informazione che il\nchiamante deve vedere, perche' un elenco di regimi calcolato mentre una fonte era\nmuta e' un elenco incompleto che sembra completo."},"EsitoValutazione":{"properties":{"rule_id":{"type":"string","format":"uuid","title":"Rule Id"},"nome":{"type":"string","title":"Nome"},"soggetti_valutati":{"type":"integer","title":"Soggetti Valutati"},"scatti":{"items":{"$ref":"#/components/schemas/ScattoRead"},"type":"array","title":"Scatti"},"valutata_il":{"type":"string","format":"date-time","title":"Valutata Il"}},"type":"object","required":["rule_id","nome","soggetti_valutati","valutata_il"],"title":"EsitoValutazione"},"Feature":{"properties":{"type":{"type":"string","title":"Type","default":"Feature"},"geometry":{"$ref":"#/components/schemas/FeatureGeometry"},"properties":{"$ref":"#/components/schemas/FeatureProperties"}},"type":"object","required":["geometry","properties"],"title":"Feature"},"FeatureCollection":{"properties":{"type":{"type":"string","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Feature"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"FeatureCollection"},"FeatureGeometry":{"properties":{"type":{"type":"string","title":"Type","default":"Point"},"coordinates":{"title":"Coordinates"}},"type":"object","required":["coordinates"],"title":"FeatureGeometry"},"FeatureProperties":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"entity_type":{"type":"string","title":"Entity Type"},"name":{"type":"string","title":"Name"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["id","entity_type","name"],"title":"FeatureProperties"},"FonteDisponibile":{"properties":{"chiave":{"type":"string","title":"Chiave"},"nome":{"type":"string","title":"Nome"},"descrizione":{"type":"string","title":"Descrizione"},"licenza":{"type":"string","title":"Licenza"},"attribuzione":{"type":"string","title":"Attribuzione"},"data_dato":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data Dato"},"avvertenza":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avvertenza"}},"type":"object","required":["chiave","nome","descrizione","licenza","attribuzione"],"title":"FonteDisponibile"},"ForecastByOwner":{"properties":{"assigned_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned User Id"},"owner_label":{"type":"string","title":"Owner Label"},"open_opportunity_count":{"type":"integer","title":"Open Opportunity Count"},"weighted_amount":{"type":"number","title":"Weighted Amount"}},"type":"object","required":["owner_label","open_opportunity_count","weighted_amount"],"title":"ForecastByOwner"},"ForecastByTerritory":{"properties":{"territory_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Territory Id"},"territory_name":{"type":"string","title":"Territory Name"},"customer_count":{"type":"integer","title":"Customer Count"},"weighted_amount":{"type":"number","title":"Weighted Amount"}},"type":"object","required":["territory_name","customer_count","weighted_amount"],"title":"ForecastByTerritory"},"FotoDaImportare":{"properties":{"riferimento":{"type":"string","maxLength":1000,"minLength":1,"title":"Riferimento"},"alt_text":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Alt Text"}},"type":"object","required":["riferimento"],"title":"FotoDaImportare","description":"Dove sta una fotografia, senza dire come si legge: quello lo sa il chiamante."},"GeoDataFetchRequest":{"properties":{"dataset_id":{"type":"string","title":"Dataset Id"},"clean_existing":{"type":"boolean","title":"Clean Existing","default":false}},"type":"object","required":["dataset_id"],"title":"GeoDataFetchRequest"},"GeoDatasetEntry":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"category":{"type":"string","title":"Category"},"description":{"type":"string","title":"Description"},"source":{"type":"string","title":"Source"},"boundary_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Boundary Level"},"size_hint":{"type":"string","title":"Size Hint","default":""},"warn_large":{"type":"boolean","title":"Warn Large","default":false}},"type":"object","required":["id","name","category","description","source"],"title":"GeoDatasetEntry"},"GeocodeRequest":{"properties":{"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query"},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"}},"type":"object","title":"GeocodeRequest"},"GeocodeResult":{"properties":{"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"display_name":{"type":"string","title":"Display Name"},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence"},"provider":{"type":"string","title":"Provider"}},"type":"object","required":["latitude","longitude","display_name","confidence","provider"],"title":"GeocodeResult"},"GiroConsegne":{"properties":{"warehouse_id":{"type":"string","format":"uuid","title":"Warehouse Id"},"warehouse_code":{"type":"string","title":"Warehouse Code"},"warehouse_name":{"type":"string","title":"Warehouse Name"},"data":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Data"},"profilo":{"type":"string","title":"Profilo","default":"auto"},"chiuso":{"type":"boolean","title":"Chiuso","default":true},"tappe":{"items":{"$ref":"#/components/schemas/TappaConsegna"},"type":"array","title":"Tappe"},"scartate":{"items":{"$ref":"#/components/schemas/ConsegnaScartata"},"type":"array","title":"Scartate"},"metri":{"type":"number","title":"Metri","default":0.0},"secondi":{"type":"number","title":"Secondi","default":0.0},"su_strada":{"type":"boolean","title":"Su Strada","default":false},"avvertenze":{"items":{"type":"string"},"type":"array","title":"Avvertenze"}},"type":"object","required":["warehouse_id","warehouse_code","warehouse_name"],"title":"GiroConsegne","description":"Il giro di un magazzino, e **come** e' stato ordinato.\n\n`su_strada` va guardato prima dell'ordine. Un elenco riordinato e uno non riordinato\nhanno lo stesso aspetto, e chi lo riceve presume che sia stato ottimizzato perche'\nl'ha chiesto: senza motore di percorsi l'ordine e' quello di partenza."},"GiroVisite":{"properties":{"data":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Data"},"profilo":{"type":"string","title":"Profilo","default":"auto"},"chiuso":{"type":"boolean","title":"Chiuso","default":true},"tappe":{"items":{"$ref":"#/components/schemas/TappaVisita"},"type":"array","title":"Tappe"},"scartate":{"items":{"$ref":"#/components/schemas/VisitaScartata"},"type":"array","title":"Scartate"},"metri":{"type":"number","title":"Metri","default":0.0},"secondi":{"type":"number","title":"Secondi","default":0.0},"su_strada":{"type":"boolean","title":"Su Strada","default":false},"avvertenze":{"items":{"type":"string"},"type":"array","title":"Avvertenze"}},"type":"object","title":"GiroVisite","description":"La giornata di un agente, ordinata per strada.\n\nE' la stessa primitiva del giro di consegne: cambia chi la guarda, non il calcolo.\n\n`su_strada` va guardato prima dell'ordine — un elenco riordinato e uno non riordinato\nhanno lo stesso aspetto, e chi lo riceve presume che sia stato ottimizzato perche'\nl'ha chiesto."},"GisSettingsRead":{"properties":{"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"default_center_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Default Center Latitude"},"default_center_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Default Center Longitude"},"default_zoom":{"type":"integer","title":"Default Zoom","default":6},"default_basemap_url":{"type":"string","title":"Default Basemap Url","default":"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"},"locale":{"type":"string","title":"Locale","default":"it-IT"},"geocoder_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geocoder Provider"},"distance_unit":{"type":"string","title":"Distance Unit","default":"meters"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["tenant_id"],"title":"GisSettingsRead"},"GisSettingsUpdate":{"properties":{"default_center_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Default Center Latitude"},"default_center_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Default Center Longitude"},"default_zoom":{"anyOf":[{"type":"integer","maximum":22.0,"minimum":1.0},{"type":"null"}],"title":"Default Zoom"},"default_basemap_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Basemap Url"},"locale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locale"},"geocoder_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geocoder Provider"},"distance_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Distance Unit"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","title":"GisSettingsUpdate"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HeatmapPoint":{"properties":{"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"weight":{"type":"integer","title":"Weight"}},"type":"object","required":["latitude","longitude","weight"],"title":"HeatmapPoint"},"HeatmapQuery":{"properties":{"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"cell_size_degrees":{"type":"number","exclusiveMinimum":0.0,"title":"Cell Size Degrees","default":0.05},"min_weight":{"type":"integer","minimum":1.0,"title":"Min Weight","default":1},"limit":{"type":"integer","maximum":2000.0,"minimum":1.0,"title":"Limit","default":500}},"type":"object","title":"HeatmapQuery"},"ImportRichiesta":{"properties":{"fonte":{"type":"string","maxLength":40,"minLength":1,"title":"Fonte"},"limite":{"anyOf":[{"type":"integer","maximum":10000.0,"minimum":1.0},{"type":"null"}],"title":"Limite"},"paese":{"type":"string","maxLength":2,"minLength":2,"title":"Paese","default":"IT"}},"type":"object","required":["fonte"],"title":"ImportRichiesta","description":"Richiesta di importazione da una fonte pubblica."},"ImportazioneEsito":{"properties":{"drawing_id":{"type":"string","format":"uuid","title":"Drawing Id"},"create":{"type":"integer","title":"Create"},"aggiornate":{"type":"integer","title":"Aggiornate","default":0},"invariate":{"type":"integer","title":"Invariate","default":0},"dismesse":{"type":"integer","title":"Dismesse","default":0},"saltate":{"type":"integer","title":"Saltate"},"per_layer":{"additionalProperties":{"type":"integer"},"type":"object","title":"Per Layer"},"avvisi":{"items":{"type":"string"},"type":"array","title":"Avvisi"}},"type":"object","required":["drawing_id","create","saltate","per_layer","avvisi"],"title":"ImportazioneEsito","description":"Cosa ha fatto l'import, distinto per tipo di esito.\n\nI quattro numeri sono separati perche' rispondono a domande diverse. `create` e\n`dismesse` dicono quanto il disegno e' cambiato; `aggiornate` quanto si e' mosso cio'\nche era gia' li'; `invariate` e' la parte che conferma che il confronto ha funzionato —\nun reimport della stessa identica tavola deve dare tutto invariato e niente altro, ed\ne' la verifica piu' semplice che la riconciliazione non stia inventando."},"ImportazioneRichiesta":{"properties":{"mappature":{"items":{"$ref":"#/components/schemas/MappaturaLayer"},"type":"array","maxItems":200,"minItems":1,"title":"Mappature"},"prefisso_nome":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Prefisso Nome"},"solo_mappati":{"type":"boolean","title":"Solo Mappati","default":true},"sostituisce":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Sostituisce"}},"type":"object","required":["mappature"],"title":"ImportazioneRichiesta","description":"Richiesta di materializzare un disegno calibrato come entita' geografiche."},"IngestEsito":{"properties":{"serie":{"type":"string","title":"Serie"},"ricevute":{"type":"integer","title":"Ricevute"},"salvate":{"type":"integer","title":"Salvate"},"duplicate":{"type":"integer","title":"Duplicate"},"in_quarantena":{"type":"integer","title":"In Quarantena"},"problemi":{"items":{"$ref":"#/components/schemas/ProblemaRead"},"type":"array","title":"Problemi"}},"type":"object","required":["serie","ricevute","salvate","duplicate","in_quarantena"],"title":"IngestEsito"},"InviteAccept":{"properties":{"token":{"type":"string","minLength":20,"title":"Token"},"display_name":{"type":"string","maxLength":255,"minLength":2,"title":"Display Name"}},"type":"object","required":["token","display_name"],"title":"InviteAccept"},"InviteAcceptResult":{"properties":{"message":{"type":"string","title":"Message"},"tenant_name":{"type":"string","title":"Tenant Name"},"role":{"type":"string","enum":["owner","admin","manager","agent","viewer"],"title":"Role"},"user_id":{"type":"string","format":"uuid","title":"User Id"}},"type":"object","required":["message","tenant_name","role","user_id"],"title":"InviteAcceptResult"},"InviteCreate":{"properties":{"email":{"type":"string","maxLength":255,"minLength":5,"title":"Email"},"role":{"type":"string","enum":["owner","admin","manager","agent","viewer"],"title":"Role","default":"agent"},"expires_in_days":{"type":"integer","maximum":30.0,"minimum":1.0,"title":"Expires In Days","default":7}},"type":"object","required":["email"],"title":"InviteCreate"},"InviteRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","title":"Email"},"role":{"type":"string","enum":["owner","admin","manager","agent","viewer"],"title":"Role"},"status":{"type":"string","title":"Status"},"invite_url":{"type":"string","title":"Invite Url"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"}},"type":"object","required":["id","email","role","status","invite_url","created_at","expires_at"],"title":"InviteRead"},"JobSystemStatusRead":{"properties":{"queue_backend":{"type":"string","title":"Queue Backend"},"redis_configured":{"type":"boolean","title":"Redis Configured"},"redis_available":{"type":"boolean","title":"Redis Available"},"worker_poll_interval_seconds":{"type":"integer","title":"Worker Poll Interval Seconds"},"scheduler_poll_interval_seconds":{"type":"integer","title":"Scheduler Poll Interval Seconds"}},"type":"object","required":["queue_backend","redis_configured","redis_available","worker_poll_interval_seconds","scheduler_poll_interval_seconds"],"title":"JobSystemStatusRead"},"LayerPresentation":{"properties":{"popup_fields":{"items":{"type":"string"},"type":"array","title":"Popup Fields"},"cluster_enabled":{"type":"boolean","title":"Cluster Enabled","default":false},"visible_by_default":{"type":"boolean","title":"Visible By Default","default":true},"style_rule":{"$ref":"#/components/schemas/LayerStyleRule"}},"type":"object","title":"LayerPresentation"},"LayerStyleRule":{"properties":{"marker_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Marker Color"},"marker_icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Marker Icon"},"line_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Line Color"},"fill_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fill Color"},"fill_opacity":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Fill Opacity"}},"type":"object","title":"LayerStyleRule"},"LogisticsDeliveryCreate":{"properties":{"name":{"type":"string","title":"Name"},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"delivery_code":{"type":"string","title":"Delivery Code"},"delivery_status":{"type":"string","enum":["planned","assigned","in_transit","delivered","cancelled"],"title":"Delivery Status","default":"planned"},"priority":{"type":"string","enum":["low","medium","high","urgent"],"title":"Priority","default":"medium"},"scheduled_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Scheduled Date"},"warehouse_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Warehouse Id"},"assigned_vehicle_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned Vehicle Id"},"demand_units":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Demand Units"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["name","delivery_code"],"title":"LogisticsDeliveryCreate"},"LogisticsDeliveryRead":{"properties":{"name":{"type":"string","title":"Name"},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"business_entity_id":{"type":"string","format":"uuid","title":"Business Entity Id"},"delivery_code":{"type":"string","title":"Delivery Code"},"delivery_status":{"type":"string","enum":["planned","assigned","in_transit","delivered","cancelled"],"title":"Delivery Status"},"priority":{"type":"string","enum":["low","medium","high","urgent"],"title":"Priority"},"scheduled_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Scheduled Date"},"warehouse_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Warehouse Id"},"assigned_vehicle_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned Vehicle Id"},"demand_units":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Demand Units"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["name","id","tenant_id","business_entity_id","delivery_code","delivery_status","priority"],"title":"LogisticsDeliveryRead"},"LogisticsOverview":{"properties":{"warehouse_count":{"type":"integer","title":"Warehouse Count"},"operational_warehouse_count":{"type":"integer","title":"Operational Warehouse Count"},"vehicle_count":{"type":"integer","title":"Vehicle Count"},"available_vehicle_count":{"type":"integer","title":"Available Vehicle Count"},"delivery_count":{"type":"integer","title":"Delivery Count"},"open_delivery_count":{"type":"integer","title":"Open Delivery Count"}},"type":"object","required":["warehouse_count","operational_warehouse_count","vehicle_count","available_vehicle_count","delivery_count","open_delivery_count"],"title":"LogisticsOverview"},"LogisticsVehicleCreate":{"properties":{"vehicle_code":{"type":"string","title":"Vehicle Code"},"display_name":{"type":"string","title":"Display Name"},"vehicle_status":{"type":"string","enum":["available","assigned","maintenance","offline"],"title":"Vehicle Status","default":"available"},"home_warehouse_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Home Warehouse Id"},"assigned_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned User Id"},"capacity_units":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacity Units"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["vehicle_code","display_name"],"title":"LogisticsVehicleCreate"},"LogisticsVehicleRead":{"properties":{"vehicle_code":{"type":"string","title":"Vehicle Code"},"display_name":{"type":"string","title":"Display Name"},"vehicle_status":{"type":"string","enum":["available","assigned","maintenance","offline"],"title":"Vehicle Status","default":"available"},"home_warehouse_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Home Warehouse Id"},"assigned_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned User Id"},"capacity_units":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacity Units"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"}},"type":"object","required":["vehicle_code","display_name","id","tenant_id"],"title":"LogisticsVehicleRead"},"LogisticsWarehouseCreate":{"properties":{"name":{"type":"string","title":"Name"},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"warehouse_code":{"type":"string","title":"Warehouse Code"},"warehouse_status":{"type":"string","enum":["operational","inactive","maintenance"],"title":"Warehouse Status","default":"operational"},"capacity_units":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacity Units"},"service_zone_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Service Zone Id"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["name","warehouse_code"],"title":"LogisticsWarehouseCreate"},"LogisticsWarehouseRead":{"properties":{"name":{"type":"string","title":"Name"},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"business_entity_id":{"type":"string","format":"uuid","title":"Business Entity Id"},"warehouse_code":{"type":"string","title":"Warehouse Code"},"warehouse_status":{"type":"string","enum":["operational","inactive","maintenance"],"title":"Warehouse Status"},"capacity_units":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacity Units"},"service_zone_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Service Zone Id"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["name","id","tenant_id","business_entity_id","warehouse_code","warehouse_status"],"title":"LogisticsWarehouseRead"},"ManutenzioneEsito":{"properties":{"serie_esaminate":{"type":"integer","title":"Serie Esaminate"},"osservazioni_cancellate":{"type":"integer","title":"Osservazioni Cancellate"},"righe_di_rollup":{"type":"integer","title":"Righe Di Rollup"}},"type":"object","required":["serie_esaminate","osservazioni_cancellate","righe_di_rollup"],"title":"ManutenzioneEsito"},"MapDatasetRecord":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id"},"name":{"type":"string","title":"Name"},"entity_type":{"type":"string","title":"Entity Type","default":"dataset"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"geometry":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Geometry"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["name"],"title":"MapDatasetRecord"},"MapDatasetRequest":{"properties":{"records":{"items":{"$ref":"#/components/schemas/MapDatasetRecord"},"type":"array","title":"Records"}},"type":"object","required":["records"],"title":"MapDatasetRequest"},"MapOverlayCreate":{"properties":{"layer_key":{"type":"string","maxLength":80,"minLength":2,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","title":"Layer Key"},"name":{"type":"string","maxLength":200,"minLength":2,"title":"Name"},"url":{"type":"string","maxLength":500,"minLength":8,"title":"Url"},"wms_layers":{"type":"string","maxLength":500,"minLength":1,"title":"Wms Layers"},"provider":{"type":"string","maxLength":20,"title":"Provider","default":"wms"},"wms_version":{"type":"string","maxLength":10,"title":"Wms Version","default":"1.3.0"},"image_format":{"type":"string","maxLength":40,"title":"Image Format","default":"image/png"},"transparent":{"type":"boolean","title":"Transparent","default":true},"opacity":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Opacity","default":0.6},"min_zoom":{"type":"integer","maximum":22.0,"minimum":0.0,"title":"Min Zoom","default":5},"max_zoom":{"type":"integer","maximum":22.0,"minimum":0.0,"title":"Max Zoom","default":16},"attribution":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}],"title":"Attribution"},"licence":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}],"title":"Licence"},"is_public":{"type":"boolean","title":"Is Public","default":false},"enabled":{"type":"boolean","title":"Enabled","default":true},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["layer_key","name","url","wms_layers"],"title":"MapOverlayCreate","description":"Un livello esterno da servire attraverso il nostro proxy.\n\n`min_zoom` e `max_zoom` non sono un dettaglio estetico: oltre un certo\ningrandimento una mosaicatura nazionale non aggiunge informazione, e ogni tessera\nchiesta è comunque una richiesta al servizio di qualcun altro."},"MapOverlayRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"layer_key":{"type":"string","title":"Layer Key"},"name":{"type":"string","title":"Name"},"provider":{"type":"string","title":"Provider"},"wms_layers":{"type":"string","title":"Wms Layers"},"opacity":{"type":"number","title":"Opacity"},"min_zoom":{"type":"integer","title":"Min Zoom"},"max_zoom":{"type":"integer","title":"Max Zoom"},"attribution":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attribution"},"licence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Licence"},"is_public":{"type":"boolean","title":"Is Public"},"enabled":{"type":"boolean","title":"Enabled"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"tile_url":{"type":"string","title":"Tile Url"}},"type":"object","required":["id","layer_key","name","provider","wms_layers","opacity","min_zoom","max_zoom","is_public","enabled","created_at","tile_url"],"title":"MapOverlayRead"},"MapOverlayUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":2},{"type":"null"}],"title":"Name"},"url":{"anyOf":[{"type":"string","maxLength":500,"minLength":8},{"type":"null"}],"title":"Url"},"wms_layers":{"anyOf":[{"type":"string","maxLength":500,"minLength":1},{"type":"null"}],"title":"Wms Layers"},"wms_version":{"anyOf":[{"type":"string","maxLength":10},{"type":"null"}],"title":"Wms Version"},"image_format":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Image Format"},"transparent":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Transparent"},"opacity":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Opacity"},"min_zoom":{"anyOf":[{"type":"integer","maximum":22.0,"minimum":0.0},{"type":"null"}],"title":"Min Zoom"},"max_zoom":{"anyOf":[{"type":"integer","maximum":22.0,"minimum":0.0},{"type":"null"}],"title":"Max Zoom"},"attribution":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}],"title":"Attribution"},"licence":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}],"title":"Licence"},"is_public":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Public"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","title":"MapOverlayUpdate","description":"Aggiornamento parziale: i campi omessi restano come sono."},"MappaturaLayer":{"properties":{"layer":{"type":"string","maxLength":120,"minLength":1,"title":"Layer"},"entity_type":{"type":"string","maxLength":60,"minLength":1,"title":"Entity Type"},"status":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Status"}},"type":"object","required":["layer","entity_type"],"title":"MappaturaLayer","description":"Da quale livello del disegno nasce quale tipo di entita'.\n\nIn un DXF il significato sta nel nome del livello, per convenzione dello studio che\nl'ha disegnato: non esiste standard, quindi la corrispondenza la dichiara chi importa."},"MemberRead":{"properties":{"membership_id":{"type":"string","format":"uuid","title":"Membership Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"email":{"type":"string","title":"Email"},"display_name":{"type":"string","title":"Display Name"},"role":{"type":"string","enum":["owner","admin","manager","agent","viewer"],"title":"Role"},"status":{"type":"string","title":"Status"},"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions"},"joined_at":{"type":"string","format":"date-time","title":"Joined At"}},"type":"object","required":["membership_id","user_id","email","display_name","role","status","permissions","joined_at"],"title":"MemberRead"},"MemberRoleUpdate":{"properties":{"role":{"type":"string","enum":["owner","admin","manager","agent","viewer"],"title":"Role"}},"type":"object","required":["role"],"title":"MemberRoleUpdate"},"MissingLocationGeocodeQuery":{"properties":{"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"limit":{"type":"integer","maximum":5000.0,"minimum":1.0,"title":"Limit","default":500}},"type":"object","title":"MissingLocationGeocodeQuery"},"MobileAuthLoginRead":{"properties":{"contract_version":{"type":"string","title":"Contract Version","default":"mobile-v1"},"token_type":{"type":"string","title":"Token Type","default":"Bearer"},"access_token":{"type":"string","title":"Access Token"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"role":{"type":"string","title":"Role"},"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions"},"server_time":{"type":"string","format":"date-time","title":"Server Time"}},"type":"object","required":["access_token","tenant_id","user_id","role","server_time"],"title":"MobileAuthLoginRead"},"MobileAuthLoginRequest":{"properties":{"api_token":{"type":"string","minLength":20,"title":"Api Token"}},"type":"object","required":["api_token"],"title":"MobileAuthLoginRequest"},"MobileMapBundleRead":{"properties":{"contract_version":{"type":"string","title":"Contract Version","default":"mobile-v1"},"points":{"items":{"$ref":"#/components/schemas/MobileMapPointRead"},"type":"array","title":"Points"},"nearest_hubs":{"items":{"$ref":"#/components/schemas/MobileMapPointRead"},"type":"array","title":"Nearest Hubs"}},"type":"object","title":"MobileMapBundleRead"},"MobileMapPointRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"point_type":{"type":"string","enum":["delivery","hub"],"title":"Point Type"},"label":{"type":"string","title":"Label"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"distance_meters":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distance Meters"}},"type":"object","required":["id","point_type","label","latitude","longitude"],"title":"MobileMapPointRead"},"MobilePropertyNoteUpdate":{"properties":{"note":{"type":"string","title":"Note"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"}},"type":"object","required":["note"],"title":"MobilePropertyNoteUpdate"},"MobilePropertyRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"entity_type":{"type":"string","title":"Entity Type"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"field_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Field Note"}},"type":"object","required":["id","name","entity_type"],"title":"MobilePropertyRead"},"MobileSalesItemRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"code":{"type":"string","title":"Code"},"name":{"type":"string","title":"Name"},"item_type":{"type":"string","enum":["lead","opportunity"],"title":"Item Type"},"status":{"type":"string","title":"Status"},"amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"}},"type":"object","required":["id","code","name","item_type","status"],"title":"MobileSalesItemRead"},"MobileSupplierRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"supplier_code":{"type":"string","title":"Supplier Code"},"name":{"type":"string","title":"Name"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"supplier_status":{"type":"string","title":"Supplier Status"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"preferred_supplier":{"type":"boolean","title":"Preferred Supplier","default":false},"distance_meters":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distance Meters"},"su_strada":{"type":"boolean","title":"Su Strada","default":false},"secondi":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Secondi"},"avvertenze":{"items":{"type":"string"},"type":"array","title":"Avvertenze"}},"type":"object","required":["id","supplier_code","name","supplier_status"],"title":"MobileSupplierRead"},"MobileSyncStatusRead":{"properties":{"contract_version":{"type":"string","title":"Contract Version","default":"mobile-v1"},"server_time":{"type":"string","format":"date-time","title":"Server Time"},"open_task_count":{"type":"integer","title":"Open Task Count"},"pending_job_count":{"type":"integer","title":"Pending Job Count"},"last_entity_update_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Entity Update At"},"last_delivery_created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Delivery Created At"}},"type":"object","required":["server_time","open_task_count","pending_job_count"],"title":"MobileSyncStatusRead"},"MobileTaskRead":{"properties":{"task_id":{"type":"string","format":"uuid","title":"Task Id"},"code":{"type":"string","title":"Code"},"name":{"type":"string","title":"Name"},"status":{"type":"string","enum":["planned","assigned","in_transit","delivered","cancelled"],"title":"Status"},"priority":{"type":"string","title":"Priority"},"scheduled_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Scheduled Date"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},"type":"object","required":["task_id","code","name","status","priority"],"title":"MobileTaskRead"},"MobileTaskStatusUpdate":{"properties":{"status":{"type":"string","enum":["planned","assigned","in_transit","delivered","cancelled"],"title":"Status"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"type":"object","required":["status"],"title":"MobileTaskStatusUpdate"},"MobileVisitCreate":{"properties":{"entity_type":{"type":"string","title":"Entity Type"},"entity_id":{"type":"string","format":"uuid","title":"Entity Id"},"activity_type":{"type":"string","enum":["visit","call","note","email"],"title":"Activity Type","default":"visit"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"}},"type":"object","required":["entity_type","entity_id","title"],"title":"MobileVisitCreate"},"MobileVisitRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"entity_type":{"type":"string","title":"Entity Type"},"entity_id":{"type":"string","format":"uuid","title":"Entity Id"},"activity_type":{"type":"string","title":"Activity Type"},"title":{"type":"string","title":"Title"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","entity_type","entity_id","activity_type","title","created_at"],"title":"MobileVisitRead"},"ModelloElenco":{"properties":{"elementi":{"items":{"$ref":"#/components/schemas/ModelloRead"},"type":"array","title":"Elementi"},"totale":{"type":"integer","title":"Totale"}},"type":"object","required":["elementi","totale"],"title":"ModelloElenco"},"ModelloRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"serie_chiave":{"type":"string","title":"Serie Chiave"},"soggetto":{"type":"string","title":"Soggetto"},"campo":{"type":"string","title":"Campo"},"orizzonti":{"items":{"type":"integer"},"type":"array","title":"Orizzonti"},"campioni_addestramento":{"type":"integer","title":"Campioni Addestramento"},"addestrato_il":{"type":"string","format":"date-time","title":"Addestrato Il"},"metriche":{"additionalProperties":true,"type":"object","title":"Metriche"},"batte_la_baseline":{"type":"boolean","title":"Batte La Baseline"},"attivo":{"type":"boolean","title":"Attivo"}},"type":"object","required":["id","serie_chiave","soggetto","campo","campioni_addestramento","addestrato_il","batte_la_baseline","attivo"],"title":"ModelloRead"},"MomentoRead":{"properties":{"titolo":{"type":"string","title":"Titolo"},"perche":{"type":"string","title":"Perche"},"metodo":{"type":"string","title":"Metodo"},"percorso":{"type":"string","title":"Percorso"},"parametri":{"additionalProperties":{"type":"string"},"type":"object","title":"Parametri"},"guarda":{"type":"string","title":"Guarda","default":""}},"type":"object","required":["titolo","perche","metodo","percorso"],"title":"MomentoRead","description":"Una cosa da far vedere, con la chiamata che la fa vedere."},"NearbySupplier":{"properties":{"supplier_id":{"type":"string","format":"uuid","title":"Supplier Id"},"supplier_code":{"type":"string","title":"Supplier Code"},"supplier_name":{"type":"string","title":"Supplier Name"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"supplier_status":{"type":"string","title":"Supplier Status"},"distance_meters":{"type":"number","title":"Distance Meters"},"su_strada":{"type":"boolean","title":"Su Strada","default":false},"secondi":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Secondi"},"avvertenze":{"items":{"type":"string"},"type":"array","title":"Avvertenze"}},"type":"object","required":["supplier_id","supplier_code","supplier_name","supplier_status","distance_meters"],"title":"NearbySupplier","description":"Un fornitore vicino, e **come** si e' misurata quella vicinanza."},"NearbySupplierPartnerRead":{"properties":{"supplier_id":{"type":"string","format":"uuid","title":"Supplier Id"},"supplier_code":{"type":"string","title":"Supplier Code"},"supplier_name":{"type":"string","title":"Supplier Name"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"supplier_status":{"type":"string","title":"Supplier Status"},"distance_meters":{"type":"number","title":"Distance Meters"},"su_strada":{"type":"boolean","title":"Su Strada","default":false},"secondi":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Secondi"},"avvertenze":{"items":{"type":"string"},"type":"array","title":"Avvertenze"}},"type":"object","required":["supplier_id","supplier_code","supplier_name","supplier_status","distance_meters"],"title":"NearbySupplierPartnerRead","description":"Un fornitore vicino, e **come** si e' misurata quella vicinanza."},"NearbyWarehouseRead":{"properties":{"warehouse_id":{"type":"string","format":"uuid","title":"Warehouse Id"},"warehouse_code":{"type":"string","title":"Warehouse Code"},"warehouse_name":{"type":"string","title":"Warehouse Name"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"warehouse_status":{"type":"string","title":"Warehouse Status"},"distance_meters":{"type":"number","title":"Distance Meters"},"su_strada":{"type":"boolean","title":"Su Strada","default":false},"secondi":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Secondi"},"avvertenze":{"items":{"type":"string"},"type":"array","title":"Avvertenze"}},"type":"object","required":["warehouse_id","warehouse_code","warehouse_name","warehouse_status","distance_meters"],"title":"NearbyWarehouseRead","description":"Un magazzino vicino, e **come** si e' misurata quella vicinanza.\n\n`distance_meters` era la distanza in linea d'aria, e lo era in silenzio: un magazzino\na tre chilometri dall'altra parte di un fiume senza ponte risultava piu' vicino di uno\na cinque sulla stessa strada. Ora e' la distanza su strada quando il motore di percorsi\nc'e', e resta quella in linea d'aria quando non c'e' — ma **`su_strada` lo dichiara**.\n\nVa guardato prima dei numeri: le due distanze hanno lo stesso aspetto."},"NotificationDispatchResultRead":{"properties":{"endpoint_id":{"type":"string","format":"uuid","title":"Endpoint Id"},"endpoint_name":{"type":"string","title":"Endpoint Name"},"success":{"type":"boolean","title":"Success"},"detail":{"type":"string","title":"Detail"},"status_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Status Code"}},"type":"object","required":["endpoint_id","endpoint_name","success","detail"],"title":"NotificationDispatchResultRead"},"NotificationEndpointCreate":{"properties":{"name":{"type":"string","title":"Name"},"channel_type":{"type":"string","title":"Channel Type","default":"webhook"},"target_url":{"type":"string","title":"Target Url"},"event_types":{"items":{"type":"string"},"type":"array","title":"Event Types"},"status":{"type":"string","title":"Status","default":"active"},"secret_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secret Token"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["name","target_url"],"title":"NotificationEndpointCreate"},"NotificationEndpointRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"name":{"type":"string","title":"Name"},"channel_type":{"type":"string","title":"Channel Type"},"target_url":{"type":"string","title":"Target Url"},"event_types":{"items":{"type":"string"},"type":"array","title":"Event Types"},"status":{"type":"string","title":"Status"},"secret_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secret Token"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"last_test_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Test At"},"last_success_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Success At"},"last_error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error Message"},"created_by_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By User Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","tenant_id","name","channel_type","target_url","status","created_at"],"title":"NotificationEndpointRead"},"OidcStatusRead":{"properties":{"enabled":{"type":"boolean","title":"Enabled"},"issuer_configured":{"type":"boolean","title":"Issuer Configured"},"audience_configured":{"type":"boolean","title":"Audience Configured"},"discovery_configured":{"type":"boolean","title":"Discovery Configured"},"jwks_url_configured":{"type":"boolean","title":"Jwks Url Configured"},"user_id_claim":{"type":"string","title":"User Id Claim"},"tenant_id_claim":{"type":"string","title":"Tenant Id Claim"},"role_claim":{"type":"string","title":"Role Claim"},"permissions_claim":{"type":"string","title":"Permissions Claim"},"auto_provision_membership":{"type":"boolean","title":"Auto Provision Membership"},"default_role":{"type":"string","title":"Default Role"},"leeway_seconds":{"type":"integer","title":"Leeway Seconds"}},"type":"object","required":["enabled","issuer_configured","audience_configured","discovery_configured","jwks_url_configured","user_id_claim","tenant_id_claim","role_claim","permissions_claim","auto_provision_membership","default_role","leeway_seconds"],"title":"OidcStatusRead"},"OmiImportRequest":{"properties":{"semester":{"type":"string","pattern":"^\\d{4}-[12]$","title":"Semester","description":"Anno e semestre, es. 2026-1"},"source_label":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}],"title":"Source Label"},"rows":{"items":{"$ref":"#/components/schemas/OmiQuotationRow"},"type":"array","maxItems":20000,"minItems":1,"title":"Rows"}},"type":"object","required":["semester","rows"],"title":"OmiImportRequest","description":"Importazione di un semestre di quotazioni."},"OmiImportResult":{"properties":{"semester":{"type":"string","title":"Semester"},"inserted":{"type":"integer","title":"Inserted"},"updated":{"type":"integer","title":"Updated"}},"type":"object","required":["semester","inserted","updated"],"title":"OmiImportResult"},"OmiQuotationRead":{"properties":{"comune_name":{"type":"string","title":"Comune Name"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"zone_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zone Code"},"zone_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zone Description"},"property_type":{"type":"string","title":"Property Type"},"condition":{"type":"string","title":"Condition"},"price_min":{"type":"number","title":"Price Min"},"price_max":{"type":"number","title":"Price Max"},"rent_min":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rent Min"},"rent_max":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rent Max"},"semester":{"type":"string","title":"Semester"},"source_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Label"}},"type":"object","required":["comune_name","property_type","condition","price_min","price_max","semester"],"title":"OmiQuotationRead"},"OmiQuotationRow":{"properties":{"comune_name":{"type":"string","maxLength":160,"minLength":2,"title":"Comune Name"},"property_type":{"type":"string","maxLength":80,"minLength":2,"title":"Property Type"},"price_min":{"type":"number","minimum":0.0,"title":"Price Min"},"price_max":{"type":"number","minimum":0.0,"title":"Price Max"},"condition":{"type":"string","maxLength":40,"title":"Condition","default":"normale"},"province":{"anyOf":[{"type":"string","maxLength":10},{"type":"null"}],"title":"Province"},"istat_code":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Istat Code"},"zone_code":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Zone Code"},"zone_description":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Zone Description"},"rent_min":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Rent Min"},"rent_max":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Rent Max"}},"type":"object","required":["comune_name","property_type","price_min","price_max"],"title":"OmiQuotationRow","description":"Una riga di quotazione, nella forma normalizzata che accetta l'importazione.\n\nNon e' il tracciato dell'Agenzia delle Entrate: quello cambia da semestre a semestre\ne va adattato con una mappatura, che resta fuori da qui perche' dipende dal file che\nsi ha davvero in mano."},"OnboardingRegisterRequest":{"properties":{"company_name":{"type":"string","maxLength":255,"minLength":2,"title":"Company Name"},"contact_name":{"type":"string","maxLength":255,"minLength":2,"title":"Contact Name"},"email":{"type":"string","maxLength":255,"minLength":5,"title":"Email"},"onboarding_key":{"type":"string","title":"Onboarding Key","description":"Chiave di protezione (se richiesta dall'istanza)","default":""}},"type":"object","required":["company_name","contact_name","email"],"title":"OnboardingRegisterRequest"},"OnboardingRegisterResult":{"properties":{"tenant_id":{"type":"string","title":"Tenant Id"},"user_id":{"type":"string","title":"User Id"},"token":{"type":"string","title":"Token"},"message":{"type":"string","title":"Message","default":"Registrazione completata. Salva il token — non verrà mostrato di nuovo."}},"type":"object","required":["tenant_id","user_id","token"],"title":"OnboardingRegisterResult"},"OsservazioneCorrente":{"properties":{"soggetto":{"type":"string","title":"Soggetto"},"osservato_il":{"type":"string","format":"date-time","title":"Osservato Il"},"valori":{"additionalProperties":true,"type":"object","title":"Valori"},"freschezza":{"$ref":"#/components/schemas/gismart__osservazioni__schemas__FreschezzaRead"},"problemi":{"items":{"$ref":"#/components/schemas/ProblemaRead"},"type":"array","title":"Problemi"}},"type":"object","required":["soggetto","osservato_il","valori","freschezza"],"title":"OsservazioneCorrente","description":"L'ultimo valore noto di un soggetto, con il giudizio di freschezza accanto.\n\n`freschezza` non e' opzionale di proposito: un valore senza la sua eta' e' il difetto\nche questo modulo esiste per non avere."},"OsservazioneIn":{"properties":{"soggetto":{"type":"string","maxLength":120,"minLength":1,"title":"Soggetto"},"osservato_il":{"type":"string","format":"date-time","title":"Osservato Il"},"valori":{"additionalProperties":true,"type":"object","title":"Valori"},"latitudine":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"null"}],"title":"Latitudine"},"longitudine":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"null"}],"title":"Longitudine"}},"type":"object","required":["soggetto","osservato_il","valori"],"title":"OsservazioneIn","description":"Un campione inviato dall'esterno, per le serie non alimentate dal prelievo."},"OsservazioneRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"soggetto":{"type":"string","title":"Soggetto"},"osservato_il":{"type":"string","format":"date-time","title":"Osservato Il"},"ricevuto_il":{"type":"string","format":"date-time","title":"Ricevuto Il"},"valori":{"additionalProperties":true,"type":"object","title":"Valori"},"quarantena":{"type":"boolean","title":"Quarantena"},"problemi":{"items":{"$ref":"#/components/schemas/ProblemaRead"},"type":"array","title":"Problemi"}},"type":"object","required":["id","soggetto","osservato_il","ricevuto_il","valori","quarantena"],"title":"OsservazioneRead"},"ParcheggioCreate":{"properties":{"parking_id":{"type":"string","maxLength":120,"minLength":1,"title":"Parking Id"},"nome":{"type":"string","maxLength":200,"minLength":1,"title":"Nome"},"operatore":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Operatore"},"citta":{"type":"string","maxLength":120,"minLength":1,"title":"Citta"},"provincia":{"anyOf":[{"type":"string","maxLength":10},{"type":"null"}],"title":"Provincia"},"tipo":{"type":"string","enum":["struttura","superficie","park_and_ride","strada","altro"],"title":"Tipo","default":"struttura"},"capacita":{"anyOf":[{"type":"integer","maximum":100000.0,"minimum":0.0},{"type":"null"}],"title":"Capacita"},"latitudine":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"null"}],"title":"Latitudine"},"longitudine":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"null"}],"title":"Longitudine"},"tariffa_oraria":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Tariffa Oraria"},"gratuito":{"type":"boolean","title":"Gratuito","default":false},"restrizioni":{"additionalProperties":true,"type":"object","title":"Restrizioni"},"servizi":{"additionalProperties":true,"type":"object","title":"Servizi"},"serie_chiave":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Serie Chiave"},"soggetto":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Soggetto"},"fonte":{"type":"string","maxLength":200,"minLength":1,"title":"Fonte"},"fonte_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Fonte Url"},"licenza":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Licenza"},"attribuzione":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}],"title":"Attribuzione"}},"type":"object","required":["parking_id","nome","citta","fonte"],"title":"ParcheggioCreate"},"ParcheggioElenco":{"properties":{"elementi":{"items":{"$ref":"#/components/schemas/ParcheggioRead"},"type":"array","title":"Elementi"},"totale":{"type":"integer","title":"Totale"}},"type":"object","required":["elementi","totale"],"title":"ParcheggioElenco"},"ParcheggioRead":{"properties":{"parking_id":{"type":"string","maxLength":120,"minLength":1,"title":"Parking Id"},"nome":{"type":"string","maxLength":200,"minLength":1,"title":"Nome"},"operatore":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Operatore"},"citta":{"type":"string","maxLength":120,"minLength":1,"title":"Citta"},"provincia":{"anyOf":[{"type":"string","maxLength":10},{"type":"null"}],"title":"Provincia"},"tipo":{"type":"string","enum":["struttura","superficie","park_and_ride","strada","altro"],"title":"Tipo","default":"struttura"},"capacita":{"anyOf":[{"type":"integer","maximum":100000.0,"minimum":0.0},{"type":"null"}],"title":"Capacita"},"latitudine":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"null"}],"title":"Latitudine"},"longitudine":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"null"}],"title":"Longitudine"},"tariffa_oraria":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Tariffa Oraria"},"gratuito":{"type":"boolean","title":"Gratuito","default":false},"restrizioni":{"additionalProperties":true,"type":"object","title":"Restrizioni"},"servizi":{"additionalProperties":true,"type":"object","title":"Servizi"},"serie_chiave":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Serie Chiave"},"soggetto":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Soggetto"},"fonte":{"type":"string","maxLength":200,"minLength":1,"title":"Fonte"},"fonte_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Fonte Url"},"licenza":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Licenza"},"attribuzione":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}],"title":"Attribuzione"},"id":{"type":"string","format":"uuid","title":"Id"},"attiva":{"type":"boolean","title":"Attiva"},"creato_il":{"type":"string","format":"date-time","title":"Creato Il"},"aggiornato_il":{"type":"string","format":"date-time","title":"Aggiornato Il"}},"type":"object","required":["parking_id","nome","citta","fonte","id","attiva","creato_il","aggiornato_il"],"title":"ParcheggioRead"},"ParcheggioVicino":{"properties":{"parking_id":{"type":"string","title":"Parking Id"},"nome":{"type":"string","title":"Nome"},"citta":{"type":"string","title":"Citta"},"latitudine":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitudine"},"longitudine":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitudine"},"capacita":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacita"},"posti_liberi":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Posti Liberi"},"occupazione_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Occupazione Pct"},"tariffa_oraria":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tariffa Oraria"},"gratuito":{"type":"boolean","title":"Gratuito","default":false},"distanza_linea_aria_m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distanza Linea Aria M"},"distanza_su_strada_m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distanza Su Strada M"},"secondi_su_strada":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Secondi Su Strada"},"su_strada":{"type":"boolean","title":"Su Strada","default":false},"osservato_il":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Osservato Il"},"freschezza":{"$ref":"#/components/schemas/gismart__parcheggi__schemas__FreschezzaRead"},"punteggio":{"type":"number","title":"Punteggio"},"pieno":{"type":"boolean","title":"Pieno","default":false},"contributi":{"items":{"$ref":"#/components/schemas/ContributoRead"},"type":"array","title":"Contributi"},"avvertenze":{"items":{"type":"string"},"type":"array","title":"Avvertenze"},"fonte":{"type":"string","title":"Fonte"},"licenza":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Licenza"},"attribuzione":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attribuzione"}},"type":"object","required":["parking_id","nome","citta","freschezza","punteggio","fonte"],"title":"ParcheggioVicino","description":"Un parcheggio nell'elenco ordinato, con il perche' del suo posto.\n\n`contributi` non e' diagnostica: e' l'unico modo in cui un integratore puo' tarare i\npesi sul proprio caso senza indovinare, e in cui un utente puo' capire perche' gli\nviene proposto il secondo parcheggio invece del primo."},"PipelineSummary":{"properties":{"open_lead_count":{"type":"integer","title":"Open Lead Count"},"open_opportunity_count":{"type":"integer","title":"Open Opportunity Count"},"weighted_pipeline_amount":{"type":"number","title":"Weighted Pipeline Amount"},"qualified_count":{"type":"integer","title":"Qualified Count"},"proposal_count":{"type":"integer","title":"Proposal Count"},"negotiation_count":{"type":"integer","title":"Negotiation Count"}},"type":"object","required":["open_lead_count","open_opportunity_count","weighted_pipeline_amount","qualified_count","proposal_count","negotiation_count"],"title":"PipelineSummary"},"PopulationData":{"properties":{"population_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Population Total"},"population_male":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Population Male"},"population_female":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Population Female"},"household_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Household Count"},"density_per_km2":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Density Per Km2"},"pct_under_18":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Under 18"},"pct_18_64":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct 18 64"},"pct_over_65":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Over 65"},"median_age":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Median Age"},"area_km2":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Area Km2"},"reference_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reference Year"},"source_label":{"type":"string","title":"Source Label","default":"ISTAT"},"boundary_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Boundary Code"},"boundary_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Boundary Level"},"canonical_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Canonical Name"}},"type":"object","title":"PopulationData"},"PrevisioneRead":{"properties":{"orizzonte_minuti":{"type":"integer","title":"Orizzonte Minuti"},"valido_per":{"type":"string","format":"date-time","title":"Valido Per"},"valore":{"type":"number","title":"Valore"},"minimo":{"type":"number","title":"Minimo"},"massimo":{"type":"number","title":"Massimo"},"poggia_sul_presente":{"type":"boolean","title":"Poggia Sul Presente"},"spiegazione":{"type":"string","title":"Spiegazione"}},"type":"object","required":["orizzonte_minuti","valido_per","valore","minimo","massimo","poggia_sul_presente","spiegazione"],"title":"PrevisioneRead"},"PrevisioniSoggetto":{"properties":{"serie_chiave":{"type":"string","title":"Serie Chiave"},"soggetto":{"type":"string","title":"Soggetto"},"campo":{"type":"string","title":"Campo"},"valore_corrente":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Valore Corrente"},"osservato_il":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Osservato Il"},"dato_affidabile":{"type":"boolean","title":"Dato Affidabile"},"previsioni":{"items":{"$ref":"#/components/schemas/PrevisioneRead"},"type":"array","title":"Previsioni"},"avvertenze":{"items":{"type":"string"},"type":"array","title":"Avvertenze"}},"type":"object","required":["serie_chiave","soggetto","campo","dato_affidabile"],"title":"PrevisioniSoggetto"},"ProblemaRead":{"properties":{"codice":{"type":"string","title":"Codice"},"gravita":{"type":"string","enum":["informazione","avviso","grave"],"title":"Gravita"},"messaggio":{"type":"string","title":"Messaggio"},"dettagli":{"additionalProperties":true,"type":"object","title":"Dettagli"}},"type":"object","required":["codice","gravita","messaggio"],"title":"ProblemaRead"},"ProviderOperationsOverviewRead":{"properties":{"degraded_provider_count":{"type":"integer","title":"Degraded Provider Count","default":0},"open_circuit_count":{"type":"integer","title":"Open Circuit Count","default":0},"total_cache_entries":{"type":"integer","title":"Total Cache Entries","default":0},"total_cache_hits":{"type":"integer","title":"Total Cache Hits","default":0},"total_cache_misses":{"type":"integer","title":"Total Cache Misses","default":0},"alert_messages":{"items":{"type":"string"},"type":"array","title":"Alert Messages"}},"type":"object","title":"ProviderOperationsOverviewRead"},"ProviderStatusRead":{"properties":{"service":{"type":"string","enum":["geocoder","routing","weather","economics"],"title":"Service"},"configured_provider":{"type":"string","title":"Configured Provider"},"available_providers":{"items":{"type":"string"},"type":"array","title":"Available Providers"},"endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint"},"mode":{"type":"string","title":"Mode","default":"configured"},"notes":{"items":{"type":"string"},"type":"array","title":"Notes"},"cache_hits":{"type":"integer","title":"Cache Hits","default":0},"cache_misses":{"type":"integer","title":"Cache Misses","default":0},"cache_entries":{"type":"integer","title":"Cache Entries","default":0},"resilience_failures":{"type":"integer","title":"Resilience Failures","default":0},"circuit_open":{"type":"boolean","title":"Circuit Open","default":false},"circuit_open_for_seconds":{"type":"integer","title":"Circuit Open For Seconds","default":0}},"type":"object","required":["service","configured_provider"],"title":"ProviderStatusRead"},"ProviderTestRequest":{"properties":{"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"destination_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Destination Latitude"},"destination_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Destination Longitude"},"query_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query Text"},"days":{"type":"integer","maximum":7.0,"minimum":1.0,"title":"Days","default":1}},"type":"object","title":"ProviderTestRequest"},"ProviderTestResult":{"properties":{"service":{"type":"string","enum":["geocoder","routing","weather","economics"],"title":"Service"},"provider":{"type":"string","title":"Provider"},"success":{"type":"boolean","title":"Success"},"detail":{"type":"string","title":"Detail"},"sample":{"additionalProperties":true,"type":"object","title":"Sample"}},"type":"object","required":["service","provider","success","detail"],"title":"ProviderTestResult"},"ProvisionTenantRequest":{"properties":{"company_name":{"type":"string","maxLength":255,"minLength":2,"title":"Company Name"},"admin_email":{"type":"string","maxLength":255,"minLength":5,"title":"Admin Email"},"admin_name":{"type":"string","maxLength":255,"minLength":2,"title":"Admin Name"},"tenant_slug":{"type":"string","maxLength":100,"minLength":2,"pattern":"^[a-z0-9][a-z0-9-]*$","title":"Tenant Slug"},"brand_name":{"type":"string","maxLength":100,"title":"Brand Name","default":""},"brand_color":{"type":"string","maxLength":20,"title":"Brand Color","default":"#0f766e"},"brand_logo_url":{"type":"string","maxLength":500,"title":"Brand Logo Url","default":""},"brand_support_url":{"type":"string","maxLength":500,"title":"Brand Support Url","default":""},"brand_hide_credits":{"type":"boolean","title":"Brand Hide Credits","default":false},"license_type":{"type":"string","title":"License Type","default":"Perpetua"},"max_users":{"type":"integer","maximum":1000.0,"minimum":1.0,"title":"Max Users","default":3},"expiry_days":{"type":"integer","maximum":3650.0,"minimum":0.0,"title":"Expiry Days","default":365}},"type":"object","required":["company_name","admin_email","admin_name","tenant_slug"],"title":"ProvisionTenantRequest"},"ProvisionTenantResult":{"properties":{"tenant_id":{"type":"string","title":"Tenant Id"},"tenant_slug":{"type":"string","title":"Tenant Slug"},"admin_user_id":{"type":"string","title":"Admin User Id"},"api_token":{"type":"string","title":"Api Token"},"license":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"License"},"brand":{"additionalProperties":{"type":"string"},"type":"object","title":"Brand"},"login_url":{"type":"string","title":"Login Url"}},"type":"object","required":["tenant_id","tenant_slug","admin_user_id","api_token","brand","login_url"],"title":"ProvisionTenantResult"},"PublicEnquiryCreate":{"properties":{"name":{"type":"string","maxLength":120,"minLength":2,"title":"Name"},"email":{"type":"string","maxLength":200,"minLength":5,"pattern":"^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$","title":"Email"},"phone":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Phone"},"message":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Message"}},"type":"object","required":["name","email"],"title":"PublicEnquiryCreate","description":"Richiesta di contatto da un visitatore del portale."},"PublicEnquiryResult":{"properties":{"reference":{"type":"string","format":"uuid","title":"Reference"},"received":{"type":"boolean","title":"Received","default":true}},"type":"object","required":["reference"],"title":"PublicEnquiryResult","description":"Ricevuta della richiesta.\n\nTorna indietro il solo riferimento: da un canale pubblico non escono lo stato del\nlead, l'agente assegnato o qualunque altra cosa succeda dopo."},"PublicListingRead":{"properties":{"public_slug":{"type":"string","title":"Public Slug"},"name":{"type":"string","title":"Name"},"entity_type":{"type":"string","title":"Entity Type"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"listing_status":{"type":"string","enum":["draft","published","reserved","sold","withdrawn"],"title":"Listing Status"},"price_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Amount"},"price_currency":{"type":"string","title":"Price Currency"},"price_per_sqm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Per Sqm"},"available_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Available From"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"surface_sqm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Surface Sqm"},"rooms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rooms"},"bathrooms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bathrooms"},"floor":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Floor"},"total_floors":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Floors"},"build_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Build Year"},"condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Condition"},"energy_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Energy Class"},"energy_index":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Energy Index"},"has_elevator":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Elevator"},"has_parking":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Parking"},"heating_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Heating Type"},"plant_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plant Type"},"installed_power_kw":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Installed Power Kw"},"covered_area_sqm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Covered Area Sqm"},"land_area_sqm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Land Area Sqm"},"ateco_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ateco Code"},"crane_capacity_kg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Crane Capacity Kg"},"ceiling_height_m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ceiling Height M"},"loading_bays":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Loading Bays"},"certifications":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Certifications"},"public_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Description"},"cover_media_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Cover Media Id"},"distance_meters":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distance Meters"}},"type":"object","required":["public_slug","name","entity_type","listing_status","price_currency"],"title":"PublicListingRead","description":"Un annuncio come lo vede chi non ha un'utenza.\n\nL'elenco dei campi e' scritto per intero, e non ereditato da `AssetListingRead`\ntogliendo qualcosa: ereditando, ogni campo aggiunto in futuro all'annuncio\ndiventerebbe pubblico per distrazione. Qui diventa pubblico solo cio' che qualcuno\nha deciso di scriverci.\n\nRestano fuori i dati catastali (foglio, particella, rendita: materiale da due\ndiligence, non da vetrina), l'agente assegnato, i metadati interni e ogni\nidentificativo del tenant o dell'entita'."},"PublicMapConfig":{"properties":{"basemap_url":{"type":"string","title":"Basemap Url"},"basemap_attribution":{"type":"string","title":"Basemap Attribution"},"center_latitude":{"type":"number","title":"Center Latitude"},"center_longitude":{"type":"number","title":"Center Longitude"},"zoom":{"type":"integer","title":"Zoom"},"locale":{"type":"string","title":"Locale"},"home_url":{"type":"string","title":"Home Url","default":""},"home_label":{"type":"string","title":"Home Label","default":""}},"type":"object","required":["basemap_url","basemap_attribution","center_latitude","center_longitude","zoom","locale"],"title":"PublicMapConfig","description":"Il minimo che serve al portale per disegnare una mappa.\n\nÈ il sottoinsieme pubblico delle impostazioni GIS del tenant: dove centrarsi, con\nquale mappa base, e con quale attribuzione. Nulla di interno."},"PublicMapOverlayRead":{"properties":{"layer_key":{"type":"string","title":"Layer Key"},"name":{"type":"string","title":"Name"},"opacity":{"type":"number","title":"Opacity"},"min_zoom":{"type":"integer","title":"Min Zoom"},"max_zoom":{"type":"integer","title":"Max Zoom"},"attribution":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attribution"},"licence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Licence"},"tile_url":{"type":"string","title":"Tile Url"}},"type":"object","required":["layer_key","name","opacity","min_zoom","max_zoom","tile_url"],"title":"PublicMapOverlayRead","description":"Come sopra, per il portale: senza l'origine e senza gli interruttori interni."},"PuntoAppoggioIn":{"properties":{"disegno_x":{"type":"number","title":"Disegno X","description":"Ascissa nel sistema locale del disegno"},"disegno_y":{"type":"number","title":"Disegno Y","description":"Ordinata nel sistema locale del disegno"},"lon":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Lon","description":"Longitudine WGS84 del punto sul terreno"},"lat":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Lat","description":"Latitudine WGS84 del punto sul terreno"},"etichetta":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}],"title":"Etichetta"}},"type":"object","required":["disegno_x","disegno_y","lon","lat"],"title":"PuntoAppoggioIn","description":"Un punto del disegno e il punto sul terreno a cui corrisponde."},"RegiaRead":{"properties":{"tenant_id":{"type":"string","title":"Tenant Id"},"scenario":{"type":"string","title":"Scenario"},"scenari":{"items":{"$ref":"#/components/schemas/ScenarioRead"},"type":"array","title":"Scenari"},"moduli_accesi":{"items":{"type":"string"},"type":"array","title":"Moduli Accesi"},"licenza":{"additionalProperties":true,"type":"object","title":"Licenza"},"percorsi":{"additionalProperties":true,"type":"object","title":"Percorsi"},"territorio":{"additionalProperties":true,"type":"object","title":"Territorio"},"avvertenze":{"items":{"type":"string"},"type":"array","title":"Avvertenze"}},"type":"object","required":["tenant_id","scenario"],"title":"RegiaRead","description":"Lo stato della regia: cosa e' acceso adesso, e cos'altro si puo' accendere.\n\n**`avvertenze` e' la parte da leggere prima di cominciare.** Dice se il territorio e'\nstato seminato e se il motore di percorsi c'e': sono le due cose che, mancando,\ntrasformano una demo in venti minuti di schermate vuote spiegate a voce."},"RegimeRead":{"properties":{"categoria":{"type":"string","title":"Categoria"},"tipo":{"type":"string","title":"Tipo"},"nome":{"type":"string","title":"Nome"},"codice":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codice"},"ente_gestore":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ente Gestore"},"zona":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zona"},"fonte":{"type":"string","title":"Fonte"},"licenza":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Licenza"},"attribuzione":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attribuzione"},"data_dato":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Data Dato"},"dettagli":{"additionalProperties":true,"type":"object","title":"Dettagli"}},"type":"object","required":["categoria","tipo","nome","fonte"],"title":"RegimeRead","description":"Un vincolo o una tutela che insiste sul punto interrogato."},"RegimiPunto":{"properties":{"latitudine":{"type":"number","title":"Latitudine"},"longitudine":{"type":"number","title":"Longitudine"},"interrogato_il":{"type":"string","format":"date-time","title":"Interrogato Il"},"regimi":{"items":{"$ref":"#/components/schemas/RegimeRead"},"type":"array","title":"Regimi"},"fonti":{"items":{"$ref":"#/components/schemas/EsitoFonte"},"type":"array","title":"Fonti"},"completo":{"type":"boolean","title":"Completo"}},"type":"object","required":["latitudine","longitudine","interrogato_il","regimi","fonti","completo"],"title":"RegimiPunto","description":"La risposta alla domanda «cosa vale in questo punto»."},"RegolaCreate":{"properties":{"nome":{"type":"string","maxLength":200,"minLength":1,"title":"Nome"},"descrizione":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Descrizione"},"serie_chiave":{"type":"string","maxLength":120,"minLength":1,"title":"Serie Chiave"},"soggetto":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Soggetto"},"condizione":{"additionalProperties":true,"type":"object","title":"Condizione"},"endpoint_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Endpoint Id"},"silenzio_minuti":{"type":"integer","maximum":10080.0,"minimum":0.0,"title":"Silenzio Minuti","default":30}},"type":"object","required":["nome","serie_chiave","condizione"],"title":"RegolaCreate"},"RegolaElenco":{"properties":{"elementi":{"items":{"$ref":"#/components/schemas/RegolaRead"},"type":"array","title":"Elementi"},"totale":{"type":"integer","title":"Totale"}},"type":"object","required":["elementi","totale"],"title":"RegolaElenco"},"RegolaRead":{"properties":{"nome":{"type":"string","maxLength":200,"minLength":1,"title":"Nome"},"descrizione":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Descrizione"},"serie_chiave":{"type":"string","maxLength":120,"minLength":1,"title":"Serie Chiave"},"soggetto":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Soggetto"},"condizione":{"additionalProperties":true,"type":"object","title":"Condizione"},"endpoint_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Endpoint Id"},"silenzio_minuti":{"type":"integer","maximum":10080.0,"minimum":0.0,"title":"Silenzio Minuti","default":30},"id":{"type":"string","format":"uuid","title":"Id"},"attiva":{"type":"boolean","title":"Attiva"},"ultima_valutazione_il":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ultima Valutazione Il"},"creata_il":{"type":"string","format":"date-time","title":"Creata Il"},"soggetti_dentro":{"type":"integer","title":"Soggetti Dentro","default":0}},"type":"object","required":["nome","serie_chiave","condizione","id","attiva","creata_il"],"title":"RegolaRead"},"ResiduoRead":{"properties":{"etichetta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Etichetta"},"scarto_m":{"type":"number","title":"Scarto M"},"scarto_est_m":{"type":"number","title":"Scarto Est M"},"scarto_nord_m":{"type":"number","title":"Scarto Nord M"}},"type":"object","required":["scarto_m","scarto_est_m","scarto_nord_m"],"title":"ResiduoRead"},"ResolvedLocation":{"properties":{"input_query":{"type":"string","title":"Input Query"},"country_code":{"type":"string","title":"Country Code"},"canonical_name":{"type":"string","title":"Canonical Name"},"istat_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Istat Code"},"boundary_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Boundary Level"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"source":{"type":"string","title":"Source"}},"type":"object","required":["input_query","country_code","canonical_name","latitude","longitude","source"],"title":"ResolvedLocation"},"RevenueByCustomer":{"properties":{"customer_id":{"type":"string","format":"uuid","title":"Customer Id"},"customer_name":{"type":"string","title":"Customer Name"},"invoice_count":{"type":"integer","title":"Invoice Count"},"total_amount":{"type":"number","title":"Total Amount"}},"type":"object","required":["customer_id","customer_name","invoice_count","total_amount"],"title":"RevenueByCustomer"},"RichiestaImportazione":{"properties":{"rows":{"items":{"$ref":"#/components/schemas/AnnuncioDaImportare"},"type":"array","maxItems":500,"minItems":1,"title":"Rows"}},"type":"object","required":["rows"],"title":"RichiestaImportazione","description":"Il corpo dell'importazione massiva.\n\nIl tetto non e' prudenza generica: ogni riga puo' creare un'entita', un annuncio e\nuna pubblicazione, e un lotto senza limite terrebbe aperta una transazione lunga su\ntabelle che il portale sta leggendo."},"RisultatoImportazione":{"properties":{"creati":{"type":"integer","title":"Creati","default":0},"aggiornati":{"type":"integer","title":"Aggiornati","default":0},"saltati":{"type":"integer","title":"Saltati","default":0},"esiti":{"items":{"$ref":"#/components/schemas/EsitoAnnuncio"},"type":"array","title":"Esiti"}},"type":"object","title":"RisultatoImportazione","description":"I conteggi sono campi e non proprieta' perche' devono finire nella risposta."},"RisultatoVicini":{"properties":{"latitudine":{"type":"number","title":"Latitudine"},"longitudine":{"type":"number","title":"Longitudine"},"raggio_m":{"type":"number","title":"Raggio M"},"interrogato_il":{"type":"string","format":"date-time","title":"Interrogato Il"},"pesi_usati":{"additionalProperties":{"type":"number"},"type":"object","title":"Pesi Usati"},"elementi":{"items":{"$ref":"#/components/schemas/ParcheggioVicino"},"type":"array","title":"Elementi"},"tutti_i_dati_freschi":{"type":"boolean","title":"Tutti I Dati Freschi"},"tutti_su_strada":{"type":"boolean","title":"Tutti Su Strada","default":false},"profilo":{"type":"string","title":"Profilo","default":"auto"},"avvertenze":{"items":{"type":"string"},"type":"array","title":"Avvertenze"}},"type":"object","required":["latitudine","longitudine","raggio_m","interrogato_il","pesi_usati","elementi","tutti_i_dati_freschi"],"title":"RisultatoVicini"},"RouteIsochroneQuery":{"properties":{"origin":{"$ref":"#/components/schemas/RoutePoint"},"travel_minutes":{"type":"integer","maximum":240.0,"minimum":1.0,"title":"Travel Minutes","default":15},"average_speed_kmh":{"type":"number","maximum":160.0,"exclusiveMinimum":0.0,"title":"Average Speed Kmh","default":40.0},"sample_points":{"type":"integer","maximum":180.0,"minimum":8.0,"title":"Sample Points","default":24},"profilo":{"type":"string","enum":["auto","camion","bici","piedi"],"title":"Profilo","default":"auto"}},"type":"object","required":["origin"],"title":"RouteIsochroneQuery"},"RouteIsochroneResult":{"properties":{"provider":{"type":"string","title":"Provider"},"travel_minutes":{"type":"integer","title":"Travel Minutes"},"reachable_distance_km":{"type":"number","title":"Reachable Distance Km"},"polygon":{"$ref":"#/components/schemas/Feature"},"su_strada":{"type":"boolean","title":"Su Strada","default":false},"avvertenze":{"items":{"type":"string"},"type":"array","title":"Avvertenze"}},"type":"object","required":["provider","travel_minutes","reachable_distance_km","polygon"],"title":"RouteIsochroneResult","description":"Cosa si raggiunge in un certo tempo, e **se e' una misura o un cerchio**.\n\nLe due forme hanno lo stesso tipo e la stessa aria: un poligono con dentro dei punti.\nMa quaranta minuti da Milano arrivano molto piu' lontano lungo la A4 che verso le\nvalli, e un cerchio quelle due direzioni le tratta uguali. `su_strada` e' il campo che\npermette di distinguerle, e va guardato prima del poligono."},"RouteMatrixBenchmarkQuery":{"properties":{"points":{"items":{"$ref":"#/components/schemas/RoutePoint"},"type":"array","title":"Points"},"iterations":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Iterations","default":5},"average_speed_kmh":{"type":"number","maximum":160.0,"exclusiveMinimum":0.0,"title":"Average Speed Kmh","default":50.0}},"type":"object","required":["points"],"title":"RouteMatrixBenchmarkQuery"},"RouteMatrixBenchmarkResult":{"properties":{"provider":{"type":"string","title":"Provider"},"iterations":{"type":"integer","title":"Iterations"},"points_count":{"type":"integer","title":"Points Count"},"entries_per_iteration":{"type":"integer","title":"Entries Per Iteration"},"avg_duration_ms":{"type":"number","title":"Avg Duration Ms"},"min_duration_ms":{"type":"number","title":"Min Duration Ms"},"max_duration_ms":{"type":"number","title":"Max Duration Ms"},"p95_duration_ms":{"type":"number","title":"P95 Duration Ms"},"total_duration_ms":{"type":"number","title":"Total Duration Ms"},"sample_duration_ms":{"items":{"type":"number"},"type":"array","title":"Sample Duration Ms"}},"type":"object","required":["provider","iterations","points_count","entries_per_iteration","avg_duration_ms","min_duration_ms","max_duration_ms","p95_duration_ms","total_duration_ms"],"title":"RouteMatrixBenchmarkResult"},"RouteMatrixEntry":{"properties":{"from_name":{"type":"string","title":"From Name"},"to_name":{"type":"string","title":"To Name"},"distance_km":{"type":"number","title":"Distance Km"},"estimated_minutes":{"type":"number","title":"Estimated Minutes"}},"type":"object","required":["from_name","to_name","distance_km","estimated_minutes"],"title":"RouteMatrixEntry"},"RouteMatrixQuery":{"properties":{"points":{"items":{"$ref":"#/components/schemas/RoutePoint"},"type":"array","title":"Points"},"average_speed_kmh":{"type":"number","maximum":160.0,"exclusiveMinimum":0.0,"title":"Average Speed Kmh","default":50.0}},"type":"object","required":["points"],"title":"RouteMatrixQuery"},"RoutePlanQuery":{"properties":{"origin":{"$ref":"#/components/schemas/RoutePoint"},"stops":{"items":{"$ref":"#/components/schemas/RoutePoint"},"type":"array","title":"Stops"},"destination":{"anyOf":[{"$ref":"#/components/schemas/RoutePoint"},{"type":"null"}]},"average_speed_kmh":{"type":"number","maximum":160.0,"exclusiveMinimum":0.0,"title":"Average Speed Kmh","default":50.0}},"type":"object","required":["origin"],"title":"RoutePlanQuery"},"RoutePlanResult":{"properties":{"ordered_points":{"items":{"$ref":"#/components/schemas/RoutePoint"},"type":"array","title":"Ordered Points"},"segments":{"items":{"$ref":"#/components/schemas/RouteSegment"},"type":"array","title":"Segments"},"total_distance_km":{"type":"number","title":"Total Distance Km"},"total_estimated_minutes":{"type":"number","title":"Total Estimated Minutes"},"optimization_mode":{"type":"string","title":"Optimization Mode"}},"type":"object","required":["ordered_points","total_distance_km","total_estimated_minutes","optimization_mode"],"title":"RoutePlanResult"},"RoutePoint":{"properties":{"name":{"type":"string","title":"Name"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["name","latitude","longitude"],"title":"RoutePoint"},"RouteSegment":{"properties":{"order":{"type":"integer","title":"Order"},"from_point":{"$ref":"#/components/schemas/RoutePoint"},"to_point":{"$ref":"#/components/schemas/RoutePoint"},"distance_km":{"type":"number","title":"Distance Km"},"estimated_minutes":{"type":"number","title":"Estimated Minutes"}},"type":"object","required":["order","from_point","to_point","distance_km","estimated_minutes"],"title":"RouteSegment"},"SalesActivityCreate":{"properties":{"entity_type":{"type":"string","enum":["lead","opportunity","customer"],"title":"Entity Type"},"entity_id":{"type":"string","format":"uuid","title":"Entity Id"},"activity_type":{"type":"string","title":"Activity Type"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["entity_type","entity_id","activity_type","title"],"title":"SalesActivityCreate"},"SalesActivityRead":{"properties":{"entity_type":{"type":"string","enum":["lead","opportunity","customer"],"title":"Entity Type"},"entity_id":{"type":"string","format":"uuid","title":"Entity Id"},"activity_type":{"type":"string","title":"Activity Type"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"created_by_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By User Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["entity_type","entity_id","activity_type","title","id","tenant_id","created_at"],"title":"SalesActivityRead"},"SalesCustomerAssignmentUpdate":{"properties":{"assigned_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned User Id"},"territory_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Territory Id"},"account_manager":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Manager"},"pipeline_stage":{"anyOf":[{"type":"string","enum":["new","qualified","proposal","negotiation","won","lost"]},{"type":"null"}],"title":"Pipeline Stage"},"estimated_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Estimated Value"},"next_follow_up_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Next Follow Up Date"}},"type":"object","title":"SalesCustomerAssignmentUpdate"},"SalesCustomerCreate":{"properties":{"name":{"type":"string","title":"Name"},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"customer_code":{"type":"string","title":"Customer Code"},"segment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment"},"sales_status":{"type":"string","enum":["prospect","active","inactive"],"title":"Sales Status","default":"prospect"},"account_manager":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Manager"},"credit_limit":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Credit Limit"},"assigned_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned User Id"},"territory_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Territory Id"},"pipeline_stage":{"type":"string","enum":["new","qualified","proposal","negotiation","won","lost"],"title":"Pipeline Stage","default":"new"},"estimated_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Estimated Value"},"next_follow_up_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Next Follow Up Date"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["name","customer_code"],"title":"SalesCustomerCreate"},"SalesCustomerRead":{"properties":{"name":{"type":"string","title":"Name"},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"business_entity_id":{"type":"string","format":"uuid","title":"Business Entity Id"},"customer_code":{"type":"string","title":"Customer Code"},"segment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment"},"sales_status":{"type":"string","enum":["prospect","active","inactive"],"title":"Sales Status"},"account_manager":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Manager"},"credit_limit":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Credit Limit"},"assigned_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned User Id"},"territory_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Territory Id"},"pipeline_stage":{"type":"string","enum":["new","qualified","proposal","negotiation","won","lost"],"title":"Pipeline Stage","default":"new"},"estimated_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Estimated Value"},"next_follow_up_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Next Follow Up Date"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["name","id","tenant_id","business_entity_id","customer_code","sales_status"],"title":"SalesCustomerRead"},"SalesDashboardOverview":{"properties":{"customer_count":{"type":"integer","title":"Customer Count"},"active_customer_count":{"type":"integer","title":"Active Customer Count"},"supplier_count":{"type":"integer","title":"Supplier Count"},"issued_invoice_count":{"type":"integer","title":"Issued Invoice Count"},"total_revenue":{"type":"number","title":"Total Revenue"}},"type":"object","required":["customer_count","active_customer_count","supplier_count","issued_invoice_count","total_revenue"],"title":"SalesDashboardOverview"},"SalesFollowUpCreate":{"properties":{"customer_id":{"type":"string","format":"uuid","title":"Customer Id"},"assigned_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned User Id"},"due_date":{"type":"string","format":"date","title":"Due Date"},"status":{"type":"string","enum":["open","done","cancelled"],"title":"Status","default":"open"},"priority":{"type":"string","enum":["low","medium","high"],"title":"Priority","default":"medium"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["customer_id","due_date"],"title":"SalesFollowUpCreate"},"SalesFollowUpRead":{"properties":{"customer_id":{"type":"string","format":"uuid","title":"Customer Id"},"assigned_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned User Id"},"due_date":{"type":"string","format":"date","title":"Due Date"},"status":{"type":"string","enum":["open","done","cancelled"],"title":"Status","default":"open"},"priority":{"type":"string","enum":["low","medium","high"],"title":"Priority","default":"medium"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"}},"type":"object","required":["customer_id","due_date","id","tenant_id"],"title":"SalesFollowUpRead"},"SalesInvoiceCreate":{"properties":{"invoice_number":{"type":"string","title":"Invoice Number"},"customer_id":{"type":"string","format":"uuid","title":"Customer Id"},"supplier_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Supplier Id"},"issue_date":{"type":"string","format":"date","title":"Issue Date"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"currency_code":{"type":"string","title":"Currency Code","default":"EUR"},"total_amount":{"type":"number","title":"Total Amount"},"invoice_status":{"type":"string","enum":["draft","issued","paid","overdue","cancelled"],"title":"Invoice Status","default":"draft"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["invoice_number","customer_id","issue_date","total_amount"],"title":"SalesInvoiceCreate"},"SalesInvoiceRead":{"properties":{"invoice_number":{"type":"string","title":"Invoice Number"},"customer_id":{"type":"string","format":"uuid","title":"Customer Id"},"supplier_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Supplier Id"},"issue_date":{"type":"string","format":"date","title":"Issue Date"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"currency_code":{"type":"string","title":"Currency Code","default":"EUR"},"total_amount":{"type":"number","title":"Total Amount"},"invoice_status":{"type":"string","enum":["draft","issued","paid","overdue","cancelled"],"title":"Invoice Status","default":"draft"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"}},"type":"object","required":["invoice_number","customer_id","issue_date","total_amount","id","tenant_id"],"title":"SalesInvoiceRead"},"SalesLeadConvertRequest":{"properties":{"customer_code":{"type":"string","title":"Customer Code"},"segment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment"},"sales_status":{"type":"string","enum":["prospect","active","inactive"],"title":"Sales Status","default":"prospect"},"account_manager":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Manager"},"credit_limit":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Credit Limit"},"territory_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Territory Id"},"create_opportunity":{"type":"boolean","title":"Create Opportunity","default":true},"opportunity_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Opportunity Code"},"opportunity_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Opportunity Name"},"opportunity_stage":{"type":"string","enum":["new","qualified","proposal","negotiation","won","lost"],"title":"Opportunity Stage","default":"qualified"},"opportunity_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Opportunity Amount"},"expected_close_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Expected Close Date"}},"type":"object","required":["customer_code"],"title":"SalesLeadConvertRequest"},"SalesLeadConvertResult":{"properties":{"lead_id":{"type":"string","format":"uuid","title":"Lead Id"},"customer_id":{"type":"string","format":"uuid","title":"Customer Id"},"business_entity_id":{"type":"string","format":"uuid","title":"Business Entity Id"},"opportunity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Opportunity Id"}},"type":"object","required":["lead_id","customer_id","business_entity_id"],"title":"SalesLeadConvertResult"},"SalesLeadCreate":{"properties":{"name":{"type":"string","title":"Name"},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"lead_code":{"type":"string","title":"Lead Code"},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"status":{"type":"string","enum":["new","contacted","qualified","disqualified","converted"],"title":"Status","default":"new"},"assigned_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned User Id"},"estimated_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Estimated Value"},"next_follow_up_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Next Follow Up Date"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["name","lead_code"],"title":"SalesLeadCreate"},"SalesLeadRead":{"properties":{"name":{"type":"string","title":"Name"},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"lead_code":{"type":"string","title":"Lead Code"},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"status":{"type":"string","enum":["new","contacted","qualified","disqualified","converted"],"title":"Status","default":"new"},"assigned_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned User Id"},"estimated_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Estimated Value"},"next_follow_up_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Next Follow Up Date"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"business_entity_id":{"type":"string","format":"uuid","title":"Business Entity Id"},"converted_customer_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Converted Customer Id"}},"type":"object","required":["name","lead_code","id","tenant_id","business_entity_id"],"title":"SalesLeadRead"},"SalesOpportunityCreate":{"properties":{"opportunity_code":{"type":"string","title":"Opportunity Code"},"name":{"type":"string","title":"Name"},"lead_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Lead Id"},"customer_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Customer Id"},"stage":{"type":"string","enum":["new","qualified","proposal","negotiation","won","lost"],"title":"Stage","default":"qualified"},"status":{"type":"string","enum":["open","won","lost"],"title":"Status","default":"open"},"amount":{"type":"number","title":"Amount"},"expected_close_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Expected Close Date"},"assigned_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned User Id"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["opportunity_code","name","amount"],"title":"SalesOpportunityCreate"},"SalesOpportunityRead":{"properties":{"opportunity_code":{"type":"string","title":"Opportunity Code"},"name":{"type":"string","title":"Name"},"lead_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Lead Id"},"customer_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Customer Id"},"stage":{"type":"string","enum":["new","qualified","proposal","negotiation","won","lost"],"title":"Stage","default":"qualified"},"status":{"type":"string","enum":["open","won","lost"],"title":"Status","default":"open"},"amount":{"type":"number","title":"Amount"},"expected_close_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Expected Close Date"},"assigned_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned User Id"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"}},"type":"object","required":["opportunity_code","name","amount","id","tenant_id"],"title":"SalesOpportunityRead"},"SalesOpportunityUpdate":{"properties":{"stage":{"anyOf":[{"type":"string","enum":["new","qualified","proposal","negotiation","won","lost"]},{"type":"null"}],"title":"Stage"},"status":{"anyOf":[{"type":"string","enum":["open","won","lost"]},{"type":"null"}],"title":"Status"},"amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount"},"expected_close_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Expected Close Date"},"assigned_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned User Id"}},"type":"object","title":"SalesOpportunityUpdate"},"SalesSupplierCreate":{"properties":{"name":{"type":"string","title":"Name"},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"supplier_code":{"type":"string","title":"Supplier Code"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"supplier_status":{"type":"string","enum":["approved","inactive","blocked"],"title":"Supplier Status","default":"approved"},"rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating"},"lead_time_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Lead Time Days"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["name","supplier_code"],"title":"SalesSupplierCreate"},"SalesSupplierRead":{"properties":{"name":{"type":"string","title":"Name"},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"business_entity_id":{"type":"string","format":"uuid","title":"Business Entity Id"},"supplier_code":{"type":"string","title":"Supplier Code"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"supplier_status":{"type":"string","enum":["approved","inactive","blocked"],"title":"Supplier Status"},"rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating"},"lead_time_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Lead Time Days"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["name","id","tenant_id","business_entity_id","supplier_code","supplier_status"],"title":"SalesSupplierRead"},"SalesTerritoryCreate":{"properties":{"territory_code":{"type":"string","title":"Territory Code"},"name":{"type":"string","title":"Name"},"status":{"type":"string","enum":["active","inactive"],"title":"Status","default":"active"},"center_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Center Latitude"},"center_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Center Longitude"},"radius_meters":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Radius Meters"},"minuti_percorrenza":{"anyOf":[{"type":"integer","maximum":120.0,"minimum":1.0},{"type":"null"}],"title":"Minuti Percorrenza"},"assigned_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned User Id"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["territory_code","name"],"title":"SalesTerritoryCreate","description":"Un territorio di vendita.\n\nSi puo' definire in due modi, e **non sono equivalenti**. `radius_meters` fa un\ncerchio: tratta tutte le direzioni uguali, e le strade no. `minuti_percorrenza` fa\nun'isocrona, cioe' la forma di «fin dove arrivo in mezz'ora» — che e' quello che un\nterritorio significa per chi lo percorre.\n\nIl cerchio resta perche' ha ancora due usi buoni: un'installazione senza motore di\npercorsi, e un'area commerciale definita per contratto invece che per percorribilita'."},"SalesTerritoryRead":{"properties":{"territory_code":{"type":"string","title":"Territory Code"},"name":{"type":"string","title":"Name"},"status":{"type":"string","enum":["active","inactive"],"title":"Status","default":"active"},"center_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Center Latitude"},"center_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Center Longitude"},"radius_meters":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Radius Meters"},"minuti_percorrenza":{"anyOf":[{"type":"integer","maximum":120.0,"minimum":1.0},{"type":"null"}],"title":"Minuti Percorrenza"},"assigned_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned User Id"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"}},"type":"object","required":["territory_code","name","id","tenant_id"],"title":"SalesTerritoryRead"},"ScattoRead":{"properties":{"soggetto":{"type":"string","title":"Soggetto"},"messaggio":{"type":"string","title":"Messaggio"},"dettagli":{"additionalProperties":true,"type":"object","title":"Dettagli"},"consegnato":{"type":"boolean","title":"Consegnato","default":false},"errore_consegna":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Errore Consegna"}},"type":"object","required":["soggetto","messaggio"],"title":"ScattoRead"},"ScenarioRead":{"properties":{"chiave":{"type":"string","title":"Chiave"},"nome":{"type":"string","title":"Nome"},"sottotitolo":{"type":"string","title":"Sottotitolo"},"moduli":{"items":{"type":"string"},"type":"array","title":"Moduli"},"centro":{"items":{"type":"number"},"type":"array","title":"Centro"},"zoom":{"type":"integer","title":"Zoom","default":13},"momenti":{"items":{"$ref":"#/components/schemas/MomentoRead"},"type":"array","title":"Momenti"},"attivo":{"type":"boolean","title":"Attivo","default":false}},"type":"object","required":["chiave","nome","sottotitolo"],"title":"ScenarioRead"},"ScenarioUpdate":{"properties":{"chiave":{"type":"string","title":"Chiave"}},"type":"object","required":["chiave"],"title":"ScenarioUpdate"},"ScheduledJobCreate":{"properties":{"job_type":{"type":"string","title":"Job Type"},"queue_name":{"type":"string","title":"Queue Name","default":"default"},"interval_minutes":{"type":"integer","maximum":1440.0,"minimum":1.0,"title":"Interval Minutes","default":15},"enabled":{"type":"boolean","title":"Enabled","default":true},"payload":{"additionalProperties":true,"type":"object","title":"Payload"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["job_type"],"title":"ScheduledJobCreate"},"ScheduledJobPresetRead":{"properties":{"key":{"type":"string","title":"Key"},"label":{"type":"string","title":"Label"},"description":{"type":"string","title":"Description"},"job_type":{"type":"string","title":"Job Type"},"interval_minutes":{"type":"integer","title":"Interval Minutes"},"queue_name":{"type":"string","title":"Queue Name","default":"default"},"payload":{"additionalProperties":true,"type":"object","title":"Payload"}},"type":"object","required":["key","label","description","job_type","interval_minutes"],"title":"ScheduledJobPresetRead"},"ScheduledJobRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"job_type":{"type":"string","title":"Job Type"},"queue_name":{"type":"string","title":"Queue Name"},"interval_minutes":{"type":"integer","title":"Interval Minutes"},"enabled":{"type":"boolean","title":"Enabled"},"payload":{"additionalProperties":true,"type":"object","title":"Payload"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"last_enqueued_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Enqueued At"},"next_run_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Next Run At"},"created_by_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By User Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","tenant_id","job_type","queue_name","interval_minutes","enabled","created_at"],"title":"ScheduledJobRead"},"SeismicImportRequest":{"properties":{"source_label":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}],"title":"Source Label"},"rows":{"items":{"$ref":"#/components/schemas/SeismicRow"},"type":"array","maxItems":20000,"minItems":1,"title":"Rows"}},"type":"object","required":["rows"],"title":"SeismicImportRequest","description":"L'elenco dei comuni con la loro zona.\n\nCome per l'OMI, le righe arrivano già normalizzate: le ordinanze e le delibere\nregionali che assegnano le zone hanno formati diversi, e l'adattamento dipende dal\nfile che si ha in mano."},"SeismicImportResult":{"properties":{"inserted":{"type":"integer","title":"Inserted"},"updated":{"type":"integer","title":"Updated"}},"type":"object","required":["inserted","updated"],"title":"SeismicImportResult"},"SeismicRow":{"properties":{"comune_name":{"type":"string","maxLength":160,"minLength":2,"title":"Comune Name"},"zone":{"type":"integer","maximum":4.0,"minimum":1.0,"title":"Zone"},"province":{"anyOf":[{"type":"string","maxLength":10},{"type":"null"}],"title":"Province"},"istat_code":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Istat Code"},"sub_zone":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Sub Zone"}},"type":"object","required":["comune_name","zone"],"title":"SeismicRow","description":"Un comune e la sua zona sismica."},"SerieCreate":{"properties":{"chiave":{"type":"string","maxLength":120,"minLength":1,"pattern":"^[a-z0-9._-]+$","title":"Chiave"},"nome":{"type":"string","maxLength":200,"minLength":1,"title":"Nome"},"fonte":{"type":"string","maxLength":200,"minLength":1,"title":"Fonte"},"fonte_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Fonte Url"},"licenza":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Licenza"},"attribuzione":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}],"title":"Attribuzione"},"frequenza_attesa_secondi":{"type":"integer","maximum":2592000.0,"minimum":1.0,"title":"Frequenza Attesa Secondi","default":600},"retention_giorni":{"type":"integer","maximum":3650.0,"minimum":1.0,"title":"Retention Giorni","default":90},"rollup":{"type":"string","enum":["nessuno","orario","giornaliero"],"title":"Rollup","default":"nessuno"},"schema_valori":{"items":{"type":"string"},"type":"array","maxItems":100,"title":"Schema Valori"},"regole":{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":50,"title":"Regole"},"prelievo":{"additionalProperties":true,"type":"object","title":"Prelievo"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["chiave","nome","fonte"],"title":"SerieCreate"},"SerieElenco":{"properties":{"elementi":{"items":{"$ref":"#/components/schemas/SerieRead"},"type":"array","title":"Elementi"},"totale":{"type":"integer","title":"Totale"}},"type":"object","required":["elementi","totale"],"title":"SerieElenco"},"SerieRead":{"properties":{"chiave":{"type":"string","maxLength":120,"minLength":1,"pattern":"^[a-z0-9._-]+$","title":"Chiave"},"nome":{"type":"string","maxLength":200,"minLength":1,"title":"Nome"},"fonte":{"type":"string","maxLength":200,"minLength":1,"title":"Fonte"},"fonte_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Fonte Url"},"licenza":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Licenza"},"attribuzione":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}],"title":"Attribuzione"},"frequenza_attesa_secondi":{"type":"integer","maximum":2592000.0,"minimum":1.0,"title":"Frequenza Attesa Secondi","default":600},"retention_giorni":{"type":"integer","maximum":3650.0,"minimum":1.0,"title":"Retention Giorni","default":90},"rollup":{"type":"string","enum":["nessuno","orario","giornaliero"],"title":"Rollup","default":"nessuno"},"schema_valori":{"items":{"type":"string"},"type":"array","maxItems":100,"title":"Schema Valori"},"regole":{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":50,"title":"Regole"},"prelievo":{"additionalProperties":true,"type":"object","title":"Prelievo"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"id":{"type":"string","format":"uuid","title":"Id"},"attiva":{"type":"boolean","title":"Attiva"},"ultima_osservazione_il":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ultima Osservazione Il"},"ultimo_prelievo_il":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ultimo Prelievo Il"},"creata_il":{"type":"string","format":"date-time","title":"Creata Il"},"freschezza":{"anyOf":[{"$ref":"#/components/schemas/gismart__osservazioni__schemas__FreschezzaRead"},{"type":"null"}]},"osservazioni_totali":{"type":"integer","title":"Osservazioni Totali","default":0},"in_quarantena":{"type":"integer","title":"In Quarantena","default":0}},"type":"object","required":["chiave","nome","fonte","id","attiva","creata_il"],"title":"SerieRead"},"ServiceZoneCreate":{"properties":{"zone_key":{"type":"string","title":"Zone Key"},"name":{"type":"string","title":"Name"},"geometry":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Geometry"},"center_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Center Latitude"},"center_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Center Longitude"},"radius_meters":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Radius Meters"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["zone_key","name"],"title":"ServiceZoneCreate"},"ServiceZoneDistanceResult":{"properties":{"zone":{"$ref":"#/components/schemas/ServiceZoneRead"},"distance_meters":{"type":"number","title":"Distance Meters"}},"type":"object","required":["zone","distance_meters"],"title":"ServiceZoneDistanceResult"},"ServiceZoneIntelligenceRead":{"properties":{"zone":{"$ref":"#/components/schemas/ServiceZoneRead"},"area_sqm":{"type":"number","title":"Area Sqm"},"centroid_latitude":{"type":"number","title":"Centroid Latitude"},"centroid_longitude":{"type":"number","title":"Centroid Longitude"},"contained_entity_count":{"type":"integer","title":"Contained Entity Count","default":0},"counts_by_entity_type":{"additionalProperties":{"type":"integer"},"type":"object","title":"Counts By Entity Type"},"counts_by_status":{"additionalProperties":{"type":"integer"},"type":"object","title":"Counts By Status"},"overlap_zone_count":{"type":"integer","title":"Overlap Zone Count","default":0},"context_tags":{"items":{"type":"string"},"type":"array","title":"Context Tags"}},"type":"object","required":["zone","area_sqm","centroid_latitude","centroid_longitude"],"title":"ServiceZoneIntelligenceRead"},"ServiceZoneOverlapRead":{"properties":{"left_zone_id":{"type":"string","format":"uuid","title":"Left Zone Id"},"left_zone_key":{"type":"string","title":"Left Zone Key"},"right_zone_id":{"type":"string","format":"uuid","title":"Right Zone Id"},"right_zone_key":{"type":"string","title":"Right Zone Key"},"overlap_area_sqm":{"type":"number","title":"Overlap Area Sqm"}},"type":"object","required":["left_zone_id","left_zone_key","right_zone_id","right_zone_key","overlap_area_sqm"],"title":"ServiceZoneOverlapRead"},"ServiceZoneRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"zone_key":{"type":"string","title":"Zone Key"},"name":{"type":"string","title":"Name"},"geometry":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Geometry"},"center_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Center Latitude"},"center_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Center Longitude"},"radius_meters":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Radius Meters"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["id","tenant_id","zone_key","name"],"title":"ServiceZoneRead"},"ServiceZoneUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"geometry":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Geometry"},"center_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Center Latitude"},"center_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Center Longitude"},"radius_meters":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Radius Meters"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","title":"ServiceZoneUpdate"},"SincronizzaEsito":{"properties":{"serie_chiave":{"type":"string","title":"Serie Chiave"},"soggetti_trovati":{"type":"integer","title":"Soggetti Trovati"},"create":{"type":"integer","title":"Create"},"aggiornate":{"type":"integer","title":"Aggiornate"},"senza_posizione":{"type":"integer","title":"Senza Posizione"},"avvertenze":{"items":{"type":"string"},"type":"array","title":"Avvertenze"}},"type":"object","required":["serie_chiave","soggetti_trovati","create","aggiornate","senza_posizione"],"title":"SincronizzaEsito"},"SincronizzaRichiesta":{"properties":{"serie_chiave":{"type":"string","maxLength":120,"minLength":1,"title":"Serie Chiave"},"citta":{"type":"string","maxLength":120,"minLength":1,"title":"Citta"},"provincia":{"anyOf":[{"type":"string","maxLength":10},{"type":"null"}],"title":"Provincia"},"tipo":{"type":"string","enum":["struttura","superficie","park_and_ride","strada","altro"],"title":"Tipo","default":"struttura"},"campo_capacita":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}],"title":"Campo Capacita","default":"posti_totali"}},"type":"object","required":["serie_chiave","citta"],"title":"SincronizzaRichiesta","description":"Costruisce il registro dai campioni gia' raccolti da una serie."},"SloStatusRead":{"properties":{"generated_at":{"type":"string","format":"date-time","title":"Generated At"},"failed_jobs_last_24h":{"type":"integer","title":"Failed Jobs Last 24H"},"open_provider_circuits":{"type":"integer","title":"Open Provider Circuits"},"rejections_total":{"type":"integer","title":"Rejections Total"},"breached":{"type":"boolean","title":"Breached"},"breach_messages":{"items":{"type":"string"},"type":"array","title":"Breach Messages"},"thresholds":{"additionalProperties":{"type":"integer"},"type":"object","title":"Thresholds"}},"type":"object","required":["generated_at","failed_jobs_last_24h","open_provider_circuits","rejections_total","breached"],"title":"SloStatusRead"},"SpatialClusterQuery":{"properties":{"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"cell_size_degrees":{"type":"number","exclusiveMinimum":0.0,"title":"Cell Size Degrees","default":0.05},"min_count":{"type":"integer","minimum":1.0,"title":"Min Count","default":1},"limit":{"type":"integer","maximum":1000.0,"minimum":1.0,"title":"Limit","default":250}},"type":"object","title":"SpatialClusterQuery"},"SpatialDistanceQuery":{"properties":{"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"limit":{"type":"integer","maximum":250.0,"minimum":1.0,"title":"Limit","default":25}},"type":"object","required":["latitude","longitude"],"title":"SpatialDistanceQuery"},"SpatialEnrichmentQuery":{"properties":{"entity_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Entity Ids"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"limit":{"type":"integer","maximum":2000.0,"minimum":1.0,"title":"Limit","default":250}},"type":"object","title":"SpatialEnrichmentQuery"},"SpatialGeometryQuery":{"properties":{"geometry":{"additionalProperties":true,"type":"object","title":"Geometry"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},"type":"object","required":["geometry"],"title":"SpatialGeometryQuery"},"SpatialJoinQuery":{"properties":{"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"zone_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Zone Ids"},"join_mode":{"type":"string","enum":["contains","nearest"],"title":"Join Mode","default":"contains"},"limit":{"type":"integer","maximum":5000.0,"minimum":1.0,"title":"Limit","default":500}},"type":"object","title":"SpatialJoinQuery"},"SpatialJoinResult":{"properties":{"entity":{"$ref":"#/components/schemas/BusinessEntityRead"},"zone":{"anyOf":[{"$ref":"#/components/schemas/ServiceZoneRead"},{"type":"null"}]},"match_mode":{"type":"string","title":"Match Mode"},"distance_meters":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distance Meters"}},"type":"object","required":["entity","match_mode"],"title":"SpatialJoinResult"},"SpatialLayerConfigUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"geometry_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geometry Type"},"style":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Style"},"filters":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Filters"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"},"presentation":{"anyOf":[{"$ref":"#/components/schemas/LayerPresentation"},{"type":"null"}]}},"type":"object","title":"SpatialLayerConfigUpdate"},"SpatialLayerCreate":{"properties":{"layer_key":{"type":"string","title":"Layer Key"},"name":{"type":"string","title":"Name"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"geometry_type":{"type":"string","title":"Geometry Type","default":"point"},"style":{"additionalProperties":true,"type":"object","title":"Style"},"filters":{"additionalProperties":true,"type":"object","title":"Filters"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"presentation":{"$ref":"#/components/schemas/LayerPresentation"}},"type":"object","required":["layer_key","name"],"title":"SpatialLayerCreate"},"SpatialLayerRead":{"properties":{"layer_key":{"type":"string","title":"Layer Key"},"name":{"type":"string","title":"Name"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"geometry_type":{"type":"string","title":"Geometry Type","default":"point"},"style":{"additionalProperties":true,"type":"object","title":"Style"},"filters":{"additionalProperties":true,"type":"object","title":"Filters"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"presentation":{"$ref":"#/components/schemas/LayerPresentation"},"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"}},"type":"object","required":["layer_key","name","id","tenant_id"],"title":"SpatialLayerRead"},"SpatialTimelineQuery":{"properties":{"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"date_from":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Date From"},"date_to":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Date To"},"limit":{"type":"integer","maximum":5000.0,"minimum":1.0,"title":"Limit","default":500}},"type":"object","title":"SpatialTimelineQuery"},"StatoSerie":{"properties":{"chiave":{"type":"string","title":"Chiave"},"nome":{"type":"string","title":"Nome"},"fonte":{"type":"string","title":"Fonte"},"attiva":{"type":"boolean","title":"Attiva"},"freschezza":{"$ref":"#/components/schemas/gismart__osservazioni__schemas__FreschezzaRead"},"soggetti":{"type":"integer","title":"Soggetti"},"osservazioni_totali":{"type":"integer","title":"Osservazioni Totali"},"in_quarantena":{"type":"integer","title":"In Quarantena"},"problemi_recenti":{"items":{"$ref":"#/components/schemas/ProblemaRead"},"type":"array","title":"Problemi Recenti"}},"type":"object","required":["chiave","nome","fonte","attiva","freschezza","soggetti","osservazioni_totali","in_quarantena"],"title":"StatoSerie","description":"La salute di una serie, per il cruscotto e per gli allarmi."},"SuggerimentiRead":{"properties":{"rilievi":{"items":{"type":"string"},"type":"array","title":"Rilievi"},"testo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Testo"},"modello":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Modello"},"generato_il":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Generato Il"},"avvertenza":{"type":"string","title":"Avvertenza"}},"type":"object","required":["avvertenza"],"title":"SuggerimentiRead","description":"Quello che la vetrina mostra.\n\n`testo` può mancare: significa che i rilievi ci sono ma il modello non li ha ancora\nriscritti, o non è configurato. Non è un errore, ed è la ragione per cui `rilievi`\nviaggia insieme — la scheda mostra quelli e resta utile."},"SupplierCoverageGap":{"properties":{"supplier_id":{"type":"string","format":"uuid","title":"Supplier Id"},"supplier_code":{"type":"string","title":"Supplier Code"},"supplier_name":{"type":"string","title":"Supplier Name"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},"type":"object","required":["supplier_id","supplier_code","supplier_name"],"title":"SupplierCoverageGap"},"SupplierOverview":{"properties":{"supplier_count":{"type":"integer","title":"Supplier Count"},"active_supplier_count":{"type":"integer","title":"Active Supplier Count"},"preferred_supplier_count":{"type":"integer","title":"Preferred Supplier Count"},"uncovered_supplier_count":{"type":"integer","title":"Uncovered Supplier Count"}},"type":"object","required":["supplier_count","active_supplier_count","preferred_supplier_count","uncovered_supplier_count"],"title":"SupplierOverview"},"SupplierPartnerCreate":{"properties":{"name":{"type":"string","title":"Name"},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"supplier_code":{"type":"string","title":"Supplier Code"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"supplier_status":{"type":"string","enum":["active","inactive","blocked"],"title":"Supplier Status","default":"active"},"service_zone_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Service Zone Id"},"lead_time_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Lead Time Days"},"minimum_order_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum Order Value"},"preferred_supplier":{"type":"boolean","title":"Preferred Supplier","default":false},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["name","supplier_code"],"title":"SupplierPartnerCreate"},"SupplierPartnerRead":{"properties":{"name":{"type":"string","title":"Name"},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"province":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"business_entity_id":{"type":"string","format":"uuid","title":"Business Entity Id"},"supplier_code":{"type":"string","title":"Supplier Code"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"supplier_status":{"type":"string","enum":["active","inactive","blocked"],"title":"Supplier Status"},"service_zone_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Service Zone Id"},"lead_time_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Lead Time Days"},"minimum_order_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum Order Value"},"preferred_supplier":{"type":"boolean","title":"Preferred Supplier","default":false},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["name","id","tenant_id","business_entity_id","supplier_code","supplier_status"],"title":"SupplierPartnerRead"},"SupplierRiskRead":{"properties":{"supplier_id":{"type":"string","format":"uuid","title":"Supplier Id"},"supplier_code":{"type":"string","title":"Supplier Code"},"supplier_name":{"type":"string","title":"Supplier Name"},"supplier_status":{"type":"string","title":"Supplier Status"},"lead_time_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Lead Time Days"},"preferred_supplier":{"type":"boolean","title":"Preferred Supplier"}},"type":"object","required":["supplier_id","supplier_code","supplier_name","supplier_status","preferred_supplier"],"title":"SupplierRiskRead"},"TappaConsegna":{"properties":{"ordine":{"type":"integer","title":"Ordine"},"delivery_id":{"type":"string","format":"uuid","title":"Delivery Id"},"delivery_code":{"type":"string","title":"Delivery Code"},"delivery_name":{"type":"string","title":"Delivery Name"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"priority":{"type":"string","title":"Priority"},"demand_units":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Demand Units"},"scheduled_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Scheduled Date"},"metri_dal_precedente":{"type":"number","title":"Metri Dal Precedente","default":0.0},"secondi_dal_precedente":{"type":"number","title":"Secondi Dal Precedente","default":0.0}},"type":"object","required":["ordine","delivery_id","delivery_code","delivery_name","latitude","longitude","priority"],"title":"TappaConsegna","description":"Una consegna nel giro, nella posizione in cui conviene farla."},"TappaVisita":{"properties":{"ordine":{"type":"integer","title":"Ordine"},"customer_id":{"type":"string","format":"uuid","title":"Customer Id"},"customer_code":{"type":"string","title":"Customer Code"},"customer_name":{"type":"string","title":"Customer Name"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"pipeline_stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pipeline Stage"},"estimated_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Estimated Value"},"next_follow_up_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Next Follow Up Date"},"metri_dal_precedente":{"type":"number","title":"Metri Dal Precedente","default":0.0},"secondi_dal_precedente":{"type":"number","title":"Secondi Dal Precedente","default":0.0}},"type":"object","required":["ordine","customer_id","customer_code","customer_name","latitude","longitude"],"title":"TappaVisita","description":"Un cliente da visitare, nella posizione in cui conviene visitarlo."},"TenantMembershipCreate":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"role":{"type":"string","enum":["owner","admin","manager","agent","viewer"],"title":"Role","default":"agent"},"status":{"type":"string","enum":["active","inactive"],"title":"Status","default":"active"},"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions"}},"type":"object","required":["user_id"],"title":"TenantMembershipCreate"},"TenantMembershipRead":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"role":{"type":"string","enum":["owner","admin","manager","agent","viewer"],"title":"Role","default":"agent"},"status":{"type":"string","enum":["active","inactive"],"title":"Status","default":"active"},"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions"},"id":{"type":"string","format":"uuid","title":"Id"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["user_id","id","tenant_id","created_at"],"title":"TenantMembershipRead"},"TenantProfileRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"member_count":{"type":"integer","title":"Member Count"},"pending_invite_count":{"type":"integer","title":"Pending Invite Count"}},"type":"object","required":["id","slug","name","status","created_at","member_count","pending_invite_count"],"title":"TenantProfileRead"},"TenantProfileUpdate":{"properties":{"name":{"type":"string","maxLength":255,"minLength":2,"title":"Name"}},"type":"object","required":["name"],"title":"TenantProfileUpdate"},"UncoveredCustomer":{"properties":{"customer_id":{"type":"string","format":"uuid","title":"Customer Id"},"customer_code":{"type":"string","title":"Customer Code"},"customer_name":{"type":"string","title":"Customer Name"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"assigned_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned User Id"},"territory_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Territory Id"},"pipeline_stage":{"type":"string","title":"Pipeline Stage"}},"type":"object","required":["customer_id","customer_code","customer_name","pipeline_stage"],"title":"UncoveredCustomer"},"UtilityBoundarySummary":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"counts_by_level":{"additionalProperties":{"type":"integer"},"type":"object","title":"Counts By Level"},"source_labels":{"items":{"type":"string"},"type":"array","title":"Source Labels"}},"type":"object","required":["total_count"],"title":"UtilityBoundarySummary"},"UtilityDiagnosticsRead":{"properties":{"boundary_total_count":{"type":"integer","title":"Boundary Total Count"},"duplicate_boundary_keys":{"type":"integer","title":"Duplicate Boundary Keys"},"unresolved_entity_count":{"type":"integer","title":"Unresolved Entity Count"},"unresolved_examples":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Unresolved Examples"}},"type":"object","required":["boundary_total_count","duplicate_boundary_keys","unresolved_entity_count"],"title":"UtilityDiagnosticsRead"},"UtilityJoinExportRequest":{"properties":{"format":{"type":"string","enum":["csv","json"],"title":"Format","default":"json"},"query":{"$ref":"#/components/schemas/EntityAdminJoinQuery"}},"type":"object","required":["query"],"title":"UtilityJoinExportRequest"},"UtilityJoinExportResponse":{"properties":{"format":{"type":"string","enum":["csv","json"],"title":"Format"},"filename":{"type":"string","title":"Filename"},"media_type":{"type":"string","title":"Media Type"},"content":{"type":"string","title":"Content"},"row_count":{"type":"integer","title":"Row Count"}},"type":"object","required":["format","filename","media_type","content","row_count"],"title":"UtilityJoinExportResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"ValuationRead":{"properties":{"asking_price_per_sqm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Asking Price Per Sqm"},"quotation":{"anyOf":[{"$ref":"#/components/schemas/OmiQuotationRead"},{"type":"null"}]},"position":{"anyOf":[{"type":"string","enum":["sotto","dentro","sopra"]},{"type":"null"}],"title":"Position"},"delta_percent":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Delta Percent"},"matched_on":{"anyOf":[{"type":"string","enum":["zona","comune"]},{"type":"null"}],"title":"Matched On"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"type":"object","title":"ValuationRead","description":"Il prezzo chiesto messo accanto alla fascia di mercato della zona.\n\nE' l'argomento che un portale di annunci non offre all'acquirente: non \"quanto\ncosta\", ma \"quanto costa rispetto a quanto costa qui\"."},"VisitaScartata":{"properties":{"customer_id":{"type":"string","format":"uuid","title":"Customer Id"},"customer_code":{"type":"string","title":"Customer Code"},"customer_name":{"type":"string","title":"Customer Name"},"motivo":{"type":"string","title":"Motivo"}},"type":"object","required":["customer_id","customer_code","customer_name","motivo"],"title":"VisitaScartata","description":"Un cliente che non e' potuto entrare nel giro, e perche'.\n\n**Esiste per non farlo sparire.** Un cliente senza indirizzo geocodificato non e'\nordinabile, e ometterlo dalla risposta lo farebbe dimenticare: l'agente vede una\ngiornata piena e plausibile, e quel cliente non lo chiama nessuno."},"WarehouseWorkload":{"properties":{"warehouse_id":{"type":"string","format":"uuid","title":"Warehouse Id"},"warehouse_code":{"type":"string","title":"Warehouse Code"},"warehouse_name":{"type":"string","title":"Warehouse Name"},"delivery_count":{"type":"integer","title":"Delivery Count"},"total_demand_units":{"type":"integer","title":"Total Demand Units"}},"type":"object","required":["warehouse_id","warehouse_code","warehouse_name","delivery_count","total_demand_units"],"title":"WarehouseWorkload"},"WeatherQuery":{"properties":{"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"days":{"type":"integer","maximum":7.0,"minimum":1.0,"title":"Days","default":1}},"type":"object","required":["latitude","longitude"],"title":"WeatherQuery"},"WeatherRead":{"properties":{"provider":{"type":"string","title":"Provider"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"current":{"$ref":"#/components/schemas/WeatherSnapshot"},"forecast":{"items":{"$ref":"#/components/schemas/WeatherSnapshot"},"type":"array","title":"Forecast"},"advisory_tags":{"items":{"type":"string"},"type":"array","title":"Advisory Tags"}},"type":"object","required":["provider","latitude","longitude","current"],"title":"WeatherRead"},"WeatherSnapshot":{"properties":{"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"temperature_c":{"type":"number","title":"Temperature C"},"wind_speed_kmh":{"type":"number","title":"Wind Speed Kmh"},"precipitation_mm":{"type":"number","title":"Precipitation Mm"},"condition":{"type":"string","title":"Condition"}},"type":"object","required":["timestamp","temperature_c","wind_speed_kmh","precipitation_mm","condition"],"title":"WeatherSnapshot"},"ZonePointIntelligenceQuery":{"properties":{"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"radius_meters":{"type":"integer","maximum":500000.0,"minimum":1.0,"title":"Radius Meters","default":10000},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},"type":"object","required":["latitude","longitude"],"title":"ZonePointIntelligenceQuery"},"ZonePointIntelligenceRead":{"properties":{"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"containing_zone_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Containing Zone Ids"},"containing_zone_keys":{"items":{"type":"string"},"type":"array","title":"Containing Zone Keys"},"nearest_zone_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Nearest Zone Id"},"nearest_zone_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nearest Zone Key"},"nearest_zone_distance_meters":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Nearest Zone Distance Meters"},"municipality_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Municipality Name"},"province_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Province Name"},"region_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region Name"},"nearby_entity_count":{"type":"integer","title":"Nearby Entity Count","default":0},"nearby_zone_count":{"type":"integer","title":"Nearby Zone Count","default":0},"density_entities_per_sqkm":{"type":"number","title":"Density Entities Per Sqkm","default":0.0},"context_tags":{"items":{"type":"string"},"type":"array","title":"Context Tags"}},"type":"object","required":["latitude","longitude"],"title":"ZonePointIntelligenceRead"},"gismart__osservazioni__schemas__FreschezzaRead":{"properties":{"stato":{"type":"string","enum":["fresco","in_ritardo","fermo","mai_osservato"],"title":"Stato"},"eta_secondi":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Eta Secondi"},"frequenza_attesa_secondi":{"type":"integer","title":"Frequenza Attesa Secondi"},"ultima_osservazione_il":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ultima Osservazione Il"},"messaggio":{"type":"string","title":"Messaggio"},"affidabile":{"type":"boolean","title":"Affidabile"}},"type":"object","required":["stato","frequenza_attesa_secondi","messaggio","affidabile"],"title":"FreschezzaRead"},"gismart__parcheggi__schemas__FreschezzaRead":{"properties":{"stato":{"type":"string","enum":["fresco","in_ritardo","fermo","mai_osservato"],"title":"Stato"},"eta_secondi":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Eta Secondi"},"messaggio":{"type":"string","title":"Messaggio"},"affidabile":{"type":"boolean","title":"Affidabile"}},"type":"object","required":["stato","messaggio","affidabile"],"title":"FreschezzaRead"}}}}