Gå til innholdet

entities

Dette dokumentet er auto-synket fra kildefilene i boligassistent-repoet. Endringer her vil overskrives ved neste sync. Rediger kildefilen direkte.

Ansvar: Representerer eiendommen som helhet. Toppnivå-entitet som alle andre tilhører.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
nametextVisningsnavn (f.eks. «Hellebakken 9»)
addresstextGateadresse
postal_codetextPostnummer
citytextPoststed
property_typeenumenebolig / rekkehus / leilighet / hytte
build_yearintegerByggeår
renovation_periodsjsonbListe med ombyggingsperioder
plot_area_m2decimalTomteareal
bra_i_m2decimalInternt bruksareal
bra_e_m2decimalEksternt bruksareal
bra_total_m2decimalTotalt BRA
ownership_typeenumselveier / sameie / borettslag / aksje
created_byuuidFK til User
created_attimestamptzOpprettelsestidspunkt

Ansvar: Representerer én etasje i bygningen.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
nametextVisningsnavn (f.eks. «1. etasje», «Underetasje»)
levelintegerEtasjenummer (0 = bakkeplan, -1 = underetasje, 1 = 2. etasje)
bra_i_m2decimalInternt bruksareal for etasjen
descriptiontextValgfri beskrivelse
sort_orderintegerRekkefølge for visning

Ansvar: Representerer ett rom i boligen. Kjerneentiteten i SpatialModel.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
floor_iduuidFK til Floor
nametextVisningsnavn (f.eks. «Stue», «Kjøkken»)
room_typeenumstue / kjøkken / soverom / bad / vaskerom / gang / kontor / bod / annet
functiontextBeskrivelse av rommets funksjon
area_m2decimalAreal
ceiling_height_mdecimalTakhøyde
descriptiontextFritekst beskrivelse
conditionenumgod / akseptabel / dårlig / ukjent
priorityenumhøy / medium / lav / ingen
window_countintegerAntall vinduer (valgfritt)
window_orientationtext[]Himmelretninger vinduene vender (nord/syd/øst/vest)
door_countintegerAntall dører (valgfritt)
natural_lightenummye / middels / lite / ukjent
created_byuuidFK til User
created_attimestamptz
updated_attimestamptz

Geometrifelter (window_count, window_orientation, door_count, natural_light) brukes av AI-assistenten for layoutforslag (B17) og romvisualisering (B18). Ikke obligatoriske i MVP.


Ansvar: Representerer uteområder — hage, terrasse, innkjørsel, passasjer.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
nametextVisningsnavn (f.eks. «Hage bak», «Terrasse»)
space_typeenumhage / terrasse / innkjørsel / balkong / passasje / plen / bed / annet
locationtextPlassering relativt til huset (nord/syd/øst/vest)
area_m2decimalAreal (valgfritt)
is_coveredbooleanOverbygget?
materialstextDekke og materialer
has_water_outletbooleanVannuttak tilgjengelig
has_power_outletbooleanStrømuttak tilgjengelig
upgrade_potentialtextBeskrivelse av oppgraderingspotensial
notestextFritekst notater
created_byuuidFK til User

Ansvar: Støtterom og sekundære arealer som krypkjeller, vedskjul, garasje.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
nametextVisningsnavn
space_typeenumkrypkjeller / kryploft / garasje / vedskjul / avfallsstasjon / innkjørsel / annet
area_m2decimalAreal (valgfritt)
conditionenumgod / akseptabel / dårlig / ukjent
access_descriptiontextHvordan man kommer til dette rommet
notestextFritekst notater
created_byuuidFK til User

Ansvar: Teknisk bygningssystem som kategori. Representerer én type infrastruktur.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
categoryenumheating / ventilation / plumbing / drainage / electrical / envelope / chimney_fireplace / windows_doors / outdoor_utilities
nametextVisningsnavn (f.eks. «Varmepumpe-system»)
descriptiontextBeskrivelse av systemet
estimated_age_yearsintegerEstimert alder
install_yearintegerInstallasjonår (hvis kjent)
locationtextPlassering i boligen
statusenumok / trenger_tilsyn / kritisk / ukjent
source_typeenumtakstrapport / egen_observasjon / fagperson / ukjent
confidenceenumhøy / medium / lav
created_byuuidFK til User

Ansvar: Konkret teknisk utstyr — én fysisk enhet tilhørende et bygningssystem.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
building_system_iduuidFK til BuildingSystem
room_iduuidFK til Room / OutdoorSpace / SupportSpace (polymorfisk)
nametextVisningsnavn
categorytextType utstyr
manufacturertextProdusent
modeltextModellnavn/-nummer
serial_numbertextSerienummer
install_yearintegerInstallasjonår
warranty_expiresdateGarantiutløp
statusenumok / trenger_service / defekt / ukjent
notestextNotater
created_byuuidFK til User

