Files
service-finder/docs/v02/database_schema_20260323_120944.md
2026-03-23 21:43:40 +00:00

57 KiB

🗺️ Service Finder Adatbázis Térkép

Generálva: 2026-03-23 12:09:44

Séma: audit

Tábla: audit_logs

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('audit.audit_logs_id_seq'::regclass) 🔑 PK
user_id INTEGER True 🔗 FK
severity VARCHAR(8) False
action VARCHAR(100) False
target_type VARCHAR(50) True
target_id VARCHAR(50) True
old_data JSON True
new_data JSON True
ip_address VARCHAR(45) True
user_agent TEXT True
timestamp TIMESTAMP False now()

Tábla: financial_ledger

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('audit.financial_ledger_id_seq'::regclass) 🔑 PK
user_id INTEGER True 🔗 FK
person_id BIGINT True 🔗 FK
amount NUMERIC(18, 4) False
currency VARCHAR(10) True
transaction_type VARCHAR(50) True
related_agent_id INTEGER True 🔗 FK
details JSON False '{}'::jsonb
created_at TIMESTAMP False now()
entry_type VARCHAR(6) False
balance_after NUMERIC(18, 4) True
wallet_type VARCHAR(12) True
issuer_id INTEGER True 🔗 FK
invoice_status VARCHAR(50) True
tax_amount NUMERIC(18, 4) True
gross_amount NUMERIC(18, 4) True
net_amount NUMERIC(18, 4) True
transaction_id UUID False
status VARCHAR(9) False

Tábla: operational_logs

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('audit.operational_logs_id_seq'::regclass) 🔑 PK
user_id INTEGER True 🔗 FK
action VARCHAR(100) False
resource_type VARCHAR(50) True
resource_id VARCHAR(100) True
details JSON False '{}'::jsonb
ip_address VARCHAR(45) True
created_at TIMESTAMP False now()

Tábla: process_logs

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('audit.process_logs_id_seq'::regclass) 🔑 PK
process_name VARCHAR(100) False
start_time TIMESTAMP False now()
end_time TIMESTAMP True
items_processed INTEGER False
items_failed INTEGER False
details JSON False '{}'::jsonb
created_at TIMESTAMP False now()

Tábla: security_audit_logs

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('audit.security_audit_logs_id_seq'::regclass) 🔑 PK
action VARCHAR(50) True
actor_id INTEGER True 🔗 FK
target_id INTEGER True 🔗 FK
confirmed_by_id INTEGER True 🔗 FK
is_critical BOOLEAN False
payload_before JSON False
payload_after JSON False
created_at TIMESTAMP False now()

Séma: finance

Tábla: credit_logs

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('finance.credit_logs_id_seq'::regclass) 🔑 PK
org_id INTEGER False 🔗 FK
amount NUMERIC(10, 2) False
description VARCHAR True
created_at TIMESTAMP False now()

Tábla: exchange_rates

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('finance.exchange_rates_id_seq'::regclass) 🔑 PK
rate NUMERIC(18, 6) False

Tábla: issuers

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('finance.issuers_id_seq'::regclass) 🔑 PK
name VARCHAR(255) False
tax_id VARCHAR(50) True
type VARCHAR(5) False 'OTHER'::finance.issuer_type
revenue_limit NUMERIC(18, 4) False 19500000.0
current_revenue NUMERIC(18, 4) False 0.0
is_active BOOLEAN False true
api_config JSON False
created_at TIMESTAMP False
updated_at TIMESTAMP False

Tábla: org_subscriptions

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('finance.org_subscriptions_id_seq'::regclass) 🔑 PK
org_id INTEGER False 🔗 FK
tier_id INTEGER False 🔗 FK
valid_from TIMESTAMP False now()
valid_until TIMESTAMP True
is_active BOOLEAN False

Tábla: payment_intents

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('finance.payment_intents_id_seq'::regclass) 🔑 PK
intent_token UUID False
payer_id INTEGER False 🔗 FK
beneficiary_id INTEGER True 🔗 FK
target_wallet_type VARCHAR(12) False
net_amount NUMERIC(18, 4) False
handling_fee NUMERIC(18, 4) False
gross_amount NUMERIC(18, 4) False
currency VARCHAR(10) False
status VARCHAR(10) False
stripe_session_id VARCHAR(255) True
stripe_payment_intent_id VARCHAR(255) True
stripe_customer_id VARCHAR(255) True
metadata JSON False '{}'::jsonb
created_at TIMESTAMP False now()
updated_at TIMESTAMP False now()
completed_at TIMESTAMP True
expires_at TIMESTAMP True
transaction_id UUID True
is_deleted BOOLEAN False
deleted_at TIMESTAMP True

