erDiagram users ||--o{ workflow_requests : initiates users ||--o{ approval_levels : approves users ||--o{ participants : participates users ||--o{ work_notes : posts users ||--o{ documents : uploads users ||--o{ activities : performs users ||--o{ notifications : receives users ||--o{ user_sessions : has workflow_requests ||--|{ approval_levels : has workflow_requests ||--o{ participants : involves workflow_requests ||--o{ documents : contains workflow_requests ||--o{ work_notes : has workflow_requests ||--o{ activities : logs workflow_requests ||--o{ tat_tracking : monitors workflow_requests ||--o{ notifications : triggers workflow_requests ||--|| conclusion_remarks : concludes workflow_requests ||--|| dealer_claim_details : claim_details workflow_requests ||--|| dealer_proposal_details : proposal_details dealer_proposal_details ||--o{ dealer_proposal_cost_items : cost_items workflow_requests ||--|| dealer_completion_details : completion_details workflow_requests ||--|| internal_orders : internal_order workflow_requests ||--|| claim_budget_tracking : budget_tracking workflow_requests ||--|| claim_invoices : claim_invoice workflow_requests ||--|| claim_credit_notes : claim_credit_note work_notes ||--o{ work_note_attachments : has workflow_requests ||--o{ report_cache : caches workflow_requests ||--o{ audit_logs : audits workflow_requests ||--o{ workflow_templates : templates users ||--o{ system_settings : updates workflow_requests ||--o{ dealer_claim_history : has_history workflow_requests ||--o{ tat_alerts : triggers workflow_requests ||--|| request_summaries : summarizes request_summaries ||--o{ shared_summaries : shared_as users ||--o{ shared_summaries : shares users ||--o{ subscriptions : has_device users ||--o{ holidays : manages users ||--o{ activity_types : manages users { uuid user_id PK varchar employee_id varchar okta_sub varchar email varchar first_name varchar last_name varchar display_name varchar department varchar designation varchar phone varchar manager varchar second_email text job_title varchar employee_number varchar postal_address varchar mobile_phone jsonb ad_groups jsonb location boolean is_active enum role timestamp last_login timestamp created_at timestamp updated_at } workflow_requests { uuid request_id PK varchar request_number uuid initiator_id FK varchar template_type varchar title text description enum priority enum status integer current_level integer total_levels decimal total_tat_hours timestamp submission_date timestamp closure_date text conclusion_remark text ai_generated_conclusion boolean is_draft boolean is_deleted timestamp created_at timestamp updated_at } approval_levels { uuid level_id PK uuid request_id FK integer level_number varchar level_name uuid approver_id FK varchar approver_email varchar approver_name decimal tat_hours integer tat_days enum status timestamp level_start_time timestamp level_end_time timestamp action_date text comments text rejection_reason boolean is_final_approver decimal elapsed_hours decimal remaining_hours decimal tat_percentage_used timestamp created_at timestamp updated_at } participants { uuid participant_id PK uuid request_id FK uuid user_id FK varchar user_email varchar user_name enum participant_type boolean can_comment boolean can_view_documents boolean can_download_documents boolean notification_enabled uuid added_by FK timestamp added_at boolean is_active } documents { uuid document_id PK uuid request_id FK uuid uploaded_by FK varchar file_name varchar original_file_name varchar file_type varchar file_extension bigint file_size varchar file_path varchar storage_url varchar mime_type varchar checksum boolean is_google_doc varchar google_doc_url enum category integer version uuid parent_document_id boolean is_deleted integer download_count timestamp uploaded_at } work_notes { uuid note_id PK uuid request_id FK uuid user_id FK varchar user_name varchar user_role text message varchar message_type boolean is_priority boolean has_attachment uuid parent_note_id uuid[] mentioned_users jsonb reactions boolean is_edited boolean is_deleted timestamp created_at timestamp updated_at } work_note_attachments { uuid attachment_id PK uuid note_id FK varchar file_name varchar file_type bigint file_size varchar file_path varchar storage_url boolean is_downloadable integer download_count timestamp uploaded_at } activities { uuid activity_id PK uuid request_id FK uuid user_id FK varchar user_name varchar activity_type text activity_description varchar activity_category varchar severity jsonb metadata boolean is_system_event varchar ip_address text user_agent timestamp created_at } notifications { uuid notification_id PK uuid user_id FK uuid request_id FK varchar notification_type varchar title text message boolean is_read enum priority varchar action_url boolean action_required jsonb metadata varchar[] sent_via boolean email_sent boolean sms_sent boolean push_sent timestamp read_at timestamp expires_at timestamp created_at } tat_tracking { uuid tracking_id PK uuid request_id FK uuid level_id FK varchar tracking_type enum tat_status decimal total_tat_hours decimal elapsed_hours decimal remaining_hours decimal percentage_used boolean threshold_50_breached timestamp threshold_50_alerted_at boolean threshold_80_breached timestamp threshold_80_alerted_at boolean threshold_100_breached timestamp threshold_100_alerted_at integer alert_count timestamp last_calculated_at } conclusion_remarks { uuid conclusion_id PK uuid request_id FK text ai_generated_remark varchar ai_model_used decimal ai_confidence_score text final_remark uuid edited_by FK boolean is_edited integer edit_count jsonb approval_summary jsonb document_summary text[] key_discussion_points timestamp generated_at timestamp finalized_at } audit_logs { uuid audit_id PK uuid user_id FK varchar entity_type uuid entity_id varchar action varchar action_category jsonb old_values jsonb new_values text changes_summary varchar ip_address text user_agent varchar session_id varchar request_method varchar request_url integer response_status integer execution_time_ms timestamp created_at } user_sessions { uuid session_id PK uuid user_id FK varchar session_token varchar refresh_token varchar ip_address text user_agent varchar device_type varchar browser varchar os timestamp login_at timestamp last_activity_at timestamp logout_at timestamp expires_at boolean is_active varchar logout_reason } system_settings { uuid setting_id PK varchar setting_key text setting_value varchar setting_type varchar setting_category text description boolean is_editable boolean is_sensitive jsonb validation_rules text default_value uuid updated_by FK timestamp created_at timestamp updated_at } workflow_templates { uuid template_id PK varchar template_name text template_description varchar template_category jsonb approval_levels_config decimal default_tat_hours boolean is_active integer usage_count uuid created_by FK timestamp created_at timestamp updated_at } report_cache { uuid cache_id PK varchar report_type jsonb report_params jsonb report_data uuid generated_by FK timestamp generated_at timestamp expires_at integer access_count timestamp last_accessed_at } dealer_claim_details { uuid claim_id PK uuid request_id varchar activity_name varchar activity_type varchar dealer_code varchar dealer_name varchar dealer_email varchar dealer_phone text dealer_address date activity_date varchar location date period_start_date date period_end_date timestamp created_at timestamp updated_at } dealer_proposal_details { uuid proposal_id PK uuid request_id string proposal_document_path string proposal_document_url decimal total_estimated_budget string timeline_mode date expected_completion_date int expected_completion_days text dealer_comments date submitted_at timestamp created_at timestamp updated_at } dealer_proposal_cost_items { uuid cost_item_id PK uuid proposal_id FK uuid request_id FK string item_description decimal amount int item_order timestamp created_at timestamp updated_at } dealer_completion_details { uuid completion_id PK uuid request_id date activity_completion_date int number_of_participants decimal total_closed_expenses date submitted_at timestamp created_at timestamp updated_at } dealer_completion_expenses { uuid expense_id PK uuid request_id uuid completion_id string description decimal amount timestamp created_at timestamp updated_at } internal_orders { uuid io_id PK uuid request_id string io_number text io_remark decimal io_available_balance decimal io_blocked_amount decimal io_remaining_balance uuid organized_by FK date organized_at string sap_document_number enum status timestamp created_at timestamp updated_at } claim_budget_tracking { uuid budget_id PK uuid request_id decimal initial_estimated_budget decimal proposal_estimated_budget date proposal_submitted_at decimal approved_budget date approved_at uuid approved_by FK decimal io_blocked_amount date io_blocked_at decimal closed_expenses date closed_expenses_submitted_at decimal final_claim_amount date final_claim_amount_approved_at uuid final_claim_amount_approved_by FK decimal credit_note_amount date credit_note_issued_at enum budget_status string currency decimal variance_amount decimal variance_percentage uuid last_modified_by FK date last_modified_at text modification_reason timestamp created_at timestamp updated_at } claim_invoices { uuid invoice_id PK uuid request_id string invoice_number date invoice_date string dms_number decimal amount string status text description timestamp created_at timestamp updated_at } claim_credit_notes { uuid credit_note_id PK uuid request_id string credit_note_number date credit_note_date decimal credit_note_amount string status text reason text description timestamp created_at timestamp updated_at } dealers { uuid dealer_id PK varchar sales_code varchar service_code varchar dealer_name varchar region varchar state varchar city varchar location boolean is_active timestamp created_at timestamp updated_at } dealer_claim_history { uuid history_id PK uuid request_id FK uuid approval_level_id FK integer version enum snapshot_type jsonb snapshot_data text change_reason uuid changed_by FK timestamp created_at } holidays { uuid holiday_id PK date holiday_date varchar holiday_name enum holiday_type boolean is_active uuid created_by FK timestamp created_at timestamp updated_at } activity_types { uuid activity_type_id PK varchar title varchar item_code varchar taxation_type boolean is_active uuid created_by FK timestamp created_at timestamp updated_at } tat_alerts { uuid alert_id PK uuid request_id FK uuid level_id FK uuid approver_id FK enum alert_type boolean is_breached timestamp alert_sent_at timestamp created_at } request_summaries { uuid summary_id PK uuid request_id FK uuid initiator_id FK varchar title text description text closing_remarks boolean is_ai_generated timestamp created_at timestamp updated_at } shared_summaries { uuid shared_summary_id PK uuid summary_id FK uuid shared_by FK uuid shared_with FK boolean is_read timestamp shared_at timestamp created_at } subscriptions { uuid subscription_id PK uuid user_id FK varchar endpoint varchar p256dh varchar auth timestamp created_at }