342 lines
244 KiB
XML
342 lines
244 KiB
XML
<?xml version='1.0' encoding='utf-8'?>
|
|
<mxfile host="Electron" agent="Codex" modified="2026-10-13T00:00:00.000Z">
|
|
<diagram name="Modelo relacional do projecto — página única" id="opportunities-erd-complete">
|
|
<mxGraphModel dx="22800" dy="6800" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="22800" pageHeight="6800" math="0" shadow="0">
|
|
<root>
|
|
<mxCell id="0" />
|
|
<mxCell id="1" parent="0" />
|
|
<mxCell id="area_context" parent="1" style="rounded=1;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=12;fontSize=16;fontStyle=1;fontColor=#334155;fillColor=#eff6ff;strokeColor=#93c5fd;dashed=1;opacity=55;" value="CONTEXTO E CLASSIFICAÇÕES" vertex="1">
|
|
<mxGeometry height="3500" width="1240" x="35" y="65" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="area_core" parent="1" style="rounded=1;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=12;fontSize=16;fontStyle=1;fontColor=#334155;fillColor=#f8fafc;strokeColor=#94a3b8;dashed=1;opacity=55;" value="OPORTUNIDADE CENTRAL" vertex="1">
|
|
<mxGeometry height="2200" width="1050" x="1250" y="65" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="area_interest" parent="1" style="rounded=1;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=12;fontSize=16;fontStyle=1;fontColor=#334155;fillColor=#fff7ed;strokeColor=#fdba74;dashed=1;opacity=55;" value=" " vertex="1">
|
|
<mxGeometry height="2500" width="2140" x="2380" y="65" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="area_zones" parent="1" style="rounded=1;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=12;fontSize=16;fontStyle=1;fontColor=#334155;fillColor=#f0fdf4;strokeColor=#86efac;dashed=1;opacity=55;" value="IDENTIDADE DE INVESTIMENTO E ZONAS" vertex="1">
|
|
<mxGeometry height="1280" width="2950" x="2380" y="2600" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="area_dossier" parent="1" style="rounded=1;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=12;fontSize=16;fontStyle=1;fontColor=#334155;fillColor=#faf5ff;strokeColor=#c4b5fd;dashed=1;opacity=55;" value="DOSSIER E RELAÇÕES ESTRUTURAIS" vertex="1">
|
|
<mxGeometry height="1600" width="1050" x="1300" y="2320" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="heading" parent="1" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=24;fontStyle=1;fontColor=#0f172a;" value="Modelo relacional do projecto — fluxo actual de oportunidades e módulos" vertex="1">
|
|
<mxGeometry height="45" width="3800" x="40" y="10" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="legend" parent="1" style="rounded=1;whiteSpace=wrap;html=1;align=left;verticalAlign=middle;spacing=10;strokeColor=#64748b;fillColor=#ffffff;fontColor=#334155;fontSize=13;" value="Cardinalidade nas extremidades: | = exactamente 1; O| = zero ou um; pé-de-galinha = muitos; O + pé-de-galinha = zero ou muitos. Tabelas de ligação representam relações N:M. interest_requests pode apontar para opportunities ou existing_businesses; zonas ligam-se através de investment_items." vertex="1">
|
|
<mxGeometry height="55" width="5200" x="40" y="4120" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_sectors" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="sectors" vertex="1">
|
|
<mxGeometry height="268" width="455" x="100" y="100" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_sectors_attrs" parent="tbl_sectors" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK id bigint name varchar\(150\) slug varchar\(180\) UNIQUE short_description varchar\(255\) NULL description text NULL icon varchar\(100\) NULL sort_order int is_active boolean published_at timestamp NULL created_at, updated_at, deleted_at" vertex="1">
|
|
<mxGeometry height="230" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_opportunity_profiles" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="opportunity_profiles" vertex="1">
|
|
<mxGeometry height="247" width="455" x="1550" y="180" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_opportunity_profiles_attrs" parent="tbl_opportunity_profiles" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK/FK opportunity_id → opportunities.id is_education boolean version int business_model text NULL requirements text NULL risks text NULL target_date date NULL source_reference text NULL created_at, updated_at" vertex="1">
|
|
<mxGeometry height="209" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_opportunities" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="opportunities" vertex="1">
|
|
<mxGeometry height="520" width="455" x="1550" y="1100" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_opportunities_attrs" parent="tbl_opportunities" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK id bigint FK sector_id → sectors.id reference varchar\(80\) UNIQUE title varchar\(200\) slug varchar\(220\) UNIQUE summary varchar\(500\) NULL description text NULL province, district varchar\(100\) NULL promoter_name, promoter_type NULL maturity_level tinyint NULL maturity_label varchar\(120\) NULL estimated_investment_amount decimal\(18,2\) NULL estimated_investment_currency varchar\(10\) financing_modality varchar\(120\) NULL expected_impact text NULL status varchar\(50\) is_featured boolean published_at, last_validated_at NULL FK primary_territory_id → geo_locations.id NULL territory_version int geography_scope: unspecified/specific/multiple/national/digital created_at, updated_at, deleted_at" vertex="1">
|
|
<mxGeometry height="482" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_opportunity_projects" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="opportunity_projects" vertex="1">
|
|
<mxGeometry height="100" width="455" x="750" y="800" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_opportunity_projects_attrs" parent="tbl_opportunity_projects" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK/FK opportunity_id → opportunities.id PK/FK project_id → projects.id" vertex="1">
|
|
<mxGeometry height="62" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_opportunity_clusters" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="opportunity_clusters" vertex="1">
|
|
<mxGeometry height="100" width="455" x="750" y="1400" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_opportunity_clusters_attrs" parent="tbl_opportunity_clusters" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK/FK opportunity_id → opportunities.id PK/FK cluster_id → economic_clusters.id" vertex="1">
|
|
<mxGeometry height="62" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_opportunity_corridors" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="opportunity_corridors" vertex="1">
|
|
<mxGeometry height="100" width="455" x="750" y="2000" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_opportunity_corridors_attrs" parent="tbl_opportunity_corridors" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK/FK opportunity_id → opportunities.id PK/FK corridor_id → development_corridors.id" vertex="1">
|
|
<mxGeometry height="62" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_opportunity_locations" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="opportunity_locations" vertex="1">
|
|
<mxGeometry height="100" width="455" x="750" y="2600" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_opportunity_locations_attrs" parent="tbl_opportunity_locations" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK/FK opportunity_id → opportunities.id PK/FK geo_location_id → geo_locations.id" vertex="1">
|
|
<mxGeometry height="62" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_opportunity_facets" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="opportunity_facets" vertex="1">
|
|
<mxGeometry height="100" width="455" x="750" y="3200" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_opportunity_facets_attrs" parent="tbl_opportunity_facets" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK/FK opportunity_id → opportunities.id PK/FK option_id → investment_reference_options.id" vertex="1">
|
|
<mxGeometry height="62" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_interest_requests" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="interest_requests" vertex="1">
|
|
<mxGeometry height="520" width="455" x="2500" y="1100" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_interest_requests_attrs" parent="tbl_interest_requests" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK id bigint FK opportunity_id → opportunities.id NULL reference varchar\(80\) UNIQUE full_name, email, phone investor_type, country, sector_interest opportunity_reference, investment_range NULL message text privacy_consent boolean consented_at timestamp NULL status varchar\(50\) source_page, ip_address, user_agent NULL metadata jsonb NULL reviewed_at timestamp NULL FK reviewed_by → users.id NULL integration_id uuid UNIQUE NULL FK existing_business_id → existing_businesses.id NULL FK investor_id → investors.id NULL modality, requested_percentage NULL ticket_min, ticket_max, ticket_currency NULL FK assigned_to → users.id NULL next_action, next_action_due_at NULL created_at, updated_at, deleted_at" vertex="1">
|
|
<mxGeometry height="482" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_investors" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="investors" vertex="1">
|
|
<mxGeometry height="247" width="455" x="3200" y="400" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_investors_attrs" parent="tbl_investors" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK id uuid organization_id uuid NULL legal_name text investor_type: domestic/foreign/institutional/individual status: prospect/active/inactive source_system, external_id version_no, data_classification correlation_id uuid NULL created_at, updated_at, deleted_at" vertex="1">
|
|
<mxGeometry height="209" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_users" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="users" vertex="1">
|
|
<mxGeometry height="226" width="455" x="3900" y="1000" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_users_attrs" parent="tbl_users" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK id bigint name email UNIQUE email_verified_at NULL password remember_token NULL created_at, updated_at \(utilizador da aplicação\)" vertex="1">
|
|
<mxGeometry height="188" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_existing_businesses" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="existing_businesses" vertex="1">
|
|
<mxGeometry height="310" width="455" x="3900" y="1800" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_existing_businesses_attrs" parent="tbl_existing_businesses" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK id uuid code UNIQUE source_system, legacy_id NULL FK owner_user_id → users.id organization_id uuid NULL FK investment_item_id → investment_items.id UNIQUE NULL modality status: draft classification version_no int payload text created_at, updated_at, deleted_at" vertex="1">
|
|
<mxGeometry height="272" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_opportunity_favourites" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="opportunity_favourites" vertex="1">
|
|
<mxGeometry height="121" width="455" x="2500" y="1850" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_opportunity_favourites_attrs" parent="tbl_opportunity_favourites" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK/FK user_id → users.id PK/FK opportunity_id → opportunities.id created_at, updated_at" vertex="1">
|
|
<mxGeometry height="83" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_investment_submissions" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="investment_submissions" vertex="1">
|
|
<mxGeometry height="268" width="455" x="3200" y="2200" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_investment_submissions_attrs" parent="tbl_investment_submissions" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK id uuid FK user_id → users.id FK opportunity_id → opportunities.id NULL FK dossier_id → investment_dossiers.id NULL FK interest_request_id → interest_requests.id UNIQUE NULL payload text status: draft/submitted version int created_at, updated_at CHECK: opportunity_id ou dossier_id, no máximo um" vertex="1">
|
|
<mxGeometry height="230" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_investment_dossiers" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="investment_dossiers" vertex="1">
|
|
<mxGeometry height="310" width="455" x="1550" y="3600" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_investment_dossiers_attrs" parent="tbl_investment_dossiers" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK id uuid FK project_id → projects.id UNIQUE NULL FK cluster_id → economic_clusters.id UNIQUE NULL FK corridor_id → development_corridors.id UNIQUE NULL title content jsonb source text publication_status: draft/published FK editor_id, reviewer_id → users.id NULL approval_evidence, published_at NULL created_at, updated_at, deleted_at CHECK: exactamente uma entidade alvo" vertex="1">
|
|
<mxGeometry height="272" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_investment_item_opportunities" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="investment_item_opportunities" vertex="1">
|
|
<mxGeometry height="142" width="455" x="2500" y="3250" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_investment_item_opportunities_attrs" parent="tbl_investment_item_opportunities" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK/FK item_id → investment_items.id PK/FK opportunity_id → opportunities.id UNIQUE mapping_evidence text created_at, updated_at" vertex="1">
|
|
<mxGeometry height="104" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_investment_items" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="investment_items" vertex="1">
|
|
<mxGeometry height="205" width="455" x="3200" y="3250" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_investment_items_attrs" parent="tbl_investment_items" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK id uuid code UNIQUE title kind validation_status version_no int created_at, updated_at" vertex="1">
|
|
<mxGeometry height="167" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_investment_zone_links" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="investment_zone_links" vertex="1">
|
|
<mxGeometry height="310" width="455" x="3900" y="3250" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_investment_zone_links_attrs" parent="tbl_investment_zone_links" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK id uuid FK item_id → investment_items.id FK zone_id → investment_zones.id association_type: official/influence/proximity/potential/historical validation_status: pending/validated/revoked source_reference text legal_source_id uuid NULL valid_from, valid_until NULL editor_id, validator_id NULL version_no int created_at, updated_at UNIQUE \(item_id, zone_id\)" vertex="1">
|
|
<mxGeometry height="272" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_investment_zones" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="investment_zones" vertex="1">
|
|
<mxGeometry height="310" width="455" x="4600" y="3250" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_investment_zones_attrs" parent="tbl_investment_zones" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK id uuid code UNIQUE category: zee/zfi/industrial_park/pending name, name_en NULL description, description_en NULL province, district NULL operator_id, legal_source_id NULL publication_status, validation_status editor_id, reviewer_id NULL published_at NULL version_no int created_at, updated_at, deleted_at" vertex="1">
|
|
<mxGeometry height="272" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_projects" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="projects" vertex="1">
|
|
<mxGeometry height="352" width="455" x="100" y="674" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_projects_attrs" parent="tbl_projects" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK id uuid source_system, external_id version_no int data_classification correlation_id uuid NULL code, name, status description text NULL budget_amount numeric\(20,2\) NULL budget_currency char\(3\) NULL start_date, end_date date NULL metadata jsonb primary_territory_id uuid NULL territory_version int created_at, updated_at, deleted_at" vertex="1">
|
|
<mxGeometry height="314" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_economic_clusters" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="economic_clusters" vertex="1">
|
|
<mxGeometry height="268" width="455" x="100" y="1316" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_economic_clusters_attrs" parent="tbl_economic_clusters" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK id uuid source_system, external_id version_no int data_classification correlation_id uuid NULL code, name, sector, status metadata jsonb primary_territory_id uuid NULL territory_version int created_at, updated_at, deleted_at" vertex="1">
|
|
<mxGeometry height="230" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_development_corridors" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="development_corridors" vertex="1">
|
|
<mxGeometry height="268" width="455" x="100" y="1916" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_development_corridors_attrs" parent="tbl_development_corridors" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK id uuid source_system, external_id version_no int data_classification correlation_id uuid NULL code, name, status description text NULL primary_territory_id uuid NULL territory_version int created_at, updated_at, deleted_at" vertex="1">
|
|
<mxGeometry height="230" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_geo_locations" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="geo_locations" vertex="1">
|
|
<mxGeometry height="268" width="455" x="100" y="2516" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_geo_locations_attrs" parent="tbl_geo_locations" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK id uuid source_system, external_id version_no int data_classification correlation_id uuid NULL name text location_type: country/province/district/municipality/site FK parent_id → geo_locations.id NULL code text created_at, updated_at, deleted_at" vertex="1">
|
|
<mxGeometry height="230" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_investment_reference_options" parent="1" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" value="investment_reference_options" vertex="1">
|
|
<mxGeometry height="247" width="455" x="100" y="3127" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tbl_investment_reference_options_attrs" parent="tbl_investment_reference_options" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" value="PK id bigint group varchar code varchar label varchar active boolean requires_description boolean sort_order int created_at, updated_at UNIQUE \(group, code\)" vertex="1">
|
|
<mxGeometry height="209" width="455" y="38" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_0" edge="1" parent="1" source="tbl_sectors" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=0.5;exitY=0;entryX=0.2;entryY=0;" target="tbl_opportunities" value="">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="327" y="70" />
|
|
<mxPoint x="2200" y="70" />
|
|
<mxPoint x="2200" y="1050" />
|
|
<mxPoint x="1641" y="1050" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="rel_1" edge="1" parent="1" source="tbl_opportunity_profiles" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToOne;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" target="tbl_opportunities" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_2" edge="1" parent="1" source="tbl_opportunities" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=0;exitY=0.106;entryX=1;entryY=0.5;" target="tbl_opportunity_locations" value="">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="1260" y="1155" />
|
|
<mxPoint x="1260" y="2650" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="rel_3" edge="1" parent="1" source="tbl_geo_locations" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="tbl_opportunity_locations" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_4" edge="1" parent="1" source="tbl_opportunities" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=0;exitY=0.298;entryX=1;entryY=0.5;" target="tbl_opportunity_projects" value="">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="1320" y="1255" />
|
|
<mxPoint x="1320" y="850" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="rel_5" edge="1" parent="1" source="tbl_projects" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="tbl_opportunity_projects" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_6" edge="1" parent="1" source="tbl_opportunities" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=0;exitY=0.490;entryX=1;entryY=0.5;" target="tbl_opportunity_clusters" value="">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="1380" y="1355" />
|
|
<mxPoint x="1380" y="1450" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="rel_7" edge="1" parent="1" source="tbl_economic_clusters" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="tbl_opportunity_clusters" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_8" edge="1" parent="1" source="tbl_opportunities" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=0;exitY=0.683;entryX=1;entryY=0.5;" target="tbl_opportunity_corridors" value="">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="1440" y="1455" />
|
|
<mxPoint x="1440" y="2050" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="rel_9" edge="1" parent="1" source="tbl_development_corridors" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="tbl_opportunity_corridors" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_10" edge="1" parent="1" source="tbl_opportunities" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=0;exitY=0.875;entryX=1;entryY=0.5;" target="tbl_opportunity_facets" value="">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="1500" y="1555" />
|
|
<mxPoint x="1500" y="3250" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="rel_11" edge="1" parent="1" source="tbl_investment_reference_options" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="tbl_opportunity_facets" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_12" edge="1" parent="1" source="tbl_opportunities" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERzeroToOne;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="tbl_interest_requests" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_13" edge="1" parent="1" source="tbl_investors" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERzeroToOne;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=0;exitY=0.5;entryX=1;entryY=0.2;" target="tbl_interest_requests" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_14" edge="1" parent="1" source="tbl_users" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=0;exitY=0.3;entryX=1;entryY=0.5;" target="tbl_opportunity_favourites" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_15" edge="1" parent="1" source="tbl_opportunities" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=1;exitY=0.8;entryX=0;entryY=0.5;" target="tbl_opportunity_favourites" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_16" edge="1" parent="1" source="tbl_users" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=0;exitY=0.7;entryX=1;entryY=0.5;" target="tbl_investment_submissions" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_17" edge="1" parent="1" source="tbl_opportunities" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERzeroToOne;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=1;exitY=0.95;entryX=0;entryY=0.2;" target="tbl_investment_submissions" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_18" edge="1" parent="1" source="tbl_investment_dossiers" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERzeroToOne;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=1;exitY=0.5;entryX=0;entryY=0.8;" target="tbl_investment_submissions" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_19" edge="1" parent="1" source="tbl_interest_requests" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERzeroToOne;startFill=0;startSize=10;endArrow=ERzeroToOne;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=1;exitY=0.8;entryX=0;entryY=0.5;" target="tbl_investment_submissions" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_20" edge="1" parent="1" source="tbl_projects" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERzeroToOne;startFill=0;startSize=10;endArrow=ERzeroToOne;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=0;exitY=0.5;entryX=0;entryY=0.18;" target="tbl_investment_dossiers" value="">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="40" y="850" />
|
|
<mxPoint x="40" y="3660" />
|
|
<mxPoint x="1550" y="3660" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="rel_21" edge="1" parent="1" source="tbl_economic_clusters" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERzeroToOne;startFill=0;startSize=10;endArrow=ERzeroToOne;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=0;exitY=0.5;entryX=0;entryY=0.5;" target="tbl_investment_dossiers" value="">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="55" y="1450" />
|
|
<mxPoint x="55" y="3750" />
|
|
<mxPoint x="1550" y="3750" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="rel_22" edge="1" parent="1" source="tbl_development_corridors" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERzeroToOne;startFill=0;startSize=10;endArrow=ERzeroToOne;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=0;exitY=0.5;entryX=0;entryY=0.82;" target="tbl_investment_dossiers" value="">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="70" y="2050" />
|
|
<mxPoint x="70" y="3840" />
|
|
<mxPoint x="1550" y="3840" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="rel_23" edge="1" parent="1" source="tbl_opportunities" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToOne;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=1;exitY=0.95;entryX=0;entryY=0.5;" target="tbl_investment_item_opportunities" value="">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="2290" y="1360" />
|
|
<mxPoint x="2290" y="3370" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="rel_24" edge="1" parent="1" source="tbl_investment_items" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=0;exitY=0.5;entryX=1;entryY=0.5;" target="tbl_investment_item_opportunities" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_25" edge="1" parent="1" source="tbl_investment_items" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="tbl_investment_zone_links" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_26" edge="1" parent="1" source="tbl_investment_zones" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=0;exitY=0.5;entryX=1;entryY=0.5;" target="tbl_investment_zone_links" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_27" edge="1" parent="1" source="tbl_geo_locations" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERzeroToOne;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=0.5;exitY=1;entryX=0.35;entryY=1;" target="tbl_opportunities" value="">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="327" y="2850" />
|
|
<mxPoint x="1530" y="2850" />
|
|
<mxPoint x="1530" y="1665" />
|
|
<mxPoint x="1710" y="1665" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="rel_28" edge="1" parent="1" source="tbl_geo_locations" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERzeroToOne;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=0.5;exitY=0;entryX=0.85;entryY=0;" target="tbl_geo_locations" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_29" edge="1" parent="1" source="tbl_users" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERzeroToOne;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=0;exitY=0.3;entryX=1;entryY=0.8;" target="tbl_interest_requests" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_30" edge="1" parent="1" source="tbl_existing_businesses" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERzeroToOne;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=0;exitY=0.3;entryX=1;entryY=0.95;" target="tbl_interest_requests" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_31" edge="1" parent="1" source="tbl_users" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" target="tbl_existing_businesses" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="rel_32" edge="1" parent="1" source="tbl_investment_items" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERzeroToOne;startFill=0;startSize=10;endArrow=ERzeroToOne;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;exitX=1;exitY=0.2;entryX=0;entryY=0.8;" target="tbl_existing_businesses" value="">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="3800" y="1950" />
|
|
<mxPoint x="3800" y="3370" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="area_1" value="SUBMISSÕES E CARTEIRA DE INVESTIMENTO" style="rounded=1;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=12;fontSize=16;fontStyle=1;fontColor=#334155;fillColor=#eff6ff;strokeColor=#93c5fd;dashed=1;opacity=45;" vertex="1" parent="1"><mxGeometry x="5715" y="205" width="2680" height="2085" as="geometry" /></mxCell><mxCell id="heading_1" value="Modelo de dados — Submissões e carteira de investimento" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=24;fontStyle=1;fontColor=#0f172a;" vertex="1" parent="1"><mxGeometry x="5735" y="108" width="2600" height="45" as="geometry" /></mxCell><mxCell id="note_1" value="As entidades e referências abaixo vêm das migrations e do manifesto de esquema. FKs para entidades do diagrama principal ou de outra página ficam identificadas no campo." style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=11;fontColor=#475569;" vertex="1" parent="1"><mxGeometry x="5735" y="158" width="2600" height="42" as="geometry" /></mxCell><mxCell id="new_1_0" value="interest_submission_receipts" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="5745" y="265" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_1_0_attrs" value="PK key_hash char payload_hash char FK → interest_requests.id interest_request_id bigint created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_1_0"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_1_1" value="investment_accounts" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="6395" y="265" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_1_1_attrs" value="PK FK → users.id user_id bigint payload text version integer created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_1_1"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_1_2" value="investment_company_declarations" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="7045" y="265" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_1_2_attrs" value="PK id uuid FK → users.id user_id bigint payload text version integer created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_1_2"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_1_3" value="investment_gaps" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="7695" y="265" width="455" height="246" as="geometry" /></mxCell><mxCell id="new_1_3_attrs" value="PK id uuid FK → economic_clusters.id cluster_id uuid FK → value_chains.id value_chain_id uuid title varchar location text required_capacity text rationale text status varchar call_to_action text created_at timestamptz NULL updated_at timestamptz NULL deleted_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_1_3"><mxGeometry x="0" y="38" width="455" height="208" as="geometry" /></mxCell><mxCell id="new_1_4" value="investment_messages" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="5745" y="546.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_1_4_attrs" value="PK id uuid FK → investment_submissions.id UNIQUE submission_id uuid FK → users.id UNIQUE actor_id bigint UNIQUE client_key uuid sender_role varchar body text UNIQUE created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_1_4"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_1_5" value="investment_notifications" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="6395" y="546.0" width="455" height="178" as="geometry" /></mxCell><mxCell id="new_1_5_attrs" value="PK id uuid FK → users.id UNIQUE user_id bigint FK → investment_submissions.id submission_id uuid kind varchar payload text UNIQUE event_key varchar read_at timestamptz NULL UNIQUE created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_1_5"><mxGeometry x="0" y="38" width="455" height="140" as="geometry" /></mxCell><mxCell id="new_1_6" value="investment_specific_needs" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="7045" y="546.0" width="455" height="229" as="geometry" /></mxCell><mxCell id="new_1_6_attrs" value="PK id bigint FK → investment_submissions.id submission_id uuid FK → investment_reference_options.id category_id bigint FK → investment_reference_options.id option_id bigint FK → investment_reference_options.id NULL unit_id bigint NULL FK → investment_reference_options.id NULL priority_id bigint NULL quantity numeric NULL deadline date NULL details text created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_1_6"><mxGeometry x="0" y="38" width="455" height="191" as="geometry" /></mxCell><mxCell id="new_1_7" value="investment_submission_events" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="7695" y="546.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_1_7_attrs" value="PK id bigint FK → investment_submissions.id submission_id uuid FK → users.id actor_id bigint action varchar version integer created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_1_7"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_1_8" value="investment_submission_revisions" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="5745" y="810.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_1_8_attrs" value="PK id bigint FK → investment_submissions.id UNIQUE submission_id uuid UNIQUE version integer snapshot text UNIQUE created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_1_8"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_1_9" value="investment_submission_zones" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="6395" y="810.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_1_9_attrs" value="PK FK → investment_submissions.id submission_id uuid FK → investment_zones.id zone_id uuid zone_version integer intent varchar created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_1_9"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_1_10" value="investor_accounts" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="7045" y="810.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_1_10_attrs" value="PK FK → users.id user_id bigint FK → investors.id UNIQUE investor_id uuid created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_1_10"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="area_2" value="PROJECTOS, TERRITÓRIO E CATÁLOGOS" style="rounded=1;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=12;fontSize=16;fontStyle=1;fontColor=#334155;fillColor=#eff6ff;strokeColor=#93c5fd;dashed=1;opacity=45;" vertex="1" parent="1"><mxGeometry x="8565" y="205" width="2680" height="2085" as="geometry" /></mxCell><mxCell id="heading_2" value="Modelo de dados — Projectos, território e catálogos" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=24;fontStyle=1;fontColor=#0f172a;" vertex="1" parent="1"><mxGeometry x="8585" y="108" width="2600" height="45" as="geometry" /></mxCell><mxCell id="note_2" value="As entidades e referências abaixo vêm das migrations e do manifesto de esquema. FKs para entidades do diagrama principal ou de outra página ficam identificadas no campo." style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=11;fontColor=#475569;" vertex="1" parent="1"><mxGeometry x="8585" y="158" width="2600" height="42" as="geometry" /></mxCell><mxCell id="new_2_0" value="anchor_project_links" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="8595" y="265" width="455" height="246" as="geometry" /></mxCell><mxCell id="new_2_0_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → projects.id UNIQUE anchor_project_id uuid FK → economic_clusters.id UNIQUE cluster_id uuid rationale text" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_2_0"><mxGeometry x="0" y="38" width="455" height="208" as="geometry" /></mxCell><mxCell id="new_2_1" value="authorities" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="9245" y="265" width="455" height="280" as="geometry" /></mxCell><mxCell id="new_2_1_attrs" value="PK id uuid FK → reference_catalog_versions.id UNIQUE catalog_version_id uuid FK → organizations.id organization_id uuid FK → geo_locations.id NULL jurisdiction_id uuid NULL UNIQUE code varchar authority_type varchar label_pt_mz varchar source_reference text version_no integer valid_from date valid_to date NULL status varchar created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_2_1"><mxGeometry x="0" y="38" width="455" height="242" as="geometry" /></mxCell><mxCell id="new_2_2" value="cluster_projects" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="9895" y="265" width="455" height="246" as="geometry" /></mxCell><mxCell id="new_2_2_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → economic_clusters.id UNIQUE cluster_id uuid FK → projects.id UNIQUE project_id uuid role text" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_2_2"><mxGeometry x="0" y="38" width="455" height="208" as="geometry" /></mxCell><mxCell id="new_2_3" value="complementary_project_links" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="10545" y="265" width="455" height="246" as="geometry" /></mxCell><mxCell id="new_2_3_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → projects.id UNIQUE anchor_project_id uuid FK → projects.id UNIQUE complementary_project_id uuid UNIQUE relation_type text" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_2_3"><mxGeometry x="0" y="38" width="455" height="208" as="geometry" /></mxCell><mxCell id="new_2_4" value="corridor_clusters" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="8595" y="580.0" width="455" height="229" as="geometry" /></mxCell><mxCell id="new_2_4_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → development_corridors.id UNIQUE corridor_id uuid FK → economic_clusters.id UNIQUE cluster_id uuid" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_2_4"><mxGeometry x="0" y="38" width="455" height="191" as="geometry" /></mxCell><mxCell id="new_2_5" value="corridor_locations" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="9245" y="580.0" width="455" height="246" as="geometry" /></mxCell><mxCell id="new_2_5_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → development_corridors.id UNIQUE corridor_id uuid FK → geo_locations.id UNIQUE geo_location_id uuid UNIQUE sequence_no integer" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_2_5"><mxGeometry x="0" y="38" width="455" height="208" as="geometry" /></mxCell><mxCell id="new_2_6" value="corridor_projects" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="9895" y="580.0" width="455" height="229" as="geometry" /></mxCell><mxCell id="new_2_6_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → development_corridors.id UNIQUE corridor_id uuid FK → projects.id UNIQUE project_id uuid" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_2_6"><mxGeometry x="0" y="38" width="455" height="191" as="geometry" /></mxCell><mxCell id="new_2_7" value="economic_activities" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="10545" y="580.0" width="455" height="263" as="geometry" /></mxCell><mxCell id="new_2_7_attrs" value="PK UNIQUE id uuid FK → reference_catalog_versions.id UNIQUE catalog_version_id uuid parent_id uuid NULL FK → sectors.id sector_id bigint UNIQUE code varchar label_pt_mz varchar description_pt_mz text NULL version_no integer valid_from date valid_to date NULL status varchar created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_2_7"><mxGeometry x="0" y="38" width="455" height="225" as="geometry" /></mxCell><mxCell id="new_2_8" value="geo_geometries" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="8595" y="878.0" width="455" height="263" as="geometry" /></mxCell><mxCell id="new_2_8_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → geo_locations.id UNIQUE geo_location_id uuid UNIQUE geometry_type text geom geometry properties jsonb" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_2_8"><mxGeometry x="0" y="38" width="455" height="225" as="geometry" /></mxCell><mxCell id="new_2_9" value="geo_names" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="9245" y="878.0" width="455" height="178" as="geometry" /></mxCell><mxCell id="new_2_9_attrs" value="PK id uuid FK → geo_locations.id UNIQUE geo_location_id uuid UNIQUE language varchar name varchar UNIQUE normalized_name varchar official boolean created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_2_9"><mxGeometry x="0" y="38" width="455" height="140" as="geometry" /></mxCell><mxCell id="new_2_10" value="geo_sources" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="9895" y="878.0" width="455" height="297" as="geometry" /></mxCell><mxCell id="new_2_10_attrs" value="PK id uuid name varchar responsible_entity varchar NULL reference text license text NULL UNIQUE checksum char UNIQUE source_version varchar collected_at date original_crs varchar NULL status varchar FK → users.id editor_id bigint FK → users.id NULL reviewer_id bigint NULL approval_reference text NULL created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_2_10"><mxGeometry x="0" y="38" width="455" height="259" as="geometry" /></mxCell><mxCell id="new_2_11" value="geo_territory_profiles" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="10545" y="878.0" width="455" height="263" as="geometry" /></mxCell><mxCell id="new_2_11_attrs" value="PK FK → geo_locations.id geo_location_id uuid FK → geo_sources.id source_id uuid UNIQUE iso2 char NULL UNIQUE iso3 char NULL FK → geo_locations.id NULL capital_territory_id uuid NULL valid_from date valid_to date NULL status varchar FK → users.id editor_id bigint FK → users.id NULL reviewer_id bigint NULL FK → users.id NULL publisher_id bigint NULL created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_2_11"><mxGeometry x="0" y="38" width="455" height="225" as="geometry" /></mxCell><mxCell id="new_2_12" value="geo_territory_revisions" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="8595" y="1210.0" width="455" height="178" as="geometry" /></mxCell><mxCell id="new_2_12_attrs" value="PK id uuid FK → geo_locations.id UNIQUE geo_location_id uuid UNIQUE version_no integer FK → users.id actor_id bigint reason text snapshot text checksum char UNIQUE created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_2_12"><mxGeometry x="0" y="38" width="455" height="140" as="geometry" /></mxCell><mxCell id="new_2_13" value="geo_write_receipts" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="9245" y="1210.0" width="455" height="178" as="geometry" /></mxCell><mxCell id="new_2_13_attrs" value="PK id uuid FK → users.id UNIQUE actor_id bigint UNIQUE idempotency_key uuid UNIQUE scope varchar request_hash char response text http_status integer UNIQUE created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_2_13"><mxGeometry x="0" y="38" width="455" height="140" as="geometry" /></mxCell><mxCell id="new_2_14" value="project_locations" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="9895" y="1210.0" width="455" height="246" as="geometry" /></mxCell><mxCell id="new_2_14_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → projects.id UNIQUE project_id uuid FK → geo_locations.id UNIQUE geo_location_id uuid UNIQUE role text" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_2_14"><mxGeometry x="0" y="38" width="455" height="208" as="geometry" /></mxCell><mxCell id="new_2_15" value="reference_catalog_versions" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="10545" y="1210.0" width="455" height="263" as="geometry" /></mxCell><mxCell id="new_2_15_attrs" value="PK id uuid UNIQUE catalog_code varchar UNIQUE version_no integer UNIQUE locale varchar source_system varchar source_version varchar source_reference text source_sha256 char NULL valid_from date NULL valid_to date NULL status varchar created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_2_15"><mxGeometry x="0" y="38" width="455" height="225" as="geometry" /></mxCell><mxCell id="new_2_16" value="value_chain_links" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="8595" y="1508.0" width="455" height="246" as="geometry" /></mxCell><mxCell id="new_2_16_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → value_chains.id UNIQUE from_value_chain_id uuid FK → value_chains.id UNIQUE to_value_chain_id uuid UNIQUE link_type text" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_2_16"><mxGeometry x="0" y="38" width="455" height="208" as="geometry" /></mxCell><mxCell id="new_2_17" value="value_chains" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="9245" y="1508.0" width="455" height="263" as="geometry" /></mxCell><mxCell id="new_2_17_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → economic_clusters.id UNIQUE cluster_id uuid UNIQUE code text name text stage text" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_2_17"><mxGeometry x="0" y="38" width="455" height="225" as="geometry" /></mxCell><mxCell id="newrel_2_1" edge="1" parent="1" source="new_2_15" target="new_2_1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_2_2" edge="1" parent="1" source="new_2_15" target="new_2_7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_2_3" edge="1" parent="1" source="new_2_10" target="new_2_11" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_2_4" edge="1" parent="1" source="new_2_17" target="new_2_16" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_2_5" edge="1" parent="1" source="new_2_17" target="new_2_16" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="area_3" value="ZONAS E FONTES LEGAIS" style="rounded=1;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=12;fontSize=16;fontStyle=1;fontColor=#334155;fillColor=#eff6ff;strokeColor=#93c5fd;dashed=1;opacity=45;" vertex="1" parent="1"><mxGeometry x="11415" y="205" width="2680" height="2085" as="geometry" /></mxCell><mxCell id="heading_3" value="Modelo de dados — Zonas e fontes legais" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=24;fontStyle=1;fontColor=#0f172a;" vertex="1" parent="1"><mxGeometry x="11435" y="108" width="2600" height="45" as="geometry" /></mxCell><mxCell id="note_3" value="As entidades e referências abaixo vêm das migrations e do manifesto de esquema. FKs para entidades do diagrama principal ou de outra página ficam identificadas no campo." style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=11;fontColor=#475569;" vertex="1" parent="1"><mxGeometry x="11435" y="158" width="2600" height="42" as="geometry" /></mxCell><mxCell id="new_3_0" value="investment_item_projects" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="11445" y="265" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_3_0_attrs" value="PK FK → investment_items.id item_id uuid PK FK → projects.id project_id uuid mapping_evidence text created_at timestamptz updated_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_3_0"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_3_1" value="investment_legal_sources" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="12095" y="265" width="455" height="297" as="geometry" /></mxCell><mxCell id="new_3_1_attrs" value="PK id uuid title varchar url text diploma varchar article varchar competent_entity varchar valid_from date valid_until date NULL validation_status varchar FK → users.id owner_id bigint FK → users.id NULL validator_id bigint NULL validated_at timestamptz NULL version_no integer created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_3_1"><mxGeometry x="0" y="38" width="455" height="259" as="geometry" /></mxCell><mxCell id="new_3_2" value="investment_zone_attachment_events" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="12745" y="265" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_3_2_attrs" value="PK id uuid FK → investment_zone_attachments.id attachment_id uuid FK → users.id actor_id bigint action varchar version_no integer metadata jsonb created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_3_2"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_3_3" value="investment_zone_attachments" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="13395" y="265" width="455" height="399" as="geometry" /></mxCell><mxCell id="new_3_3_attrs" value="PK id uuid FK → investment_zones.id zone_id uuid FK → documents.id UNIQUE document_id uuid kind varchar caption varchar source_reference text source_date date NULL rights_status varchar rights_basis text NULL personal_data_status varchar review_status varchar FK → users.id uploaded_by bigint FK → users.id NULL reviewed_by bigint NULL reviewed_at timestamptz NULL independent_review boolean publicly_selected boolean publicly_selected_at timestamptz NULL FK → users.id NULL publicly_selected_by bigint NULL version_no integer created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_3_3"><mxGeometry x="0" y="38" width="455" height="361" as="geometry" /></mxCell><mxCell id="new_3_4" value="investment_zone_geometries" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="11445" y="699.0" width="455" height="263" as="geometry" /></mxCell><mxCell id="new_3_4_attrs" value="PK id uuid FK → investment_zones.id UNIQUE zone_id uuid FK → geo_geometries.id UNIQUE geometry_id uuid FK → investment_legal_sources.id NULL legal_source_id uuid NULL purpose varchar source_reference text validating_entity varchar observed_at date publication_authorized boolean validation_status varchar version_no integer created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_3_4"><mxGeometry x="0" y="38" width="455" height="225" as="geometry" /></mxCell><mxCell id="new_3_5" value="investment_zone_locations" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="12095" y="699.0" width="455" height="280" as="geometry" /></mxCell><mxCell id="new_3_5_attrs" value="PK id uuid FK → investment_zones.id UNIQUE zone_id uuid FK → geo_locations.id UNIQUE geo_location_id uuid UNIQUE scope_type varchar source_reference text FK → investment_legal_sources.id NULL legal_source_id uuid NULL valid_from date NULL valid_until date NULL validation_status varchar FK → users.id editor_id bigint FK → users.id NULL reviewer_id bigint NULL version_no integer created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_3_5"><mxGeometry x="0" y="38" width="455" height="242" as="geometry" /></mxCell><mxCell id="new_3_6" value="investment_zone_relations" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="12745" y="699.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_3_6_attrs" value="PK id uuid FK → investment_zones.id zone_id uuid FK → economic_clusters.id NULL cluster_id uuid NULL FK → development_corridors.id NULL corridor_id uuid NULL FK → projects.id NULL project_id uuid NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_3_6"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_3_7" value="investment_zone_revisions" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="13395" y="699.0" width="455" height="178" as="geometry" /></mxCell><mxCell id="new_3_7_attrs" value="PK id uuid FK → investment_zones.id UNIQUE zone_id uuid UNIQUE version_no integer FK → users.id actor_id bigint action varchar snapshot text sha256 char UNIQUE created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_3_7"><mxGeometry x="0" y="38" width="455" height="140" as="geometry" /></mxCell><mxCell id="newrel_3_1" edge="1" parent="1" source="new_3_3" target="new_3_2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_3_2" edge="1" parent="1" source="new_3_1" target="new_3_4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_3_3" edge="1" parent="1" source="new_3_1" target="new_3_5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="area_4" value="NEGÓCIOS EXISTENTES E ASSISTÊNCIA FUNDIÁRIA" style="rounded=1;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=12;fontSize=16;fontStyle=1;fontColor=#334155;fillColor=#eff6ff;strokeColor=#93c5fd;dashed=1;opacity=45;" vertex="1" parent="1"><mxGeometry x="14265" y="205" width="2680" height="2085" as="geometry" /></mxCell><mxCell id="heading_4" value="Modelo de dados — Negócios existentes e assistência fundiária" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=24;fontStyle=1;fontColor=#0f172a;" vertex="1" parent="1"><mxGeometry x="14285" y="108" width="2600" height="45" as="geometry" /></mxCell><mxCell id="note_4" value="As entidades e referências abaixo vêm das migrations e do manifesto de esquema. FKs para entidades do diagrama principal ou de outra página ficam identificadas no campo." style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=11;fontColor=#475569;" vertex="1" parent="1"><mxGeometry x="14285" y="158" width="2600" height="42" as="geometry" /></mxCell><mxCell id="new_4_0" value="business_workflow_transitions" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="14295" y="265" width="455" height="212" as="geometry" /></mxCell><mxCell id="new_4_0_attrs" value="PK id uuid FK → existing_businesses.id NULL existing_business_id uuid NULL FK → interest_requests.id NULL interest_request_id bigint NULL from_status varchar NULL to_status varchar FK → users.id NULL actor_id bigint NULL reason text NULL correlation_id uuid metadata jsonb created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_4_0"><mxGeometry x="0" y="38" width="455" height="174" as="geometry" /></mxCell><mxCell id="new_4_1" value="existing_business_document_links" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="14945" y="265" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_4_1_attrs" value="PK id uuid FK → existing_businesses.id NULL UNIQUE existing_business_id uuid NULL FK → interest_requests.id NULL UNIQUE interest_request_id bigint NULL FK → documents.id UNIQUE document_id uuid FK → users.id NULL uploaded_by bigint NULL created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_4_1"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_4_2" value="existing_business_locations" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="15595" y="265" width="455" height="229" as="geometry" /></mxCell><mxCell id="new_4_2_attrs" value="PK id uuid FK → existing_businesses.id existing_business_id uuid FK → geo_locations.id NULL province_id uuid NULL FK → geo_locations.id NULL district_id uuid NULL FK → geo_locations.id NULL admin_post_id uuid NULL FK → geo_locations.id NULL locality_id uuid NULL precision_level varchar is_primary boolean is_public boolean created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_4_2"><mxGeometry x="0" y="38" width="455" height="191" as="geometry" /></mxCell><mxCell id="new_4_3" value="existing_business_mandates" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="16245" y="265" width="455" height="212" as="geometry" /></mxCell><mxCell id="new_4_3_attrs" value="PK id uuid FK → existing_businesses.id business_id uuid FK → users.id representative_user_id bigint FK → documents.id document_id uuid valid_from date valid_until date verification_status varchar payload text created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_4_3"><mxGeometry x="0" y="38" width="455" height="174" as="geometry" /></mxCell><mxCell id="new_4_4" value="existing_business_objects" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="14295" y="529.0" width="455" height="178" as="geometry" /></mxCell><mxCell id="new_4_4_attrs" value="PK id uuid FK → existing_businesses.id business_id uuid kind varchar classification varchar verification_status varchar payload text created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_4_4"><mxGeometry x="0" y="38" width="455" height="140" as="geometry" /></mxCell><mxCell id="new_4_5" value="existing_business_reviews" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="14945" y="529.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_4_5_attrs" value="PK id uuid FK → existing_businesses.id UNIQUE business_id uuid FK → users.id actor_id bigint UNIQUE version_no integer action varchar note text UNIQUE created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_4_5"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_4_6" value="existing_business_revisions" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="15595" y="529.0" width="455" height="195" as="geometry" /></mxCell><mxCell id="new_4_6_attrs" value="PK id uuid FK → existing_businesses.id UNIQUE business_id uuid UNIQUE version_no integer FK → users.id actor_id bigint action varchar reason text snapshot text sha256 char UNIQUE created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_4_6"><mxGeometry x="0" y="38" width="455" height="157" as="geometry" /></mxCell><mxCell id="new_4_7" value="existing_business_rights" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="16245" y="529.0" width="455" height="246" as="geometry" /></mxCell><mxCell id="new_4_7_attrs" value="PK id uuid FK → existing_businesses.id existing_business_id uuid FK → existing_business_objects.id NULL business_object_id uuid NULL right_type varchar reference varchar NULL issuer varchar NULL valid_from date NULL valid_until date NULL verified_at timestamptz NULL confidential_payload text NULL created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_4_7"><mxGeometry x="0" y="38" width="455" height="208" as="geometry" /></mxCell><mxCell id="new_4_8" value="external_record_links" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="14295" y="810.0" width="455" height="212" as="geometry" /></mxCell><mxCell id="new_4_8_attrs" value="PK id uuid FK → existing_businesses.id NULL existing_business_id uuid NULL FK → interest_requests.id NULL interest_request_id bigint NULL FK → investors.id NULL investor_id uuid NULL UNIQUE crm_system varchar UNIQUE remote_id varchar last_synced_at timestamptz NULL sync_hash char NULL created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_4_8"><mxGeometry x="0" y="38" width="455" height="174" as="geometry" /></mxCell><mxCell id="new_4_9" value="land_assistance_cases" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="14945" y="810.0" width="455" height="246" as="geometry" /></mxCell><mxCell id="new_4_9_attrs" value="PK id uuid FK → users.id user_id bigint UNIQUE reference varchar status varchar version integer payload text UNIQUE crm_submission_key uuid FK → interest_requests.id NULL UNIQUE interest_request_id bigint NULL FK → users.id NULL assigned_to bigint NULL support_requested_at timestamptz NULL created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_4_9"><mxGeometry x="0" y="38" width="455" height="208" as="geometry" /></mxCell><mxCell id="new_4_10" value="land_assistance_events" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="15595" y="810.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_4_10_attrs" value="PK id bigint FK → land_assistance_cases.id case_id uuid FK → users.id actor_id bigint action varchar version integer metadata jsonb created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_4_10"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_4_11" value="land_assistance_revisions" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="16245" y="810.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_4_11_attrs" value="PK id bigint FK → land_assistance_cases.id UNIQUE case_id uuid UNIQUE version integer snapshot text UNIQUE created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_4_11"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="newrel_4_1" edge="1" parent="1" source="new_4_4" target="new_4_7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_4_2" edge="1" parent="1" source="new_4_9" target="new_4_10" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_4_3" edge="1" parent="1" source="new_4_9" target="new_4_11" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="area_5" value="DOCUMENTOS E PORTAL" style="rounded=1;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=12;fontSize=16;fontStyle=1;fontColor=#334155;fillColor=#eff6ff;strokeColor=#93c5fd;dashed=1;opacity=45;" vertex="1" parent="1"><mxGeometry x="17115" y="205" width="2680" height="2085" as="geometry" /></mxCell><mxCell id="heading_5" value="Modelo de dados — Documentos e portal" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=24;fontStyle=1;fontColor=#0f172a;" vertex="1" parent="1"><mxGeometry x="17135" y="108" width="2600" height="45" as="geometry" /></mxCell><mxCell id="note_5" value="As entidades e referências abaixo vêm das migrations e do manifesto de esquema. FKs para entidades do diagrama principal ou de outra página ficam identificadas no campo." style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=11;fontColor=#475569;" vertex="1" parent="1"><mxGeometry x="17135" y="158" width="2600" height="42" as="geometry" /></mxCell><mxCell id="new_5_0" value="aftercare_documents" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="17145" y="265" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_5_0_attrs" value="PK FK → aftercare_plans.id aftercare_plan_id uuid PK FK → documents.id document_id uuid created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_5_0"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_5_1" value="desk_documents" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="17795" y="265" width="455" height="212" as="geometry" /></mxCell><mxCell id="new_5_1_attrs" value="PK id uuid FK → desk_cases.id UNIQUE case_id uuid FK → documents.id UNIQUE document_id uuid FK → desk_requests.id NULL request_id uuid NULL category varchar stage varchar NULL valid_until date NULL source_reference text FK → users.id linked_by bigint UNIQUE created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_5_1"><mxGeometry x="0" y="38" width="455" height="174" as="geometry" /></mxCell><mxCell id="new_5_2" value="document_malware_scans" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="18445" y="265" width="455" height="280" as="geometry" /></mxCell><mxCell id="new_5_2_attrs" value="PK id uuid FK → documents.id document_id uuid file_sha256 char result varchar reason_code varchar NULL engine varchar engine_version varchar signatures_at timestamptz NULL started_at timestamptz finished_at timestamptz NULL duration_ms integer NULL file_size_bytes integer NULL created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_5_2"><mxGeometry x="0" y="38" width="455" height="242" as="geometry" /></mxCell><mxCell id="new_5_3" value="documents" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="19095" y="265" width="455" height="263" as="geometry" /></mxCell><mxCell id="new_5_3_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL file_name text media_type text UNIQUE storage_key text status text" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_5_3"><mxGeometry x="0" y="38" width="455" height="225" as="geometry" /></mxCell><mxCell id="new_5_4" value="education_documents" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="17145" y="580.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_5_4_attrs" value="PK FK → education_opportunities.id education_opportunity_id uuid PK FK → documents.id document_id uuid created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_5_4"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_5_5" value="investment_submission_attachments" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="17795" y="580.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_5_5_attrs" value="PK id uuid FK → investment_submissions.id submission_id uuid FK → documents.id document_id uuid created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_5_5"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_5_6" value="investor_documents" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="18445" y="580.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_5_6_attrs" value="PK FK → investors.id investor_id uuid PK FK → documents.id document_id uuid created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_5_6"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_5_7" value="journey_documents" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="19095" y="580.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_5_7_attrs" value="PK FK → investor_journeys.id journey_id uuid PK FK → documents.id document_id uuid created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_5_7"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_5_8" value="land_assistance_documents" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="17145" y="785.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_5_8_attrs" value="PK id uuid FK → land_assistance_cases.id UNIQUE case_id uuid FK → documents.id UNIQUE document_id uuid category varchar UNIQUE created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_5_8"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_5_9" value="partnership_documents" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="17795" y="785.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_5_9_attrs" value="PK id bigint FK → partnership_rooms.id UNIQUE room_id bigint FK → documents.id UNIQUE document_id uuid FK → users.id owner_id bigint shared boolean UNIQUE created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_5_9"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_5_10" value="portal_partnerships" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="18445" y="785.0" width="455" height="229" as="geometry" /></mxCell><mxCell id="new_5_10_attrs" value="PK id bigint FK → users.id user_id bigint title varchar sector varchar province varchar offer text seeking text status varchar FK → users.id NULL reviewed_by bigint NULL created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_5_10"><mxGeometry x="0" y="38" width="455" height="191" as="geometry" /></mxCell><mxCell id="new_5_11" value="portal_resource_links" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="19095" y="785.0" width="455" height="212" as="geometry" /></mxCell><mxCell id="new_5_11_attrs" value="PK id bigint FK → portal_resources.id UNIQUE resource_id bigint UNIQUE target_type varchar UNIQUE target_key varchar UNIQUE relationship varchar applicability varchar condition_text text NULL basis_reference text NULL created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_5_11"><mxGeometry x="0" y="38" width="455" height="174" as="geometry" /></mxCell><mxCell id="new_5_12" value="portal_resource_revisions" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="17145" y="1049.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_5_12_attrs" value="PK id bigint FK → portal_resources.id UNIQUE resource_id bigint UNIQUE revision_no integer change_type varchar snapshot jsonb FK → users.id NULL actor_user_id bigint NULL UNIQUE created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_5_12"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_5_13" value="portal_resources" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="17795" y="1049.0" width="455" height="246" as="geometry" /></mxCell><mxCell id="new_5_13_attrs" value="PK id bigint FK → documents.id document_id uuid title varchar category varchar topic varchar legislation boolean essential boolean published boolean source_reference text FK → users.id approved_by bigint created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_5_13"><mxGeometry x="0" y="38" width="455" height="208" as="geometry" /></mxCell><mxCell id="new_5_14" value="project_documents" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="18445" y="1049.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_5_14_attrs" value="PK FK → projects.id project_id uuid PK FK → documents.id document_id uuid created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_5_14"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="newrel_5_1" edge="1" parent="1" source="new_5_3" target="new_5_0" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_5_2" edge="1" parent="1" source="new_5_3" target="new_5_1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_5_3" edge="1" parent="1" source="new_5_3" target="new_5_2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_5_4" edge="1" parent="1" source="new_5_3" target="new_5_4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_5_5" edge="1" parent="1" source="new_5_3" target="new_5_5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_5_6" edge="1" parent="1" source="new_5_3" target="new_5_6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_5_7" edge="1" parent="1" source="new_5_3" target="new_5_7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_5_8" edge="1" parent="1" source="new_5_3" target="new_5_8" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_5_9" edge="1" parent="1" source="new_5_3" target="new_5_9" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_5_10" edge="1" parent="1" source="new_5_13" target="new_5_11" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_5_11" edge="1" parent="1" source="new_5_13" target="new_5_12" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_5_12" edge="1" parent="1" source="new_5_3" target="new_5_13" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_5_13" edge="1" parent="1" source="new_5_3" target="new_5_14" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="area_6" value="CRM E JORNADA DO INVESTIDOR" style="rounded=1;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=12;fontSize=16;fontStyle=1;fontColor=#334155;fillColor=#eff6ff;strokeColor=#93c5fd;dashed=1;opacity=45;" vertex="1" parent="1"><mxGeometry x="19965" y="205" width="2680" height="2085" as="geometry" /></mxCell><mxCell id="heading_6" value="Modelo de dados — CRM e jornada do investidor" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=24;fontStyle=1;fontColor=#0f172a;" vertex="1" parent="1"><mxGeometry x="19985" y="108" width="2600" height="45" as="geometry" /></mxCell><mxCell id="note_6" value="As entidades e referências abaixo vêm das migrations e do manifesto de esquema. FKs para entidades do diagrama principal ou de outra página ficam identificadas no campo." style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=11;fontColor=#475569;" vertex="1" parent="1"><mxGeometry x="19985" y="158" width="2600" height="42" as="geometry" /></mxCell><mxCell id="new_6_0" value="activities" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="19995" y="265" width="455" height="297" as="geometry" /></mxCell><mxCell id="new_6_0_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → investors.id NULL investor_id uuid NULL FK → crm_opportunities.id NULL opportunity_id uuid NULL FK → users.id NULL actor_user_id bigint NULL activity_type text occurred_at timestamptz summary text" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_6_0"><mxGeometry x="0" y="38" width="455" height="259" as="geometry" /></mxCell><mxCell id="new_6_1" value="aftercare_plans" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="20645" y="265" width="455" height="280" as="geometry" /></mxCell><mxCell id="new_6_1_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → investors.id investor_id uuid FK → projects.id NULL project_id uuid NULL FK → users.id NULL owner_user_id bigint NULL status text review_date date NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_6_1"><mxGeometry x="0" y="38" width="455" height="242" as="geometry" /></mxCell><mxCell id="new_6_2" value="constraints" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="21295" y="265" width="455" height="280" as="geometry" /></mxCell><mxCell id="new_6_2_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → aftercare_plans.id aftercare_plan_id uuid category text description text severity text status text" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_6_2"><mxGeometry x="0" y="38" width="455" height="242" as="geometry" /></mxCell><mxCell id="new_6_3" value="contacts" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="21945" y="265" width="455" height="246" as="geometry" /></mxCell><mxCell id="new_6_3_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL full_name text email text NULL phone text NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_6_3"><mxGeometry x="0" y="38" width="455" height="208" as="geometry" /></mxCell><mxCell id="new_6_4" value="crm_opportunities" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="19995" y="597.0" width="455" height="314" as="geometry" /></mxCell><mxCell id="new_6_4_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → leads.id NULL lead_id uuid NULL FK → projects.id NULL project_id uuid NULL FK → users.id NULL owner_user_id bigint NULL stage text amount numeric NULL currency char NULL probability numeric NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_6_4"><mxGeometry x="0" y="38" width="455" height="276" as="geometry" /></mxCell><mxCell id="new_6_5" value="escalations" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="20645" y="597.0" width="455" height="263" as="geometry" /></mxCell><mxCell id="new_6_5_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → users.id NULL escalated_by bigint NULL level text status text escalated_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_6_5"><mxGeometry x="0" y="38" width="455" height="225" as="geometry" /></mxCell><mxCell id="new_6_6" value="investor_contacts" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="21295" y="597.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_6_6_attrs" value="PK FK → investors.id investor_id uuid PK FK → contacts.id contact_id uuid is_primary boolean created_at timestamptz updated_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_6_6"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_6_7" value="investor_journeys" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="21945" y="597.0" width="455" height="263" as="geometry" /></mxCell><mxCell id="new_6_7_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → investors.id investor_id uuid FK → crm_opportunities.id NULL opportunity_id uuid NULL status text started_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_6_7"><mxGeometry x="0" y="38" width="455" height="225" as="geometry" /></mxCell><mxCell id="new_6_8" value="journey_steps" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="19995" y="946.0" width="455" height="263" as="geometry" /></mxCell><mxCell id="new_6_8_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → investor_journeys.id UNIQUE journey_id uuid UNIQUE step_code text UNIQUE sequence_no integer status text" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_6_8"><mxGeometry x="0" y="38" width="455" height="225" as="geometry" /></mxCell><mxCell id="new_6_9" value="leads" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="20645" y="946.0" width="455" height="297" as="geometry" /></mxCell><mxCell id="new_6_9_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → investors.id NULL investor_id uuid NULL FK → users.id NULL owner_user_id bigint NULL title text status text estimated_amount numeric NULL currency char NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_6_9"><mxGeometry x="0" y="38" width="455" height="259" as="geometry" /></mxCell><mxCell id="new_6_10" value="submissions" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="21295" y="946.0" width="455" height="280" as="geometry" /></mxCell><mxCell id="new_6_10_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → journey_steps.id journey_step_id uuid FK → users.id NULL submitted_by bigint NULL status text payload jsonb submitted_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_6_10"><mxGeometry x="0" y="38" width="455" height="242" as="geometry" /></mxCell><mxCell id="new_6_11" value="tasks" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="21945" y="946.0" width="455" height="280" as="geometry" /></mxCell><mxCell id="new_6_11_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → users.id NULL assignee_user_id bigint NULL FK → crm_opportunities.id NULL opportunity_id uuid NULL title text status text due_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_6_11"><mxGeometry x="0" y="38" width="455" height="242" as="geometry" /></mxCell><mxCell id="newrel_6_1" edge="1" parent="1" source="new_6_4" target="new_6_0" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_6_2" edge="1" parent="1" source="new_6_1" target="new_6_2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_6_3" edge="1" parent="1" source="new_6_9" target="new_6_4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_6_4" edge="1" parent="1" source="new_6_2" target="new_6_5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_6_5" edge="1" parent="1" source="new_6_3" target="new_6_6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_6_6" edge="1" parent="1" source="new_6_4" target="new_6_7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_6_7" edge="1" parent="1" source="new_6_7" target="new_6_8" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_6_8" edge="1" parent="1" source="new_6_8" target="new_6_10" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_6_9" edge="1" parent="1" source="new_6_4" target="new_6_11" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="area_7" value="EDUCAÇÃO E FORÇA DE TRABALHO" style="rounded=1;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=12;fontSize=16;fontStyle=1;fontColor=#334155;fillColor=#eff6ff;strokeColor=#93c5fd;dashed=1;opacity=45;" vertex="1" parent="1"><mxGeometry x="5715" y="3755" width="2680" height="2085" as="geometry" /></mxCell><mxCell id="heading_7" value="Modelo de dados — Educação e força de trabalho" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=24;fontStyle=1;fontColor=#0f172a;" vertex="1" parent="1"><mxGeometry x="5735" y="3658" width="2600" height="45" as="geometry" /></mxCell><mxCell id="note_7" value="As entidades e referências abaixo vêm das migrations e do manifesto de esquema. FKs para entidades do diagrama principal ou de outra página ficam identificadas no campo." style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=11;fontColor=#475569;" vertex="1" parent="1"><mxGeometry x="5735" y="3708" width="2600" height="42" as="geometry" /></mxCell><mxCell id="new_7_0" value="courses" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="5745" y="3815" width="455" height="263" as="geometry" /></mxCell><mxCell id="new_7_0_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → training_providers.id UNIQUE provider_id uuid UNIQUE code text title text status text" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_7_0"><mxGeometry x="0" y="38" width="455" height="225" as="geometry" /></mxCell><mxCell id="new_7_1" value="education_investment_proposals" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="6395" y="3815" width="455" height="280" as="geometry" /></mxCell><mxCell id="new_7_1_attrs" value="PK id uuid FK → labour_demands.id UNIQUE labour_demand_id uuid demand_version integer FK → opportunities.id UNIQUE opportunity_id bigint FK → users.id created_by bigint intervention text equipment_needs text NULL trainer_needs text NULL funding_plan text NULL risks text source text created_at timestamptz NULL updated_at timestamptz NULL deleted_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_7_1"><mxGeometry x="0" y="38" width="455" height="242" as="geometry" /></mxCell><mxCell id="new_7_2" value="education_opportunities" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="7045" y="3815" width="455" height="297" as="geometry" /></mxCell><mxCell id="new_7_2_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → courses.id course_id uuid FK → geo_locations.id NULL geo_location_id uuid NULL start_date date end_date date NULL capacity integer NULL status text" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_7_2"><mxGeometry x="0" y="38" width="455" height="259" as="geometry" /></mxCell><mxCell id="new_7_3" value="labour_demands" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="7695" y="3815" width="455" height="399" as="geometry" /></mxCell><mxCell id="new_7_3_attrs" value="PK id uuid FK → occupations.id occupation_id uuid FK → skills.id skill_id uuid FK → geo_locations.id geo_location_id uuid FK → projects.id project_id uuid employer varchar qualification varchar quantity integer period_start date period_end date source text reference_date date valid_until date status varchar version_no integer FK → users.id submitted_by bigint FK → users.id NULL reviewed_by bigint NULL review_reason text NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_7_3"><mxGeometry x="0" y="38" width="455" height="361" as="geometry" /></mxCell><mxCell id="new_7_4" value="occupations" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="5745" y="4249.0" width="455" height="229" as="geometry" /></mxCell><mxCell id="new_7_4_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL UNIQUE code text name text" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_7_4"><mxGeometry x="0" y="38" width="455" height="191" as="geometry" /></mxCell><mxCell id="new_7_5" value="skills" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="6395" y="4249.0" width="455" height="229" as="geometry" /></mxCell><mxCell id="new_7_5_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL UNIQUE code text name text" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_7_5"><mxGeometry x="0" y="38" width="455" height="191" as="geometry" /></mxCell><mxCell id="new_7_6" value="training_capacities" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="7045" y="4249.0" width="455" height="382" as="geometry" /></mxCell><mxCell id="new_7_6_attrs" value="PK id uuid FK → occupations.id occupation_id uuid FK → skills.id skill_id uuid FK → geo_locations.id geo_location_id uuid FK → courses.id course_id uuid qualification varchar quantity integer period_start date period_end date source text reference_date date valid_until date status varchar version_no integer FK → users.id submitted_by bigint FK → users.id NULL reviewed_by bigint NULL review_reason text NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_7_6"><mxGeometry x="0" y="38" width="455" height="344" as="geometry" /></mxCell><mxCell id="new_7_7" value="training_needs" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="7695" y="4249.0" width="455" height="280" as="geometry" /></mxCell><mxCell id="new_7_7_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → projects.id NULL project_id uuid NULL FK → occupations.id NULL occupation_id uuid NULL FK → skills.id NULL skill_id uuid NULL quantity integer priority text" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_7_7"><mxGeometry x="0" y="38" width="455" height="242" as="geometry" /></mxCell><mxCell id="new_7_8" value="training_providers" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="5745" y="4666.0" width="455" height="246" as="geometry" /></mxCell><mxCell id="new_7_8_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → organizations.id NULL organization_id uuid NULL name text status text" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_7_8"><mxGeometry x="0" y="38" width="455" height="208" as="geometry" /></mxCell><mxCell id="newrel_7_1" edge="1" parent="1" source="new_7_8" target="new_7_0" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_7_2" edge="1" parent="1" source="new_7_3" target="new_7_1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_7_3" edge="1" parent="1" source="new_7_0" target="new_7_2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_7_4" edge="1" parent="1" source="new_7_4" target="new_7_3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_7_5" edge="1" parent="1" source="new_7_5" target="new_7_3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_7_6" edge="1" parent="1" source="new_7_4" target="new_7_6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_7_7" edge="1" parent="1" source="new_7_5" target="new_7_6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_7_8" edge="1" parent="1" source="new_7_0" target="new_7_6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_7_9" edge="1" parent="1" source="new_7_4" target="new_7_7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_7_10" edge="1" parent="1" source="new_7_5" target="new_7_7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="area_8" value="SIMULAÇÃO E GOVERNAÇÃO FISCAL" style="rounded=1;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=12;fontSize=16;fontStyle=1;fontColor=#334155;fillColor=#eff6ff;strokeColor=#93c5fd;dashed=1;opacity=45;" vertex="1" parent="1"><mxGeometry x="8565" y="3755" width="2680" height="2085" as="geometry" /></mxCell><mxCell id="heading_8" value="Modelo de dados — Simulação e governação fiscal" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=24;fontStyle=1;fontColor=#0f172a;" vertex="1" parent="1"><mxGeometry x="8585" y="3658" width="2600" height="45" as="geometry" /></mxCell><mxCell id="note_8" value="As entidades e referências abaixo vêm das migrations e do manifesto de esquema. FKs para entidades do diagrama principal ou de outra página ficam identificadas no campo." style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=11;fontColor=#475569;" vertex="1" parent="1"><mxGeometry x="8585" y="3708" width="2600" height="42" as="geometry" /></mxCell><mxCell id="new_8_0" value="questionnaire_versions" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="8595" y="3815" width="455" height="212" as="geometry" /></mxCell><mxCell id="new_8_0_attrs" value="PK id uuid code text version_no integer locale text schema_snapshot jsonb status text valid_from date NULL valid_to date NULL created_at timestamptz updated_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_8_0"><mxGeometry x="0" y="38" width="455" height="174" as="geometry" /></mxCell><mxCell id="new_8_1" value="simulation_audit_events" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="9245" y="3815" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_8_1_attrs" value="PK id uuid FK → simulations.id simulation_id uuid FK → users.id NULL actor_user_id bigint NULL action text correlation_id uuid data jsonb occurred_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_8_1"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_8_2" value="simulation_draft_business_links" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="9895" y="3815" width="455" height="212" as="geometry" /></mxCell><mxCell id="new_8_2_attrs" value="PK id uuid FK → simulation_form_drafts.id draft_id uuid FK → existing_businesses.id business_id uuid FK → users.id owner_user_id bigint FK → users.id linked_by bigint FK → users.id NULL unlinked_by bigint NULL linked_at timestamptz unlinked_at timestamptz NULL created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_8_2"><mxGeometry x="0" y="38" width="455" height="174" as="geometry" /></mxCell><mxCell id="new_8_3" value="simulation_form_drafts" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="10545" y="3815" width="455" height="229" as="geometry" /></mxCell><mxCell id="new_8_3_attrs" value="PK id uuid FK → users.id NULL owner_user_id bigint NULL anonymous_token_hash char NULL version_no integer create_key_hash char create_payload_hash char personal_snapshot text economic_snapshot text deleted_at timestamptz NULL created_at timestamptz updated_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_8_3"><mxGeometry x="0" y="38" width="455" height="191" as="geometry" /></mxCell><mxCell id="new_8_4" value="simulation_idempotency" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="8595" y="4079.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_8_4_attrs" value="PK id uuid scope_hash char key_hash char payload_hash char FK → simulations.id NULL simulation_id uuid NULL response_snapshot jsonb NULL created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_8_4"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_8_5" value="simulation_jobs" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="9245" y="4079.0" width="455" height="229" as="geometry" /></mxCell><mxCell id="new_8_5_attrs" value="PK id uuid FK → simulations.id simulation_id uuid job_type text status text attempts smallint available_at timestamptz started_at timestamptz NULL finished_at timestamptz NULL error_code text NULL created_at timestamptz updated_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_8_5"><mxGeometry x="0" y="38" width="455" height="191" as="geometry" /></mxCell><mxCell id="new_8_6" value="simulation_obligations" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="9895" y="4079.0" width="455" height="229" as="geometry" /></mxCell><mxCell id="new_8_6_attrs" value="PK id uuid FK → simulations.id simulation_id uuid FK → simulation_scenarios.id NULL scenario_id uuid NULL code text label text source_reference text NULL source_version text NULL status text snapshot jsonb created_at timestamptz updated_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_8_6"><mxGeometry x="0" y="38" width="455" height="191" as="geometry" /></mxCell><mxCell id="new_8_7" value="simulation_reports" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="10545" y="4079.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_8_7_attrs" value="PK id uuid FK → simulations.id simulation_id uuid version_no integer status text report_snapshot jsonb NULL created_at timestamptz updated_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_8_7"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_8_8" value="simulation_result_sources" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="8595" y="4343.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_8_8_attrs" value="PK id uuid FK → simulation_results.id result_id uuid source_type text source_id text source_version text source_snapshot jsonb created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_8_8"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_8_9" value="simulation_results" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="9245" y="4343.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_8_9_attrs" value="PK id uuid FK → simulations.id simulation_id uuid FK → simulation_scenarios.id scenario_id uuid engine_version text result_snapshot jsonb created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_8_9"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_8_10" value="simulation_scenarios" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="9895" y="4343.0" width="455" height="178" as="geometry" /></mxCell><mxCell id="new_8_10_attrs" value="PK id uuid FK → simulations.id simulation_id uuid code text label text version_no integer parameters jsonb created_at timestamptz updated_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_8_10"><mxGeometry x="0" y="38" width="455" height="140" as="geometry" /></mxCell><mxCell id="new_8_11" value="simulation_tax_rule_events" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="10545" y="4343.0" width="455" height="178" as="geometry" /></mxCell><mxCell id="new_8_11_attrs" value="PK id uuid FK → simulation_tax_rule_versions.id UNIQUE rule_version_id uuid UNIQUE version_no integer FK → users.id actor_user_id bigint action varchar snapshot jsonb sha256 char UNIQUE created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_8_11"><mxGeometry x="0" y="38" width="455" height="140" as="geometry" /></mxCell><mxCell id="new_8_12" value="simulation_tax_rule_versions" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="8595" y="4556.0" width="455" height="430" as="geometry" /></mxCell><mxCell id="new_8_12_attrs" value="PK id uuid UNIQUE rule_code varchar UNIQUE rule_version integer component varchar UNIQUE scope_key varchar valid_from date valid_until date NULL status varchar rule_definition jsonb parameters jsonb rounding_policy jsonb FK → investment_legal_sources.id legal_source_id uuid source_version_no integer source_sha256 char FK → users.id author_id bigint FK → users.id NULL reviewer_id bigint NULL FK → users.id NULL approver_id bigint NULL FK → users.id NULL publisher_id bigint NULL review_evidence text NULL approval_evidence text NULL publication_evidence text NULL closure_evidence text NULL submitted_at timestamptz NULL reviewed_at timestamptz NULL approved_at timestamptz NULL published_at timestamptz NULL suspended_at timestamptz NULL archived_at timestamptz NULL version_no integer created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_8_12"><mxGeometry x="0" y="38" width="455" height="392" as="geometry" /></mxCell><mxCell id="newrel_8_1" edge="1" parent="1" source="new_8_3" target="new_8_2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_8_2" edge="1" parent="1" source="new_8_10" target="new_8_6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_8_3" edge="1" parent="1" source="new_8_9" target="new_8_8" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_8_4" edge="1" parent="1" source="new_8_10" target="new_8_9" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_8_5" edge="1" parent="1" source="new_8_12" target="new_8_11" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="area_9" value="INTELIGÊNCIA ARTIFICIAL" style="rounded=1;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=12;fontSize=16;fontStyle=1;fontColor=#334155;fillColor=#eff6ff;strokeColor=#93c5fd;dashed=1;opacity=45;" vertex="1" parent="1"><mxGeometry x="11415" y="3755" width="2680" height="2085" as="geometry" /></mxCell><mxCell id="heading_9" value="Modelo de dados — Inteligência artificial" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=24;fontStyle=1;fontColor=#0f172a;" vertex="1" parent="1"><mxGeometry x="11435" y="3658" width="2600" height="45" as="geometry" /></mxCell><mxCell id="note_9" value="As entidades e referências abaixo vêm das migrations e do manifesto de esquema. FKs para entidades do diagrama principal ou de outra página ficam identificadas no campo." style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=11;fontColor=#475569;" vertex="1" parent="1"><mxGeometry x="11435" y="3708" width="2600" height="42" as="geometry" /></mxCell><mxCell id="new_9_0" value="ai_chunks" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="11445" y="3815" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_9_0_attrs" value="PK id uuid FK → ai_sources.id UNIQUE source_id uuid UNIQUE position integer language varchar content text UNIQUE checksum char" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_9_0"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_9_1" value="ai_controls" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="12095" y="3815" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_9_1_attrs" value="PK capability varchar suspended boolean created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_9_1"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_9_2" value="ai_feedback" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="12745" y="3815" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_9_2_attrs" value="PK id bigint FK → ai_runs.id UNIQUE run_id uuid FK → users.id UNIQUE user_id bigint rating varchar created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_9_2"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_9_3" value="ai_runs" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="13395" y="3815" width="455" height="348" as="geometry" /></mxCell><mxCell id="new_9_3_attrs" value="PK id uuid FK → users.id actor_id bigint capability varchar purpose varchar mode varchar rules_version varchar prompt_version varchar input_hash char result text source_ids jsonb latency_ms integer review_requested boolean review_status varchar FK → users.id NULL reviewed_by bigint NULL reviewed_at timestamptz NULL version_no integer created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_9_3"><mxGeometry x="0" y="38" width="455" height="310" as="geometry" /></mxCell><mxCell id="new_9_4" value="ai_sources" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="11445" y="4198.0" width="455" height="365" as="geometry" /></mxCell><mxCell id="new_9_4_attrs" value="PK id uuid FK → documents.id UNIQUE document_id uuid UNIQUE document_version integer document_checksum char title varchar language varchar nature varchar source_url text source_owner varchar evidence_reference text source_date date valid_until date purpose varchar status varchar FK → users.id submitted_by bigint FK → users.id NULL reviewed_by bigint NULL reviewed_at timestamptz NULL created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_9_4"><mxGeometry x="0" y="38" width="455" height="327" as="geometry" /></mxCell><mxCell id="newrel_9_1" edge="1" parent="1" source="new_9_4" target="new_9_0" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_9_2" edge="1" parent="1" source="new_9_3" target="new_9_2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="area_10" value="PARCERIAS E ATENDIMENTO VIRTUAL" style="rounded=1;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=12;fontSize=16;fontStyle=1;fontColor=#334155;fillColor=#eff6ff;strokeColor=#93c5fd;dashed=1;opacity=45;" vertex="1" parent="1"><mxGeometry x="14265" y="3755" width="2680" height="2085" as="geometry" /></mxCell><mxCell id="heading_10" value="Modelo de dados — Parcerias e atendimento virtual" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=24;fontStyle=1;fontColor=#0f172a;" vertex="1" parent="1"><mxGeometry x="14285" y="3658" width="2600" height="45" as="geometry" /></mxCell><mxCell id="note_10" value="As entidades e referências abaixo vêm das migrations e do manifesto de esquema. FKs para entidades do diagrama principal ou de outra página ficam identificadas no campo." style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=11;fontColor=#475569;" vertex="1" parent="1"><mxGeometry x="14285" y="3708" width="2600" height="42" as="geometry" /></mxCell><mxCell id="new_10_0" value="desk_cases" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="14295" y="3815" width="455" height="280" as="geometry" /></mxCell><mxCell id="new_10_0_attrs" value="PK id uuid FK → users.id UNIQUE user_id bigint FK → organizations.id NULL organization_id uuid NULL FK → investment_company_declarations.id NULL company_id uuid NULL FK → investment_submissions.id NULL submission_id uuid NULL simulation_id uuid NULL title varchar UNIQUE client_key uuid version integer payload text workflow jsonb closed_at timestamptz NULL created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_10_0"><mxGeometry x="0" y="38" width="455" height="242" as="geometry" /></mxCell><mxCell id="new_10_1" value="desk_events" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="14945" y="3815" width="455" height="178" as="geometry" /></mxCell><mxCell id="new_10_1_attrs" value="PK id uuid FK → desk_cases.id case_id uuid FK → desk_requests.id NULL request_id uuid NULL FK → users.id actor_id bigint action varchar version integer payload text created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_10_1"><mxGeometry x="0" y="38" width="455" height="140" as="geometry" /></mxCell><mxCell id="new_10_2" value="desk_institutional_links" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="15595" y="3815" width="455" height="263" as="geometry" /></mxCell><mxCell id="new_10_2_attrs" value="PK id uuid stage varchar entity varchar purpose varchar url text contact varchar NULL status varchar version integer source_reference text verified_at timestamptz NULL FK → users.id NULL verified_by bigint NULL created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_10_2"><mxGeometry x="0" y="38" width="455" height="225" as="geometry" /></mxCell><mxCell id="new_10_3" value="desk_messages" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="16245" y="3815" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_10_3_attrs" value="PK id uuid FK → desk_requests.id UNIQUE request_id uuid FK → users.id UNIQUE actor_id bigint UNIQUE client_key uuid body text UNIQUE created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_10_3"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_10_4" value="desk_notifications" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="14295" y="4130.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_10_4_attrs" value="PK id bigint FK → desk_events.id UNIQUE event_id uuid FK → users.id UNIQUE user_id bigint title varchar href varchar UNIQUE read_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_10_4"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_10_5" value="desk_payments" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="14945" y="4130.0" width="455" height="263" as="geometry" /></mxCell><mxCell id="new_10_5_attrs" value="PK id uuid FK → desk_requests.id request_id uuid UNIQUE reference varchar amount numeric currency varchar source_reference text status varchar FK → documents.id NULL document_id uuid NULL FK → users.id NULL verified_by bigint NULL reason text NULL version integer created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_10_5"><mxGeometry x="0" y="38" width="455" height="225" as="geometry" /></mxCell><mxCell id="new_10_6" value="desk_requests" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="15595" y="4130.0" width="455" height="314" as="geometry" /></mxCell><mxCell id="new_10_6_attrs" value="PK id uuid FK → desk_cases.id UNIQUE case_id uuid FK → desk_service_versions.id service_version_id uuid FK → users.id NULL analyst_id bigint NULL status varchar version integer UNIQUE client_key uuid payload text UNIQUE protocol varchar NULL submitted_snapshot text NULL editable_fields jsonb NULL submitted_at timestamptz NULL due_at timestamptz NULL closed_at timestamptz NULL created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_10_6"><mxGeometry x="0" y="38" width="455" height="276" as="geometry" /></mxCell><mxCell id="new_10_7" value="desk_revisions" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="16245" y="4130.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_10_7_attrs" value="PK id bigint FK → desk_requests.id UNIQUE request_id uuid UNIQUE version integer snapshot text UNIQUE created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_10_7"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_10_8" value="desk_service_versions" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="14295" y="4479.0" width="455" height="229" as="geometry" /></mxCell><mxCell id="new_10_8_attrs" value="PK id uuid UNIQUE code varchar UNIQUE version integer status varchar definition jsonb source jsonb FK → users.id author_id bigint FK → users.id NULL published_by bigint NULL published_at timestamptz NULL created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_10_8"><mxGeometry x="0" y="38" width="455" height="191" as="geometry" /></mxCell><mxCell id="new_10_9" value="partnership_events" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="14945" y="4479.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_10_9_attrs" value="PK id uuid FK → portal_partnerships.id partnership_id bigint FK → users.id actor_id bigint event_type varchar aggregate_version integer payload jsonb occurred_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_10_9"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_10_10" value="partnership_interests" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="15595" y="4479.0" width="455" height="246" as="geometry" /></mxCell><mxCell id="new_10_10_attrs" value="PK id bigint FK → portal_partnerships.id UNIQUE partnership_id bigint FK → users.id UNIQUE user_id bigint FK → organizations.id NULL organization_id uuid NULL proposal text status varchar version integer payload jsonb assessment jsonb decision_reason text NULL created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_10_10"><mxGeometry x="0" y="38" width="455" height="208" as="geometry" /></mxCell><mxCell id="new_10_11" value="partnership_locations" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="16245" y="4479.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_10_11_attrs" value="PK id bigint FK → portal_partnerships.id UNIQUE partnership_id bigint FK → geo_locations.id UNIQUE geo_location_id uuid UNIQUE role varchar UNIQUE source_reference text" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_10_11"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_10_12" value="partnership_messages" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="14295" y="4760.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_10_12_attrs" value="PK id bigint FK → partnership_rooms.id UNIQUE room_id bigint FK → users.id UNIQUE author_id bigint UNIQUE client_key uuid body text UNIQUE created_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_10_12"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_10_13" value="partnership_milestones" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="14945" y="4760.0" width="455" height="212" as="geometry" /></mxCell><mxCell id="new_10_13_attrs" value="PK id bigint FK → partnership_rooms.id room_id bigint FK → users.id responsible_id bigint title varchar due_date date NULL status varchar evidence text NULL version integer created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_10_13"><mxGeometry x="0" y="38" width="455" height="174" as="geometry" /></mxCell><mxCell id="new_10_14" value="partnership_notifications" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="15595" y="4760.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_10_14_attrs" value="PK id bigint FK → partnership_events.id UNIQUE event_id uuid FK → users.id UNIQUE user_id bigint title varchar href varchar UNIQUE read_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_10_14"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_10_15" value="partnership_origins" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="16245" y="4760.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_10_15_attrs" value="PK id bigint FK → portal_partnerships.id UNIQUE partnership_id bigint UNIQUE type varchar UNIQUE target_id varchar" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_10_15"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_10_16" value="partnership_rooms" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="14295" y="5007.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_10_16_attrs" value="PK id bigint FK → partnership_interests.id UNIQUE interest_id bigint status varchar version integer agreement jsonb NULL created_at timestamptz NULL updated_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_10_16"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="newrel_10_1" edge="1" parent="1" source="new_10_0" target="new_10_1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_10_2" edge="1" parent="1" source="new_10_6" target="new_10_1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_10_3" edge="1" parent="1" source="new_10_6" target="new_10_3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_10_4" edge="1" parent="1" source="new_10_1" target="new_10_4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_10_5" edge="1" parent="1" source="new_10_6" target="new_10_5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_10_6" edge="1" parent="1" source="new_10_0" target="new_10_6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_10_7" edge="1" parent="1" source="new_10_8" target="new_10_6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_10_8" edge="1" parent="1" source="new_10_6" target="new_10_7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_10_9" edge="1" parent="1" source="new_10_16" target="new_10_12" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_10_10" edge="1" parent="1" source="new_10_16" target="new_10_13" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_10_11" edge="1" parent="1" source="new_10_9" target="new_10_14" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="newrel_10_12" edge="1" parent="1" source="new_10_10" target="new_10_16" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="area_11" value="GOVERNAÇÃO E INTEGRAÇÕES" style="rounded=1;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=12;fontSize=16;fontStyle=1;fontColor=#334155;fillColor=#eff6ff;strokeColor=#93c5fd;dashed=1;opacity=45;" vertex="1" parent="1"><mxGeometry x="17115" y="3755" width="2680" height="2085" as="geometry" /></mxCell><mxCell id="heading_11" value="Modelo de dados — Governação e integrações" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=24;fontStyle=1;fontColor=#0f172a;" vertex="1" parent="1"><mxGeometry x="17135" y="3658" width="2600" height="45" as="geometry" /></mxCell><mxCell id="note_11" value="As entidades e referências abaixo vêm das migrations e do manifesto de esquema. FKs para entidades do diagrama principal ou de outra página ficam identificadas no campo." style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=11;fontColor=#475569;" vertex="1" parent="1"><mxGeometry x="17135" y="3708" width="2600" height="42" as="geometry" /></mxCell><mxCell id="new_11_0" value="audit_events" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="17145" y="3815" width="455" height="263" as="geometry" /></mxCell><mxCell id="new_11_0_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL data_classification text correlation_id uuid NULL created_at timestamptz FK → users.id NULL actor_user_id bigint NULL entity_type text entity_id uuid NULL action text occurred_at timestamptz before_data jsonb NULL after_data jsonb NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_11_0"><mxGeometry x="0" y="38" width="455" height="225" as="geometry" /></mxCell><mxCell id="new_11_1" value="cache" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="17795" y="3815" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_11_1_attrs" value="PK key varchar value text expiration bigint" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_11_1"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_11_2" value="cache_locks" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="18445" y="3815" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_11_2_attrs" value="PK key varchar owner varchar expiration bigint" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_11_2"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_11_3" value="failed_jobs" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="19095" y="3815" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_11_3_attrs" value="PK id bigint UNIQUE uuid varchar connection varchar queue varchar payload text exception text failed_at timestamp" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_11_3"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_11_4" value="inbox_events" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="17145" y="4113.0" width="455" height="280" as="geometry" /></mxCell><mxCell id="new_11_4_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz UNIQUE message_id text event_type text payload jsonb status text received_at timestamptz processed_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_11_4"><mxGeometry x="0" y="38" width="455" height="242" as="geometry" /></mxCell><mxCell id="new_11_5" value="job_batches" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="17795" y="4113.0" width="455" height="212" as="geometry" /></mxCell><mxCell id="new_11_5_attrs" value="PK id varchar name varchar total_jobs integer pending_jobs integer failed_jobs integer failed_job_ids text options text NULL cancelled_at integer NULL created_at integer finished_at integer NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_11_5"><mxGeometry x="0" y="38" width="455" height="174" as="geometry" /></mxCell><mxCell id="new_11_6" value="jobs" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="18445" y="4113.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_11_6_attrs" value="PK id bigint queue varchar payload text attempts smallint reserved_at integer NULL available_at integer created_at integer" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_11_6"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_11_7" value="outbox_events" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="19095" y="4113.0" width="455" height="297" as="geometry" /></mxCell><mxCell id="new_11_7_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz aggregate_type text aggregate_id uuid event_type text payload jsonb status text available_at timestamptz published_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_11_7"><mxGeometry x="0" y="38" width="455" height="259" as="geometry" /></mxCell><mxCell id="new_11_8" value="passkeys" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="17145" y="4445.0" width="455" height="178" as="geometry" /></mxCell><mxCell id="new_11_8_attrs" value="PK id bigint FK → users.id user_id bigint name varchar UNIQUE credential_id varchar credential json last_used_at timestamp NULL created_at timestamp NULL updated_at timestamp NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_11_8"><mxGeometry x="0" y="38" width="455" height="140" as="geometry" /></mxCell><mxCell id="new_11_9" value="password_reset_tokens" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="17795" y="4445.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_11_9_attrs" value="PK email varchar token varchar created_at timestamp NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_11_9"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_11_10" value="reconciliation_issues" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="18445" y="4445.0" width="455" height="314" as="geometry" /></mxCell><mxCell id="new_11_10_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → sync_runs.id sync_run_id uuid entity_type text external_id_ref text NULL issue_type text severity text status text details jsonb" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_11_10"><mxGeometry x="0" y="38" width="455" height="276" as="geometry" /></mxCell><mxCell id="new_11_11" value="sessions" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="19095" y="4445.0" width="455" height="170" as="geometry" /></mxCell><mxCell id="new_11_11_attrs" value="PK id varchar user_id bigint NULL ip_address varchar NULL user_agent text NULL payload text last_activity integer" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_11_11"><mxGeometry x="0" y="38" width="455" height="132" as="geometry" /></mxCell><mxCell id="new_11_12" value="simulations" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="17145" y="4794.0" width="455" height="280" as="geometry" /></mxCell><mxCell id="new_11_12_attrs" value="PK id uuid FK → questionnaire_versions.id NULL questionnaire_version_id uuid NULL FK → users.id NULL owner_user_id bigint NULL FK → organizations.id NULL organization_id uuid NULL anonymous_token_hash char NULL version_no integer status text input_snapshot jsonb result_snapshot jsonb NULL calculation_snapshot jsonb NULL error_code text NULL deleted_at timestamptz NULL created_at timestamptz updated_at timestamptz" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_11_12"><mxGeometry x="0" y="38" width="455" height="242" as="geometry" /></mxCell><mxCell id="new_11_13" value="sync_runs" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="17795" y="4794.0" width="455" height="297" as="geometry" /></mxCell><mxCell id="new_11_13_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL integration_name text direction text status text started_at timestamptz ended_at timestamptz NULL totals jsonb" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_11_13"><mxGeometry x="0" y="38" width="455" height="259" as="geometry" /></mxCell><mxCell id="newrel_11_1" edge="1" parent="1" source="new_11_13" target="new_11_10" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="area_12" value="IDENTIDADE E ACESSO" style="rounded=1;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=12;fontSize=16;fontStyle=1;fontColor=#334155;fillColor=#eff6ff;strokeColor=#93c5fd;dashed=1;opacity=45;" vertex="1" parent="1"><mxGeometry x="19965" y="3755" width="2680" height="2085" as="geometry" /></mxCell><mxCell id="heading_12" value="Modelo de dados — Identidade e acesso" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=24;fontStyle=1;fontColor=#0f172a;" vertex="1" parent="1"><mxGeometry x="19985" y="3658" width="2600" height="45" as="geometry" /></mxCell><mxCell id="note_12" value="As entidades e referências abaixo vêm das migrations e do manifesto de esquema. FKs para entidades do diagrama principal ou de outra página ficam identificadas no campo." style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=11;fontColor=#475569;" vertex="1" parent="1"><mxGeometry x="19985" y="3708" width="2600" height="42" as="geometry" /></mxCell><mxCell id="new_12_0" value="consents" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="19995" y="3815" width="455" height="297" as="geometry" /></mxCell><mxCell id="new_12_0_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → users.id NULL user_id bigint NULL subject_ref text purpose text status text granted_at timestamptz NULL withdrawn_at timestamptz NULL" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_12_0"><mxGeometry x="0" y="38" width="455" height="259" as="geometry" /></mxCell><mxCell id="new_12_1" value="memberships" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="20645" y="3815" width="455" height="246" as="geometry" /></mxCell><mxCell id="new_12_1_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL FK → users.id UNIQUE user_id bigint FK → organizations.id UNIQUE organization_id uuid role text" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_12_1"><mxGeometry x="0" y="38" width="455" height="208" as="geometry" /></mxCell><mxCell id="new_12_2" value="organizations" style="swimlane;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;rounded=1;fontSize=14;fontStyle=1;strokeWidth=2;resizeParent=0;resizeLast=1;shadow=0;dashed=0;align=center;arcSize=4;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="21295" y="3815" width="455" height="229" as="geometry" /></mxCell><mxCell id="new_12_2_attrs" value="PK id uuid UNIQUE source_system text UNIQUE external_id text NULL version_no integer data_classification text correlation_id uuid NULL created_at timestamptz updated_at timestamptz deleted_at timestamptz NULL name text organization_type text" style="align=left;strokeColor=none;fillColor=none;spacingLeft=6;spacingRight=4;spacingTop=4;fontSize=11;verticalAlign=top;rotatable=0;part=1;html=1;whiteSpace=wrap;" vertex="1" parent="new_12_2"><mxGeometry x="0" y="38" width="455" height="191" as="geometry" /></mxCell><mxCell id="newrel_12_1" edge="1" parent="1" source="new_12_2" target="new_12_1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#334155;strokeWidth=1.4;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="added_fk_24" edge="1" parent="1" source="tbl_opportunities" target="tbl_opportunity_profiles" value="opportunity_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_1" edge="1" parent="1" source="new_6_1" target="new_5_0" value="aftercare_plan_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_14" edge="1" parent="1" source="new_5_3" target="new_4_3" value="document_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_21" edge="1" parent="1" source="tbl_economic_clusters" target="new_1_3" value="cluster_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_23" edge="1" parent="1" source="new_7_2" target="new_5_4" value="education_opportunity_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_24" edge="1" parent="1" source="tbl_existing_businesses" target="new_4_2" value="existing_business_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_25" edge="1" parent="1" source="tbl_existing_businesses" target="new_4_3" value="business_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_26" edge="1" parent="1" source="tbl_existing_businesses" target="new_4_4" value="business_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_27" edge="1" parent="1" source="tbl_existing_businesses" target="new_4_7" value="existing_business_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_29" edge="1" parent="1" source="tbl_existing_businesses" target="new_8_2" value="business_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_30" edge="1" parent="1" source="tbl_geo_locations" target="new_2_11" value="geo_location_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_31" edge="1" parent="1" source="tbl_geo_locations" target="new_7_3" value="geo_location_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_34" edge="1" parent="1" source="tbl_geo_locations" target="new_7_6" value="geo_location_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_36" edge="1" parent="1" source="tbl_interest_requests" target="new_1_0" value="interest_request_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_41" edge="1" parent="1" source="tbl_investment_items" target="new_3_0" value="item_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_43" edge="1" parent="1" source="new_3_1" target="new_8_12" value="legal_source_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_44" edge="1" parent="1" source="tbl_investment_reference_options" target="new_1_6" value="category_id, option_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_46" edge="1" parent="1" source="tbl_investment_submissions" target="new_1_5" value="submission_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_47" edge="1" parent="1" source="tbl_investment_submissions" target="new_1_6" value="submission_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_48" edge="1" parent="1" source="tbl_investment_submissions" target="new_5_5" value="submission_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_49" edge="1" parent="1" source="tbl_investment_submissions" target="new_1_7" value="submission_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_50" edge="1" parent="1" source="tbl_investment_submissions" target="new_1_9" value="submission_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_52" edge="1" parent="1" source="tbl_investment_zones" target="new_1_9" value="zone_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_53" edge="1" parent="1" source="tbl_investment_zones" target="new_3_3" value="zone_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_55" edge="1" parent="1" source="tbl_investment_zones" target="new_3_6" value="zone_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_56" edge="1" parent="1" source="new_6_7" target="new_5_7" value="journey_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_57" edge="1" parent="1" source="tbl_investors" target="new_6_1" value="investor_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_59" edge="1" parent="1" source="tbl_investors" target="new_6_6" value="investor_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_60" edge="1" parent="1" source="tbl_investors" target="new_5_6" value="investor_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_61" edge="1" parent="1" source="tbl_investors" target="new_6_7" value="investor_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_76" edge="1" parent="1" source="new_12_2" target="new_2_1" value="organization_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_78" edge="1" parent="1" source="new_5_10" target="new_10_9" value="partnership_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_80" edge="1" parent="1" source="tbl_projects" target="new_3_0" value="project_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_81" edge="1" parent="1" source="tbl_projects" target="new_7_3" value="project_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_83" edge="1" parent="1" source="tbl_projects" target="new_5_14" value="project_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_84" edge="1" parent="1" source="tbl_sectors" target="new_2_7" value="sector_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_89" edge="1" parent="1" source="new_11_12" target="new_8_1" value="simulation_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_90" edge="1" parent="1" source="new_11_12" target="new_8_5" value="simulation_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_91" edge="1" parent="1" source="new_11_12" target="new_8_6" value="simulation_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_92" edge="1" parent="1" source="new_11_12" target="new_8_7" value="simulation_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_93" edge="1" parent="1" source="new_11_12" target="new_8_9" value="simulation_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_94" edge="1" parent="1" source="new_11_12" target="new_8_10" value="simulation_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_98" edge="1" parent="1" source="tbl_users" target="new_9_3" value="actor_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_99" edge="1" parent="1" source="tbl_users" target="new_9_4" value="submitted_by" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_100" edge="1" parent="1" source="tbl_users" target="new_5_1" value="linked_by" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_101" edge="1" parent="1" source="tbl_users" target="new_10_1" value="actor_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_102" edge="1" parent="1" source="tbl_users" target="new_10_8" value="author_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_103" edge="1" parent="1" source="tbl_users" target="new_7_1" value="created_by" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_104" edge="1" parent="1" source="tbl_users" target="new_4_3" value="representative_user_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_105" edge="1" parent="1" source="tbl_users" target="new_4_5" value="actor_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_106" edge="1" parent="1" source="tbl_users" target="new_4_6" value="actor_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_108" edge="1" parent="1" source="tbl_users" target="new_2_10" value="editor_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_109" edge="1" parent="1" source="tbl_users" target="new_2_11" value="editor_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_110" edge="1" parent="1" source="tbl_users" target="new_2_12" value="actor_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_112" edge="1" parent="1" source="tbl_users" target="new_1_1" value="user_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_113" edge="1" parent="1" source="tbl_users" target="new_1_2" value="user_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_114" edge="1" parent="1" source="tbl_users" target="new_3_1" value="owner_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_115" edge="1" parent="1" source="tbl_users" target="new_1_7" value="actor_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_117" edge="1" parent="1" source="tbl_users" target="new_3_2" value="actor_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_118" edge="1" parent="1" source="tbl_users" target="new_3_3" value="uploaded_by" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_119" edge="1" parent="1" source="tbl_users" target="new_3_5" value="editor_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_120" edge="1" parent="1" source="tbl_users" target="new_3_7" value="actor_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_121" edge="1" parent="1" source="tbl_users" target="new_1_10" value="user_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_122" edge="1" parent="1" source="tbl_users" target="new_7_3" value="submitted_by" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_123" edge="1" parent="1" source="tbl_users" target="new_4_9" value="user_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_124" edge="1" parent="1" source="tbl_users" target="new_4_10" value="actor_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_126" edge="1" parent="1" source="tbl_users" target="new_5_9" value="owner_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_127" edge="1" parent="1" source="tbl_users" target="new_10_9" value="actor_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_128" edge="1" parent="1" source="tbl_users" target="new_10_13" value="responsible_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_129" edge="1" parent="1" source="tbl_users" target="new_11_8" value="user_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_130" edge="1" parent="1" source="tbl_users" target="new_5_10" value="user_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_131" edge="1" parent="1" source="tbl_users" target="new_5_13" value="approved_by" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_132" edge="1" parent="1" source="tbl_users" target="new_8_2" value="linked_by, owner_user_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_133" edge="1" parent="1" source="tbl_users" target="new_8_11" value="actor_user_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_134" edge="1" parent="1" source="tbl_users" target="new_8_12" value="author_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_135" edge="1" parent="1" source="tbl_users" target="new_7_6" value="submitted_by" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="final_fk_136" edge="1" parent="1" source="new_2_17" target="new_1_3" value="value_chain_id" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=ERone;startFill=0;startSize=10;endArrow=ERzeroToMany;endFill=0;endSize=10;strokeColor=#64748b;strokeWidth=1.2;fontSize=10;labelBackgroundColor=#ffffff;"><mxGeometry relative="1" as="geometry" /></mxCell></root>
|
|
</mxGraphModel>
|
|
</diagram>
|
|
</mxfile> |