Tábla: withdrawal_requests

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('finance.withdrawal_requests_id_seq'::regclass) 🔑 PK
user_id INTEGER False 🔗 FK
amount NUMERIC(18, 4) False
currency VARCHAR(10) False
payout_method VARCHAR(13) False
status VARCHAR(9) False
reason VARCHAR(500) True
approved_by_id INTEGER True 🔗 FK
approved_at TIMESTAMP True
refund_transaction_id UUID True
created_at TIMESTAMP False now()
updated_at TIMESTAMP False now()
is_deleted BOOLEAN False
deleted_at TIMESTAMP True

Séma: fleet

Tábla: asset_assignments

Oszlop Típus Nullable Alapértelmezett Extrák
id UUID False 🔑 PK
asset_id UUID False 🔗 FK
organization_id INTEGER False 🔗 FK
status VARCHAR(30) False

Tábla: branches

Oszlop Típus Nullable Alapértelmezett Extrák
id UUID False 🔑 PK
organization_id INTEGER False 🔗 FK
address_id UUID True 🔗 FK
name VARCHAR(100) False
is_main BOOLEAN False
postal_code VARCHAR(10) True
city VARCHAR(100) True
street_name VARCHAR(150) True
street_type VARCHAR(50) True
house_number VARCHAR(20) True
stairwell VARCHAR(20) True
floor VARCHAR(20) True
door VARCHAR(20) True
hrsz VARCHAR(50) True
opening_hours JSONB False '{}'::jsonb
branch_rating DOUBLE PRECISION False
status VARCHAR(30) False
is_deleted BOOLEAN False
created_at TIMESTAMP False now()
location geometry(POINT,4326) True

Tábla: org_sales_assignments

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('fleet.org_sales_assignments_id_seq'::regclass) 🔑 PK
organization_id INTEGER True 🔗 FK
agent_user_id INTEGER True 🔗 FK
assigned_at TIMESTAMP False now()
is_active BOOLEAN False

Tábla: organization_financials

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('fleet.organization_financials_id_seq'::regclass) 🔑 PK
organization_id INTEGER False 🔗 FK
year INTEGER False
turnover NUMERIC(18, 2) True
profit NUMERIC(18, 2) True
employee_count INTEGER True
source VARCHAR(50) True
updated_at TIMESTAMP False now()

Tábla: organization_members

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('fleet.organization_members_id_seq'::regclass) 🔑 PK
organization_id INTEGER False 🔗 FK
user_id INTEGER True 🔗 FK
person_id BIGINT True 🔗 FK
role VARCHAR(7) False
permissions JSON False '{}'::jsonb
is_permanent BOOLEAN False
is_verified BOOLEAN False

Tábla: organizations

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('fleet.organizations_id_seq'::regclass) 🔑 PK
name VARCHAR(255) False
legal_owner_id BIGINT True 🔗 FK
first_registered_at TIMESTAMP False
current_lifecycle_started_at TIMESTAMP False
last_deactivated_at TIMESTAMP True
lifecycle_index INTEGER False 1
address_id UUID True 🔗 FK
is_anonymized BOOLEAN False false
anonymized_at TIMESTAMP True
full_name VARCHAR False
display_name VARCHAR(50) True
folder_slug VARCHAR(12) False
default_currency VARCHAR(3) False 'HUF'::character varying
country_code VARCHAR(2) False 'HU'::character varying
language VARCHAR(5) False 'hu'::character varying
address_zip VARCHAR(10) True
address_city VARCHAR(100) True
address_street_name VARCHAR(150) True
address_street_type VARCHAR(50) True
address_house_number VARCHAR(20) True
address_hrsz VARCHAR(50) True
tax_number VARCHAR(20) True
reg_number VARCHAR(50) True
org_type VARCHAR(16) False 'individual'::fleet.orgtype
status VARCHAR(30) False 'pending_verification'::character varying
is_deleted BOOLEAN False false
is_active BOOLEAN False true
subscription_plan VARCHAR(30) False
base_asset_limit INTEGER False
purchased_extra_slots INTEGER False
notification_settings JSON False
external_integration_config JSON False
owner_id INTEGER True 🔗 FK
is_verified BOOLEAN False false
created_at TIMESTAMP False
updated_at TIMESTAMP True
is_ownership_transferable BOOLEAN False

Séma: gamification

Tábla: badges

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('gamification.badges_id_seq'::regclass) 🔑 PK
name VARCHAR False
description VARCHAR False
icon_url VARCHAR True

Tábla: competitions

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('gamification.competitions_id_seq'::regclass) 🔑 PK
name VARCHAR False
description TEXT True
start_date TIMESTAMP False
end_date TIMESTAMP False
is_active BOOLEAN False

Tábla: level_configs

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('gamification.level_configs_id_seq'::regclass) 🔑 PK
level_number INTEGER False
min_points INTEGER False
rank_name VARCHAR False
is_penalty BOOLEAN False