Ansvar: Teknisk avvik, problem eller risiko. Skilles tydelig fra forbedringsønsker.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
titletextKort tittel
categoryenumstructural / moisture / electrical / fire / health / drainage / ventilation / safety / annet
severityenumcritical / high / medium / low
tgenumtg1 / tg2 / tg3 / iu (tilstandsgrader fra takstrapport)
descriptiontextDetaljert beskrivelse
location_ref_typeenumroom / outdoor_space / support_space / building_system
location_ref_iduuidReferanse til det stedet avviket er
discovered_atdateNår avviket ble oppdaget
source_typeenumtakstrapport / egen_observasjon / fagperson / måling
source_detailtextF.eks. «Takstrapport 2024-10, side 12»
confidenceenumhøy / medium / lav
recommended_actiontextAnbefalt tiltak
statusenumopen / in_progress / resolved / monitored / wont_fix
created_byuuidFK til User

Ansvar: Sikkerhetsforhold i boligen. Særlig relevant for barnesikkerhet.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
categoryenumfall / fire / drowning / poison / entrapment / electrical / structural / annet
location_ref_typeenumroom / outdoor_space / support_space
location_ref_iduuidReferanse til sted
descriptiontextBeskrivelse av sikkerhetsforholdet
risk_levelenumcritical / high / medium / low
affects_childrenbooleanSærlig relevant for barn?
child_age_relevanttextF.eks. «0–3 år», «3–6 år»
recommended_actiontextAnbefalt tiltak
statusenumopen / in_progress / mitigated / resolved
priorityenumhøy / medium / lav
created_byuuidFK til User

Ansvar: Konkret måling med verdi, enhet og tidspunkt.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
measurement_typeenumradon / moisture / temperature / power_usage / water_usage / humidity / co2 / annet
location_ref_typeenumroom / outdoor_space / support_space / building_system / property
location_ref_iduuidReferanse til sted
valuedecimalMålt verdi
unittextEnhet (f.eks. «Bq/m³», «%», «°C»)
measured_atdateDato for måling
measured_bytextHvem målte (person eller instrument)
methodtextMålemetode
notestextNotater
created_byuuidFK til User

Ansvar: Ønsket forbedring som ikke er et teknisk avvik. Lever i en backlog. Fungerer også som «prosjekt» ved større tiltak — Tasks knyttes til idéen, og avhengigheter til andre idéer modelleres via ImprovementDependency.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
titletextKort tittel
categoryenuminterior / exterior / garden / technical / comfort / aesthetics / safety / annet
descriptiontextDetaljert beskrivelse og motivasjon
location_ref_typeenumroom / outdoor_space / support_space / building_system / property
location_ref_iduuidReferanse til sted
motivationtextHvorfor er dette ønsket?
priorityenumhøy / medium / lav / uavklart
estimated_effortenumliten / medium / stor / ukjent
estimated_cost_nokintegerPunktestimat for kostnad (brukes hvis intervall ikke er satt)
cost_min_nokintegerNedre kostnadsestimat (optimistisk scenario)
cost_max_nokintegerØvre kostnadsestimat (pessimistisk scenario)
statusenumidea / considering / planned / in_progress / done / dropped
created_byuuidFK til User

Avhengigheter modelleres i ImprovementDependency (erstatter det tidligere fritekstfeltet dependencies). Se ADR-009 for begrunnelse.


Ansvar: Strukturert avhengighet mellom to forbedringsidéer. Gjør det mulig for AI-assistenten å resonere om rekkefølge, samkjøring og hva som ikke bør gjøres ennå.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
from_idea_iduuidFK til ImprovementIdea (idéen med avhengigheten)
to_idea_iduuidFK til ImprovementIdea (idéen det avhenger av)
dependency_typeenummust_before / should_group / independent
reasontextBegrunnelse (f.eks. «rør i vegg berører begge rom»)
created_byuuidFK til User

dependency_type-verdier:

  • must_beforeto_idea må fullføres før from_idea kan starte
  • should_group — ideelt å gjøre disse samtidig (f.eks. bad + kjøkken pga. rørlegger)
  • independent — ingen reell avhengighet (brukes for å eksplisitt dokumentere at to idéer er uavhengige)