Tábla: point_rules

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('gamification.point_rules_id_seq'::regclass) 🔑 PK
action_key VARCHAR False
points INTEGER False
description VARCHAR True
is_active BOOLEAN False

Tábla: points_ledger

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('gamification.points_ledger_id_seq'::regclass) 🔑 PK
user_id INTEGER False 🔗 FK
points INTEGER False
penalty_change INTEGER False 0
reason VARCHAR False
created_at TIMESTAMP False now()

Tábla: seasonal_competitions

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('gamification.seasonal_competitions_id_seq'::regclass) 🔑 PK
name VARCHAR(200) False
description TEXT True
season_id INTEGER False 🔗 FK
start_date DATE False
end_date DATE False
rules JSONB True
status VARCHAR(20) False
created_at TIMESTAMP False now()
updated_at TIMESTAMP False now()

Tábla: seasons

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False 🔑 PK
name VARCHAR(100) False
start_date DATE False
end_date DATE False
is_active BOOLEAN True false
created_at TIMESTAMP True now()

Tábla: user_badges

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('gamification.user_badges_id_seq'::regclass) 🔑 PK
user_id INTEGER False 🔗 FK
badge_id INTEGER False 🔗 FK
earned_at TIMESTAMP False now()

Tábla: user_contributions

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False 🔑 PK
user_id INTEGER False 🔗 FK
service_fingerprint VARCHAR(255) False
action_type VARCHAR(30) False
provided_fields JSONB True
earned_xp INTEGER False 0
cooldown_end TIMESTAMP False
created_at TIMESTAMP True now()
season_id INTEGER True
contribution_type VARCHAR(50) False
entity_type VARCHAR(50) True
entity_id INTEGER True
points_awarded INTEGER False 0
xp_awarded INTEGER False 0
status VARCHAR(20) False 'pending'::character varying
reviewed_by INTEGER True
reviewed_at TIMESTAMP True

Tábla: user_scores

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('gamification.user_scores_id_seq'::regclass) 🔑 PK
user_id INTEGER False 🔗 FK
competition_id INTEGER False 🔗 FK
points INTEGER False
last_updated TIMESTAMP False now()

Tábla: user_stats

Oszlop Típus Nullable Alapértelmezett Extrák
user_id INTEGER False 🔑 PK 🔗 FK
total_xp INTEGER False
social_points INTEGER False
current_level INTEGER False
penalty_points INTEGER False 0
restriction_level INTEGER False 0
updated_at TIMESTAMP False now()
penalty_quota_remaining INTEGER False 3
banned_until TIMESTAMP True
places_discovered INTEGER False 0
places_validated INTEGER False 0

Séma: identity

Tábla: active_vouchers

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('identity.active_vouchers_id_seq'::regclass) 🔑 PK
wallet_id INTEGER False 🔗 FK
amount NUMERIC(18, 4) False
original_amount NUMERIC(18, 4) False
expires_at TIMESTAMP False
created_at TIMESTAMP False now()

Tábla: persons

Oszlop Típus Nullable Alapértelmezett Extrák
id BIGINT False nextval('identity.persons_id_seq'::regclass) 🔑 PK
user_id INTEGER True 🔗 FK
id_uuid UUID False gen_random_uuid()
address_id UUID True 🔗 FK
identity_hash VARCHAR(64) True
last_name VARCHAR False
first_name VARCHAR False
phone VARCHAR True
mothers_last_name VARCHAR True
mothers_first_name VARCHAR True
birth_place VARCHAR True
birth_date TIMESTAMP True
identity_docs JSON False
ice_contact JSON False
lifetime_xp BIGINT False
penalty_points INTEGER False
social_reputation NUMERIC(3, 2) False
is_sales_agent BOOLEAN False
is_active BOOLEAN False true
is_ghost BOOLEAN False false
created_at TIMESTAMP False
updated_at TIMESTAMP True

Tábla: social_accounts

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('identity.social_accounts_id_seq'::regclass) 🔑 PK
user_id INTEGER False 🔗 FK
provider VARCHAR(50) False
social_id VARCHAR(255) False
email VARCHAR(255) False
extra_data JSON False '{}'::jsonb
created_at TIMESTAMP False now()

Tábla: user_trust_profiles

Oszlop Típus Nullable Alapértelmezett Extrák
user_id INTEGER False 🔑 PK 🔗 FK
trust_score INTEGER False
maintenance_score NUMERIC(5, 2) False
quality_score NUMERIC(5, 2) False
preventive_score NUMERIC(5, 2) False
last_calculated TIMESTAMP False now()

Tábla: users

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('identity.users_id_seq'::regclass) 🔑 PK
email VARCHAR(255) False
hashed_password VARCHAR True
role VARCHAR(13) False 'user'::identity.userrole
person_id BIGINT True 🔗 FK
subscription_plan VARCHAR(30) False
subscription_expires_at TIMESTAMP True
is_vip BOOLEAN False
referral_code VARCHAR(20) True
referred_by_id INTEGER True 🔗 FK
current_sales_agent_id INTEGER True 🔗 FK
is_active BOOLEAN False false
is_deleted BOOLEAN False false
folder_slug VARCHAR(12) True
preferred_language VARCHAR(5) False
region_code VARCHAR(5) False
preferred_currency VARCHAR(3) False
scope_level VARCHAR(30) False
scope_id VARCHAR(50) True
custom_permissions JSON False
created_at TIMESTAMP False

Tábla: verification_tokens

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('identity.verification_tokens_id_seq'::regclass) 🔑 PK
token UUID False
user_id INTEGER False 🔗 FK
token_type VARCHAR(20) False
created_at TIMESTAMP False now()
expires_at TIMESTAMP False
is_used BOOLEAN False

Tábla: wallets

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('identity.wallets_id_seq'::regclass) 🔑 PK
user_id INTEGER False 🔗 FK
earned_credits NUMERIC(18, 4) False 0
purchased_credits NUMERIC(18, 4) False 0
service_coins NUMERIC(18, 4) False 0
currency VARCHAR(3) False

Séma: marketplace

Tábla: discovery_parameters

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('marketplace.discovery_parameters_id_seq'::regclass) 🔑 PK
city VARCHAR(100) False
keyword VARCHAR(100) False
is_active BOOLEAN False
last_run_at TIMESTAMP True
country_code VARCHAR(2) True 'HU'::character varying

Tábla: expertise_tags

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('marketplace.expertise_tags_id_seq'::regclass) 🔑 PK
key VARCHAR(50) False
name_hu VARCHAR(100) True
name_en VARCHAR(100) True
category VARCHAR(30) True
is_official BOOLEAN False true
suggested_by_id BIGINT True 🔗 FK
discovery_points INTEGER False 10
search_keywords JSONB False '[]'::jsonb
usage_count INTEGER False 0
icon VARCHAR(50) True
description TEXT True
created_at TIMESTAMP False now()
updated_at TIMESTAMP True

Tábla: ratings

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('marketplace.ratings_id_seq'::regclass) 🔑 PK
author_id INTEGER False 🔗 FK
target_organization_id INTEGER True 🔗 FK
target_user_id INTEGER True 🔗 FK
target_branch_id UUID True 🔗 FK
score NUMERIC(3, 2) False
comment TEXT True
images JSONB False '[]'::jsonb
is_verified BOOLEAN False
created_at TIMESTAMP False now()

Tábla: service_expertises

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('marketplace.service_expertises_id_seq'::regclass) 🔑 PK
service_id INTEGER False 🔗 FK
expertise_id INTEGER False 🔗 FK
confidence_level INTEGER False 0
created_at TIMESTAMP False now()

Tábla: service_profiles

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('marketplace.service_profiles_id_seq'::regclass) 🔑 PK
organization_id INTEGER True 🔗 FK
parent_id INTEGER True 🔗 FK
fingerprint VARCHAR(255) False
location geometry(POINT,4326) False
status VARCHAR(9) False 'ghost'::marketplace.service_status
last_audit_at TIMESTAMP False now()
google_place_id VARCHAR(100) True
rating DOUBLE PRECISION True
user_ratings_total INTEGER True
rating_verified_count INTEGER True 0
rating_price_avg DOUBLE PRECISION True
rating_quality_avg DOUBLE PRECISION True
rating_time_avg DOUBLE PRECISION True
rating_communication_avg DOUBLE PRECISION True
rating_overall DOUBLE PRECISION True
last_review_at TIMESTAMP True
vibe_analysis JSONB False '{}'::jsonb
social_links JSONB False '{}'::jsonb
specialization_tags JSONB False '{}'::jsonb
trust_score INTEGER False
is_verified BOOLEAN False
verification_log JSONB False '{}'::jsonb
opening_hours JSONB False '{}'::jsonb
contact_phone VARCHAR True
contact_email VARCHAR True
website VARCHAR True
bio TEXT True
created_at TIMESTAMP False now()
updated_at TIMESTAMP True

Tábla: service_providers

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('marketplace.service_providers_id_seq'::regclass) 🔑 PK
name VARCHAR False
address VARCHAR False
category VARCHAR True
status VARCHAR(8) False
source VARCHAR(15) False
validation_score INTEGER False
evidence_image_path VARCHAR True
added_by_user_id INTEGER True 🔗 FK
created_at TIMESTAMP False now()

Tábla: service_requests

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('marketplace.service_requests_id_seq'::regclass) 🔑 PK
user_id INTEGER False 🔗 FK
asset_id UUID True 🔗 FK
branch_id UUID True 🔗 FK
status VARCHAR(50) False 'pending'::character varying
description TEXT True
price_estimate NUMERIC(10, 2) True
requested_date TIMESTAMP True
created_at TIMESTAMP False now()
updated_at TIMESTAMP False now()