Ansvar: Konkret oppgave som løser et Issue eller implementerer en ImprovementIdea.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
nametextOppgavenavn
task_typeenumrepair / maintenance / inspection / seasonal / project
descriptiontextHva skal gjøres
priorityenumhøy / medium / lav
frequencyenumonce / weekly / monthly / quarterly / annually / as_needed
due_datedateFrist (valgfritt)
estimated_hoursdecimalEstimert tidsbruk
estimated_cost_nokintegerPunktestimat for kostnad (brukes hvis intervall ikke er satt)
cost_min_nokintegerNedre kostnadsestimat (optimistisk scenario)
cost_max_nokintegerØvre kostnadsestimat (pessimistisk scenario)
execution_typeenumdiy / diy_guided / professional / unknown
source_issue_iduuidFK til Issue (hvis oppgaven løser et avvik)
source_improvement_iduuidFK til ImprovementIdea (hvis oppgaven implementerer et ønske)
location_ref_typeenumrom / system / outdoor / property
location_ref_iduuidReferanse
statusenumtodo / in_progress / done / cancelled
completed_atdateFullføringsdato
completed_byuuidFK til User
created_byuuidFK til User

Ansvar: Sesongbasert vedlikeholdsplan med sjekkliste.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
nametextPlannavn (f.eks. «Vårsjekk»)
seasonenumvår / sommer / høst / vinter / helårlig
frequencyenumannually / as_needed
checklistjsonbListe med sjekkpunkter
related_systemsuuid[]Relevante bygningssystemer
related_roomsuuid[]Relevante rom
notestextNotater

Ansvar: En erfaring fra daglig bruk, en sesong eller en hendelse. Ikke en oppgave.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
observed_atdateDato for observasjon
categoryenumdaily_use / seasonal / child_safety / indoor_climate / garden / operations / aesthetics / annet
location_ref_typeenumroom / outdoor_space / support_space / building_system / property
location_ref_iduuidReferanse til sted
seasonenumvår / sommer / høst / vinter
descriptiontextHva ble observert
consequencetextHvilken konsekvens har dette (hvis kjent)
priorityenumhøy / medium / lav / ingen
statusenumopen / noted / actioned
created_byuuidFK til User

Ansvar: Oppsummering av erfaringer fra én sesong.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
seasonenumvår / sommer / høst / vinter
yearintegerÅrstall
summarytextOverordnet oppsummering
key_findingsjsonbListe med viktige funn
possible_actionstextMulige tiltak som bør vurderes
created_byuuidFK til User

Ansvar: Dokumentert beslutning med vurdering og begrunnelse.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
topictextHva beslutningen gjelder
assessmenttextVurdering av alternativene
decisiontextHva som ble besluttet
rationaletextBegrunnelse
decided_atdateDato
created_byuuidFK til User

Ansvar: Foreløpig og reviderbar designretning for ett domene (interiør, eksteriør, hage).

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
domainenuminterior / exterior / garden
statusenumdraft / active / revised / archived
style_wordstext[]Stilord (f.eks. «nordisk», «naturlig», «varmt»)
principlestextDesignprinsipper i fritekst
materialstextForetrukne materialer
colorstextFargepalett
referencestextReferanser (lenker, navn på stiler)
avoidtextHva som skal unngås
updated_attimestamptzSist oppdatert
created_byuuidFK til User

Ansvar: Et konkret interiørobjekt — møbel, lampe, dekor, tekstil, kunst eller plante. Dekker hele livssyklusen fra vurdering til eierskap: status=considering tilsvarer det som i forslag til utvidelse ble kalt «ProductCandidate» — se ADR-008.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
room_iduuidFK til Room (nullable — kan legges inn før rom er bestemt)
categoryenumfurniture / lamp / decor / textile / art / plant / annet
nametextNavn (f.eks. «Sofabord i eik»)
brandtextMerke
modeltextModell
location_in_roomtextPlassering i rommet
style_tagstext[]Stiltagger
materialstext[]Materialer
colorstext[]Farger
dimensions_cmjsonbMål (bredde, høyde, dybde i cm)
functiontextFunksjon
moodtextStemning / estetisk rolle
source_urltextProduktlenke
price_nokintegerPris (valgfritt — brukes ved status=considering for vurdering)
fits_roombooleanPasser i rommet? (manuelt vurdert eller AI-utledet)
matches_designbooleanMatcher designretningen? (manuelt vurdert eller AI-utledet)
statusenumowned / planned / considering / removed
child_safebooleanBarnesikker?
notestextNotater
created_byuuidFK til User

Livssyklus for produktvurdering:

considering → (kjøpt) → owned
→ (avvist) → removed
→ (utsatt) → planned

LightingPlan, LayoutOption, DesignScenario og ShoppingTracker er planlagte post-MVP-entiteter som utvider dette laget. Se domain-model.md for oversikt.