Tábla: service_reviews

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('marketplace.service_reviews_id_seq'::regclass) 🔑 PK
service_id INTEGER False 🔗 FK
user_id INTEGER False 🔗 FK
transaction_id UUID False
price_rating INTEGER False
quality_rating INTEGER False
time_rating INTEGER False
communication_rating INTEGER False
comment TEXT True
is_verified BOOLEAN False true
created_at TIMESTAMP False now()
updated_at TIMESTAMP True

Tábla: service_specialties

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('marketplace.service_specialties_id_seq'::regclass) 🔑 PK
parent_id INTEGER True 🔗 FK
name VARCHAR False
slug VARCHAR False

Tábla: service_staging

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('marketplace.service_staging_id_seq'::regclass) 🔑 PK
name VARCHAR False
postal_code VARCHAR(10) True
city VARCHAR(100) True
full_address VARCHAR True
fingerprint VARCHAR(255) False
raw_data JSONB False '{}'::jsonb
status VARCHAR(20) False 'pending'::character varying
created_at TIMESTAMP False now()
contact_phone VARCHAR True
website VARCHAR True
external_id VARCHAR True
contact_email VARCHAR True
trust_score INTEGER True 0
audit_trail JSONB True
rejection_reason VARCHAR(500) True
organization_id INTEGER True
service_profile_id INTEGER True
published_at TIMESTAMP True
source VARCHAR(50) True
description TEXT True
submitted_by INTEGER True
updated_at TIMESTAMP True
validation_level INTEGER False 40

Tábla: votes

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('marketplace.votes_id_seq'::regclass) 🔑 PK
user_id INTEGER False 🔗 FK
provider_id INTEGER False 🔗 FK
vote_value INTEGER False

Séma: system

Tábla: addresses

Oszlop Típus Nullable Alapértelmezett Extrák
id UUID False gen_random_uuid() 🔑 PK
postal_code_id INTEGER True 🔗 FK
street_name VARCHAR(200) False
street_type VARCHAR(50) False
house_number VARCHAR(50) False
stairwell VARCHAR(20) True
floor VARCHAR(20) True
door VARCHAR(20) True
parcel_id VARCHAR(50) True
full_address_text TEXT True
latitude DOUBLE PRECISION True
longitude DOUBLE PRECISION True
created_at TIMESTAMP False

Tábla: competitions_deprecated

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('system.competitions_id_seq'::regclass) 🔑 PK
name VARCHAR False
description TEXT True
start_date TIMESTAMP False
end_date TIMESTAMP False
is_active BOOLEAN False

Tábla: documents

Oszlop Típus Nullable Alapértelmezett Extrák
id UUID False gen_random_uuid() 🔑 PK
parent_type VARCHAR(20) True
parent_id VARCHAR(50) True
doc_type VARCHAR(50) True
original_name VARCHAR(255) True
file_hash VARCHAR(64) True
file_ext VARCHAR(10) True 'webp'::character varying
mime_type VARCHAR(100) True 'image/webp'::character varying
file_size INTEGER True
has_thumbnail BOOLEAN True false
thumbnail_path VARCHAR(255) True
uploaded_by INTEGER True 🔗 FK
status VARCHAR(50) True 'uploaded'::character varying
ocr_data TEXT True
error_log TEXT True
created_at TIMESTAMP True CURRENT_TIMESTAMP

Tábla: geo_postal_codes

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('system.geo_postal_codes_id_seq'::regclass) 🔑 PK
country_code VARCHAR(5) False
zip_code VARCHAR(10) False
city VARCHAR(100) False

Tábla: geo_street_types

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('system.geo_street_types_id_seq'::regclass) 🔑 PK
name VARCHAR(50) False

Tábla: geo_streets

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('system.geo_streets_id_seq'::regclass) 🔑 PK
postal_code_id INTEGER True 🔗 FK
name VARCHAR(200) False

Tábla: internal_notifications

Oszlop Típus Nullable Alapértelmezett Extrák
id UUID False 🔑 PK
user_id INTEGER False 🔗 FK
title VARCHAR(255) False
message TEXT False
category VARCHAR(50) False 'info'::character varying
priority VARCHAR(20) False 'medium'::character varying
is_read BOOLEAN False
created_at TIMESTAMP False now()
read_at TIMESTAMP True
data JSONB True

Tábla: pending_actions

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('system.pending_actions_id_seq'::regclass) 🔑 PK
requester_id INTEGER False 🔗 FK
approver_id INTEGER True 🔗 FK
status VARCHAR(8) False
action_type VARCHAR(50) False
payload JSONB False
reason VARCHAR(255) True
created_at TIMESTAMP False now()
expires_at TIMESTAMP False (now() + '24:00:00'::interval)
processed_at TIMESTAMP True

Tábla: service_staging

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('system.service_staging_id_seq1'::regclass) 🔑 PK
name VARCHAR(255) False
source VARCHAR(50) False
external_id VARCHAR(100) True
fingerprint VARCHAR(64) False
postal_code VARCHAR(20) True
city VARCHAR(100) False
full_address VARCHAR(500) True
contact_phone VARCHAR(50) True
website VARCHAR(255) True
contact_email VARCHAR(255) True
raw_data JSONB False '{}'::jsonb
status VARCHAR(20) False
trust_score INTEGER False
created_at TIMESTAMP False now()
updated_at TIMESTAMP True
read_at TIMESTAMP True
data JSONB True

Tábla: service_staging_deprecated

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('system.service_staging_id_seq'::regclass) 🔑 PK
name VARCHAR False
postal_code VARCHAR(10) True
city VARCHAR(100) True
full_address VARCHAR True
fingerprint VARCHAR(255) False
raw_data JSONB False '{}'::jsonb
status VARCHAR(20) False 'pending'::character varying
created_at TIMESTAMP False now()
source VARCHAR(255) True
external_id VARCHAR(255) True
contact_phone VARCHAR(50) True
website VARCHAR(255) True
contact_email VARCHAR(255) True
trust_score INTEGER False
updated_at TIMESTAMP True
read_at TIMESTAMP True
data JSONB True

Tábla: staged_vehicle_data

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('system.staged_vehicle_data_id_seq'::regclass) 🔑 PK
source_url VARCHAR True
raw_data JSONB False '{}'::jsonb
status VARCHAR(20) False
error_log VARCHAR True
created_at TIMESTAMP False now()

Tábla: subscription_tiers

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('system.subscription_tiers_id_seq'::regclass) 🔑 PK
name VARCHAR(100) False
rules JSONB False
is_custom BOOLEAN False false

Tábla: system_parameters

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('system.system_parameters_id_seq'::regclass) 🔑 PK
key VARCHAR False
category VARCHAR False 'general'::character varying
value JSONB False
scope_level VARCHAR(7) False 'global'::system.parameter_scope
scope_id VARCHAR(50) True
is_active BOOLEAN False
description VARCHAR True
last_modified_by INTEGER True
updated_at TIMESTAMP False now()

Tábla: translations

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('system.translations_id_seq'::regclass) 🔑 PK
key VARCHAR(255) False
lang VARCHAR(5) False
value TEXT False
is_published BOOLEAN False true

Tábla: user_scores_deprecated

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('system.user_scores_id_seq'::regclass) 🔑 PK
user_id INTEGER False 🔗 FK
competition_id INTEGER False 🔗 FK
points INTEGER False
last_updated TIMESTAMP False now()

Séma: vehicle

Tábla: asset_costs

Oszlop Típus Nullable Alapértelmezett Extrák
id UUID False 🔑 PK
asset_id UUID False 🔗 FK
organization_id INTEGER False 🔗 FK
cost_category VARCHAR(50) False
amount_net NUMERIC(18, 2) False
currency VARCHAR(3) False
date TIMESTAMP False now()
invoice_number VARCHAR(100) True
data JSONB False '{}'::jsonb

Tábla: asset_events

Oszlop Típus Nullable Alapértelmezett Extrák
id UUID False 🔑 PK
asset_id UUID False 🔗 FK
event_type VARCHAR(50) False

Tábla: asset_financials

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('vehicle.asset_financials_id_seq'::regclass) 🔑 PK
asset_id UUID False 🔗 FK
purchase_price_net NUMERIC(18, 2) False
purchase_price_gross NUMERIC(18, 2) False
vat_rate NUMERIC(5, 2) False
activation_date TIMESTAMP True
financing_type VARCHAR(50) False
accounting_details JSONB False '{}'::jsonb

Tábla: asset_inspections

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('vehicle.asset_inspections_id_seq'::regclass) 🔑 PK
asset_id UUID False 🔗 FK
inspector_id INTEGER False 🔗 FK
timestamp TIMESTAMP False now()
checklist_results JSONB False
is_safe BOOLEAN False

Tábla: asset_reviews

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('vehicle.asset_reviews_id_seq'::regclass) 🔑 PK
asset_id UUID False 🔗 FK
user_id INTEGER False 🔗 FK
overall_rating INTEGER True
comment TEXT True
created_at TIMESTAMP False now()

Tábla: asset_telemetry

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('vehicle.asset_telemetry_id_seq'::regclass) 🔑 PK
asset_id UUID False 🔗 FK
current_mileage INTEGER False

Tábla: assets