Ansvar: Ønsket rombruk og møbleringsprinsipp for ett rom.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
room_iduuidFK til Room (1:1)
function_zonestextBeskrivelse av funksjonssoner
key_furnituretextViktige møbler og plassering
traffic_flowtextTrafikkflyt og ganglinjer
lighting_needstextBelysningsbehov
storage_needstextOppbevaringsbehov
child_safety_notestextBarnesikkerhetshensyn
plantstextPlanter og plassering
commentstextAndre kommentarer
updated_attimestamptzSist oppdatert
created_byuuidFK til User

Ansvar: Et dokument knyttet til eiendom, rom, utstyr eller avvik. Dokumenter med doc_type=takstrapport eller salgsoppgave kan prosesseres gjennom Ingestion Engine — spor status via ingestion_status.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
nametextDokumentnavn
doc_typeenumtakstrapport / salgsoppgave / manual / kvittering / garanti / fagrapport / tegning / annet
file_urltextURL til fil i MinIO
file_size_bytesintegerFilstørrelse
mime_typetextMIME-type
datedateDokumentdato
sourcetextKilde (hvem utstedte dokumentet)
coverstextHva dokumentet dekker
ingestion_statusenumnot_started / queued / processing / review_pending / completed / failed / skipped
notestextNotater
created_byuuidFK til User

Ansvar: Representerer én kjøring av AI-ekstraksjon mot et dokument. Sporer tilstand i ingestion-pipelinen og kobler dokumentet til uttrukne fakta.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
document_iduuidFK til Document
statusenumqueued / processing / review_pending / completed / failed
started_attimestamptzStarttidspunkt
completed_attimestamptzFullføringsstidspunkt (null hvis ikke ferdig)
facts_totalintegerAntall fakta hentet ut
facts_approvedintegerAntall fakta godkjent av bruker
facts_rejectedintegerAntall fakta forkastet
error_messagetextFeilmelding hvis status=failed
created_byuuidFK til User som startet jobben

Ansvar: Ett enkelt faktum hentet ut av AI fra et dokument. Koblet til en ExtractionJob og venter på brukergjennomgang (godkjenn / endre / forkast) før det persisteres som en faktisk entitet i systemet.

Inneholder ReviewItem-funksjonalitet direkte — ingen separat entitet nødvendig.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
job_iduuidFK til ExtractionJob
entity_typeenumproperty / floor / room / outdoor_space / building_system / equipment / issue / safety_item
field_pathtextHvilket felt gjelder dette (f.eks. rooms[0].area_m2, property.build_year)
suggested_valuejsonbHva AI ekstraherte (kan være tekst, tall, objekt)
user_corrected_valuejsonbHva bruker endret til (null hvis ikke endret)
source_pageintegerSidenummer i kildedokumentet
source_texttextTekstutdraget som faktumet er hentet fra
confidencedecimalAI-konfidensgrad 0.0–1.0
user_actionenumpending / approved / edited / rejected
reviewed_attimestamptzNår bruker tok stilling (null hvis pending)
reviewed_byuuidFK til User

Livssyklus:

pending → approved → [persisteres som entitet]
→ edited → [user_corrected_value brukes] → [persisteres]
→ rejected → [forkastes, lagres for audit]

Se ADR-010 for begrunnelse for sammenslåing av ExtractedFact og ReviewItem.


Ansvar: Et bilde knyttet til rom, avvik, utstyr eller uteområde.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
location_ref_typeenumroom / outdoor_space / issue / equipment / interior_asset
location_ref_iduuidReferanse
file_urltextURL til bilde i MinIO
thumbnail_urltextURL til thumbnail
taken_atdateDato bildet ble tatt
descriptiontextHva bildet viser
tagstext[]Tagger
created_byuuidFK til User

Ansvar: Produktlenke som informerer en kjøpsbeslutning.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
nametextProduktnavn
suppliertextLeverandør
urltextProduktlenke
categorytextProduktkategori
price_nokintegerPris (valgfritt)
related_to_typeenuminterior_asset / improvement_idea / task / room
related_to_iduuidReferanse
style_roletextHvilken stilrolle produktet spiller
notestextNotater
created_byuuidFK til User

Ansvar: Manual for konkret utstyr.

FeltTypeBeskrivelse
iduuidPrimærnøkkel
property_iduuidFK til Property
equipment_iduuidFK til Equipment
manufacturertextProdusent
file_urltextURL til manual i MinIO
languagetextSpråk
maintenance_relevancetextHva i manualen er relevant for vedlikehold
notestextNotater
created_byuuidFK til User