Oszlop Típus Nullable Alapértelmezett Extrák
id UUID False gen_random_uuid() 🔑 PK
catalog_id INTEGER True 🔗 FK
vin VARCHAR(17) False
license_plate VARCHAR(20) True
name VARCHAR True
year_of_manufacture INTEGER True
first_registration_date TIMESTAMP True
current_mileage INTEGER False 0
condition_score INTEGER False 100
is_for_sale BOOLEAN False false
price NUMERIC(15, 2) True
currency VARCHAR(3) False 'EUR'::character varying
current_organization_id INTEGER True 🔗 FK
owner_person_id BIGINT True 🔗 FK
owner_org_id INTEGER True 🔗 FK
operator_person_id BIGINT True 🔗 FK
operator_org_id INTEGER True 🔗 FK
status VARCHAR(20) False 'active'::character varying
individual_equipment JSONB False
created_at TIMESTAMP False
updated_at TIMESTAMP True

Tábla: auto_data_crawler_queue

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('vehicle.auto_data_crawler_queue_id_seq'::regclass) 🔑 PK
url TEXT False
level VARCHAR(20) False
parent_id INTEGER True
name VARCHAR(255) True
status VARCHAR(20) True 'pending'::character varying
created_at TIMESTAMP True now()
updated_at TIMESTAMP True now()
error_msg VARCHAR(1000) True
retry_count INTEGER True 0
category VARCHAR(20) True 'car'::character varying

Tábla: catalog_discovery

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('vehicle.catalog_discovery_id_seq'::regclass) 🔑 PK
make VARCHAR(100) False
model VARCHAR(100) False
vehicle_class VARCHAR(50) False 'car'::character varying
market VARCHAR(20) False 'GLOBAL'::character varying
model_year INTEGER True
status VARCHAR(20) False 'pending'::character varying
source VARCHAR(100) True
priority_score INTEGER False 0
attempts INTEGER False 0
created_at TIMESTAMP False now()
updated_at TIMESTAMP False now()

Tábla: cost_categories

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('vehicle.cost_categories_id_seq'::regclass) 🔑 PK
code VARCHAR(50) True
parent_id INTEGER True 🔗 FK
name VARCHAR(100) False
description TEXT True
is_system BOOLEAN False false
created_at TIMESTAMP False
updated_at TIMESTAMP False

Tábla: costs

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('vehicle.costs_id_seq'::regclass) 🔑 PK
vehicle_id INTEGER False 🔗 FK
organization_id INTEGER True 🔗 FK
category_id INTEGER False 🔗 FK
amount NUMERIC(12, 2) False
currency VARCHAR(3) False '''HUF'''::character varying
odometer INTEGER False
date TIMESTAMP False
notes TEXT True
created_at TIMESTAMP False now()
updated_at TIMESTAMP False now()

Tábla: external_reference_library

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('vehicle.external_reference_library_id_seq'::regclass) 🔑 PK
source_name VARCHAR(50) True
make VARCHAR(100) True
model VARCHAR(100) True
generation VARCHAR(255) True
modification VARCHAR(255) True
year_from INTEGER True
year_to INTEGER True
power_kw INTEGER True
engine_cc INTEGER True
specifications JSON True
source_url VARCHAR(500) True
last_scraped_at TIMESTAMP True now()
created_at TIMESTAMP True now()
category VARCHAR(20) True 'car'::character varying
pipeline_status VARCHAR(30) True 'pending_enrich'::character varying
matched_vmd_id INTEGER True 🔗 FK

Tábla: feature_definitions

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('vehicle.feature_definitions_id_seq'::regclass) 🔑 PK
vehicle_type_id INTEGER False 🔗 FK
code VARCHAR(50) False
name VARCHAR(100) False
category VARCHAR(50) False

Tábla: gb_catalog_discovery

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('vehicle.gb_catalog_discovery_id_seq'::regclass) 🔑 PK
vrm VARCHAR(20) True
make VARCHAR(100) True
model VARCHAR(100) True
status VARCHAR(20) True 'pending'::character varying
created_at TIMESTAMP True now()

Tábla: model_feature_maps

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('vehicle.model_feature_maps_id_seq'::regclass) 🔑 PK
model_definition_id INTEGER False 🔗 FK
feature_id INTEGER False 🔗 FK
is_standard BOOLEAN False

Tábla: motorcycle_specs

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('vehicle.motorcycle_specs_id_seq'::regclass) 🔑 PK
crawler_id INTEGER True 🔗 FK
full_name TEXT True
raw_data JSONB True
url TEXT True
created_at TIMESTAMP True now()
updated_at TIMESTAMP True

Tábla: reference_lookup

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('vehicle.reference_lookup_id_seq'::regclass) 🔑 PK
make VARCHAR False
model VARCHAR False
year INTEGER True
specs JSONB False
source VARCHAR False
source_id VARCHAR True
updated_at TIMESTAMP True now()

Tábla: vehicle_catalog

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('vehicle.vehicle_catalog_id_seq'::regclass) 🔑 PK
make VARCHAR(100) True
model VARCHAR(100) True
master_definition_id INTEGER True 🔗 FK
generation VARCHAR True
year_from INTEGER True
year_to INTEGER True
fuel_type VARCHAR True
power_kw INTEGER True
engine_capacity INTEGER True
factory_data JSONB False

Tábla: vehicle_logbook

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('vehicle.vehicle_logbook_id_seq'::regclass) 🔑 PK
asset_id UUID False 🔗 FK
driver_id INTEGER False 🔗 FK
trip_type VARCHAR(30) False
is_reimbursable BOOLEAN False
start_mileage INTEGER False
end_mileage INTEGER True
distance_km NUMERIC(10, 2) True
start_lat NUMERIC(10, 6) True
start_lng NUMERIC(10, 6) True
end_lat NUMERIC(10, 6) True
end_lng NUMERIC(10, 6) True
gps_calculated_distance NUMERIC(10, 2) True
obd_verified BOOLEAN False
max_acceleration DOUBLE PRECISION True
average_speed DOUBLE PRECISION True

Tábla: vehicle_model_definitions

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('vehicle.vehicle_model_definitions_id_seq'::regclass) 🔑 PK
make VARCHAR(100) True
marketing_name VARCHAR(100) True
market VARCHAR(20) False 'EU'::character varying
official_marketing_name VARCHAR(255) True
attempts INTEGER False 0
last_error TEXT True
updated_at TIMESTAMP False now()
priority_score INTEGER False 0
normalized_name VARCHAR(255) True
marketing_name_aliases JSONB False '[]'::jsonb
engine_code VARCHAR(50) True
technical_code VARCHAR(100) False
variant_code VARCHAR(100) True
version_code VARCHAR(100) True
type_approval_number VARCHAR(100) True
seats INTEGER True
width INTEGER True
wheelbase INTEGER True
list_price INTEGER True
max_speed INTEGER True
towing_weight_unbraked INTEGER True
towing_weight_braked INTEGER True
fuel_consumption_combined NUMERIC(10, 2) True
co2_emissions_combined INTEGER True
vehicle_type_id INTEGER True 🔗 FK
vehicle_class VARCHAR(50) True
body_type VARCHAR(100) True
fuel_type VARCHAR(50) True
engine_capacity INTEGER False 0
power_kw INTEGER False 0
torque_nm INTEGER True
cylinders INTEGER True
cylinder_layout VARCHAR(50) True
curb_weight INTEGER True
max_weight INTEGER True
euro_classification VARCHAR(20) True
doors INTEGER True
transmission_type VARCHAR(50) True
drive_type VARCHAR(50) True
year_from INTEGER True
year_to INTEGER True
production_status VARCHAR(50) True
status VARCHAR(50) False
is_manual BOOLEAN False false
source VARCHAR(100) True
raw_search_context TEXT False ''::text
research_metadata JSONB False '{}'::jsonb
specifications JSONB False
created_at TIMESTAMP False now()
last_research_at TIMESTAMP True
trim_level VARCHAR(100) True ''::character varying
raw_api_data JSONB True '{}'::jsonb

Tábla: vehicle_odometer_states

Oszlop Típus Nullable Alapértelmezett Extrák
vehicle_id INTEGER False 🔑 PK 🔗 FK
last_recorded_odometer INTEGER False
last_recorded_date TIMESTAMP False
daily_avg_distance NUMERIC(10, 2) False
estimated_current_odometer NUMERIC(12, 2) False
confidence_score DOUBLE PRECISION False
manual_override_avg NUMERIC(10, 2) True
created_at TIMESTAMP False now()
updated_at TIMESTAMP False now()

Tábla: vehicle_ownership_history

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('vehicle.vehicle_ownership_history_id_seq'::regclass) 🔑 PK
asset_id UUID False 🔗 FK
user_id INTEGER False 🔗 FK
acquired_at TIMESTAMP False now()
disposed_at TIMESTAMP True

Tábla: vehicle_types

Oszlop Típus Nullable Alapértelmezett Extrák
id INTEGER False nextval('vehicle.vehicle_types_id_seq'::regclass) 🔑 PK
code VARCHAR(30) False
name VARCHAR(50) False
icon VARCHAR(50) True
units JSONB False '{"power": "kW", "weight": "kg"}'::jsonb

Tábla: vehicle_user_ratings

Oszlop Típus Nullable Alapértelmezett Extrák
id UUID False gen_random_uuid() 🔑 PK
vehicle_id INTEGER False 🔗 FK
user_id INTEGER False 🔗 FK
driving_experience INTEGER False
reliability INTEGER False
comfort INTEGER False
consumption_satisfaction INTEGER False
comment TEXT True
created_at TIMESTAMP False now()
updated_at TIMESTAMP False now()