From 4e211ddbffeb409e2abb6e6d64f4505a10ebca60 Mon Sep 17 00:00:00 2001 From: Bendik Aagaard Lynghaug Date: Wed, 30 Sep 2026 22:34:33 +0200 Subject: [PATCH 01/12] Draft: GULLBERG sanatorium's plan, business-plan outline and wordmark; a board's published list may be public Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt --- plans/assets/gullberg-wordmark.svg | 13 ++ plans/documents/gullberg-forretningsplan.md | 27 +++ plans/gullberg.yaml | 196 ++++++++++++++++++++ src/trainer/build.rs | 7 +- 4 files changed, 241 insertions(+), 2 deletions(-) create mode 100644 plans/assets/gullberg-wordmark.svg create mode 100644 plans/documents/gullberg-forretningsplan.md create mode 100644 plans/gullberg.yaml diff --git a/plans/assets/gullberg-wordmark.svg b/plans/assets/gullberg-wordmark.svg new file mode 100644 index 0000000..9cfe919 --- /dev/null +++ b/plans/assets/gullberg-wordmark.svg @@ -0,0 +1,13 @@ + + + GULLBERG + sanatorium + diff --git a/plans/documents/gullberg-forretningsplan.md b/plans/documents/gullberg-forretningsplan.md new file mode 100644 index 0000000..47cae1f --- /dev/null +++ b/plans/documents/gullberg-forretningsplan.md @@ -0,0 +1,27 @@ +# Huset + +Utkast, skrives av eierne: hva huset er, hvor det ligger, hvor mange rom det har og i hvilken stand. + +# Forretningen + +Utkast, skrives av eierne: de to inntektene, romleie til studenter og timeshare-uker, og hva hver av dem gir i året. + +# Eierne + +Utkast, skrives av eierne: hvem aksjonærene er, hvordan styret er satt sammen, og hvordan søsknene som ikke blir med er løst ut. + +# Lånet + +Utkast, skrives av eierne: hvor mye, til hva, og hvordan det betjenes. + +# Budsjettet + +Utkast, skrives av eierne: inntekter, drift, renter og avdrag for et normalår, og hvor rapportene står. + +# Det som mangler + +Utkast, skrives av eierne: de største manglene ved huset, hva de koster å rette, og planen for det. Lista på siden holdes oppdatert. + +# Forvaltningen + +Utkast, skrives av eierne: at Klingenberg Bygg forvalter huset, og hva det innebærer. diff --git a/plans/gullberg.yaml b/plans/gullberg.yaml new file mode 100644 index 0000000..2786ba8 --- /dev/null +++ b/plans/gullberg.yaml @@ -0,0 +1,196 @@ +# GULLBERG sanatorium - et Klingenberg Bygg-prosjekt på +# gullberg.klingenbergbygg.no. UTKAST 2026-09-30, til samtale; ikke +# bygget eller satt ut. +# +# Et selskap med trolig fire aksjonærer eier huset etter at dødsboet er +# gjort opp, og låner for å løse ut søsknene som ikke blir med videre. +# Lånet betjenes av to inntekter: studenter som leier rom rimelig, og +# timeshare-uker. Siden viser forretningen til verden og til långiveren, +# driver huset (romsøknader, uker, styrets liste over det som er bra, det +# som mangler og det som er planlagt) og rapporterer pengene til +# aksjonærene og långiveren. +# +# Åpne spørsmål, fra samtalen: +# - antall rom, leie, leietid, hvor huset ligger (husleieloven) +# - hvem de fire aksjonærene er, og om søsken som løses ut får en plass +# - timeshare bare for aksjonærene, eller solgt til andre også +# - långiveren: bank (egne skjemaer; siden blir dokumentasjonen) eller +# privat (kan bruke långiverens side selv) +# - hva som er offentlig: her er rom og publiserte planer offentlige, +# tallene bare for aksjonærer og långiver +# - selskapsform (AS?) og aksjonæravtale +# - hvem som er kontakt og avsender (under er plassholdere) +business: GULLBERG sanatorium +language: no +# Plassholder til styret har en adresse. +contact: { name: Styret i Gullberg, email: bl@klingenbergbygg.no, group: styret } +people: memberships +mail: { from: "Gullberg ", reply_to: bl@klingenbergbygg.no } +about: > + Et gammelt hus med rom til studenter som trenger et rimelig sted å bo, + og uker for dem som eier det. Drevet av eierne, forvaltet av + Klingenberg Bygg. + +groups: + - { id: styret, label: Styret } + - { id: aksjonaerer, label: Aksjonærer } + - { id: langiver, label: Långiver } + - { id: leietakere, label: Leietakere } +invites_by: [styret] + +does: + - id: rom + for: leie-rom + text: > + Rom til studenter, rimelig og for et studieår av gangen. Du søker + her, kommer på visning og sier selv ja til tilbudet. + - id: huset + text: > + Huset drives av eierne, med Klingenberg Bygg som forvalter. Det som + mangler, står på lista sammen med planen for det, og tallene går + jevnlig til eierne og långiveren. + +# Forretningsplanen, ord for ord: ett kort per del. Skal skrives av +# eierne; filen har bare delene og hva som hører hjemme i dem. +documents: + - id: forretningsplan + question: Hvordan går Gullberg rundt? + description: Forretningsplanen for Gullberg, slik eierne har lagt den fram for långiveren. + file: documents/gullberg-forretningsplan.md + +needs: + # Offentlig: en student søker rom. + - id: leie-rom + who: en student som trenger et rimelig rom for studieåret + wants: et rom å bo på til en leie som går opp med studielånet + lands_in: romsoknader + handled_by: styret + stages: [open, visning, tilbud, akseptert, signert, avslatt] + stages_text: { open: "mottatt", visning: "visning avtalt", tilbud: "tilbud sendt", akseptert: "tilbud godtatt", signert: "kontrakt signert", avslatt: "avsluttet uten leie" } + done_when: [signert, avslatt] + success: [signert] + turned_down_from: [open, visning, tilbud] + moves_by: { akseptert: [submitter], avslatt: [submitter, styret] } + mails: { open: submitter, visning: submitter, tilbud: submitter, akseptert: bl@klingenbergbygg.no, signert: submitter } + grants: { signert: leietakere } + max_fields: 4 + collects: + - { name: name } + - { name: email, type: email } + - { name: telefon, type: tel } + - { name: studiested } + - { name: innflytting, type: date, optional: true } + - { name: om, type: textarea, optional: true } + + # Rommene som er ledige, som bildekort styret legger inn og tar ned. + - id: ledig-rom + who: styret, når et rom blir ledig + wants: at studenter ser rommet før de søker + enters_as: styret + lands_in: rom + handled_by: styret + watched_by: [public] + presents: true + public_states: [open] + stages: [open, utleid] + stages_text: { open: "ledig", utleid: "leid ut" } + done_when: [utleid] + success: [utleid] + leaves_after: { utleid: { minutes: 10 } } + max_fields: 3 + collects: + - { name: tittel } + - { name: bilde, type: picture } + - { name: om, type: textarea } + + # Styrets liste: det som er bra, det som mangler, det som er planlagt. + # Aksjonærene ser alt; allmennheten bare planene styret har publisert, + # og de står som kunngjøringer. + - id: liste + who: styret, om huset og driften + wants: én liste over det som er bra, det som mangler og det som er planlagt, med pris og tid + enters_as: styret + lands_in: liste + handled_by: styret + watched_by: [aksjonaerer, public] + public_states: [publisert] + stages: [open, vedtatt, publisert, forkastet] + stages_text: { open: "utkast", vedtatt: "vedtatt", publisert: "publisert", forkastet: "forkastet" } + done_when: [publisert, forkastet] + success: [publisert] + max_fields: 3 + collects: + - { name: tittel } + - { name: slag, type: select, options: [Kvalitet, Mangel, Plan] } + - { name: beskrivelse, type: textarea } + - { name: kostnad, optional: true } + - { name: naar, optional: true } + + # Budsjettrapporten: tallene i felt, ikke bare en PDF. Långiveren + # kvitterer eller spør; styret svarer. + - id: rapport + who: styret, hvert kvartal + wants: at aksjonærene og långiveren ser hvordan det går, i tall + enters_as: styret + lands_in: rapporter + handled_by: styret + watched_by: [aksjonaerer, langiver] + stages: [open, kvittert, sporsmal, besvart] + stages_text: { open: "lagt fram", kvittert: "kvittert av långiver", sporsmal: "långiver har spørsmål", besvart: "besvart" } + reached_from: { sporsmal: [open], besvart: [sporsmal], kvittert: [open, besvart] } + done_when: [kvittert] + success: [kvittert] + moves_by: { kvittert: [langiver], sporsmal: [langiver], besvart: [styret] } + mails: { sporsmal: bl@klingenbergbygg.no } + max_fields: 7 + collects: + - { name: periode } + - { name: leieinntekter } + - { name: timeshare } + - { name: driftskostnader } + - { name: renter-og-avdrag } + - { name: saldo } + - { name: kommentar, type: textarea } + - { name: dokument, type: file, optional: true } + + # Aksjonærene: uker i huset, og saker til styret. + - id: uke + who: en aksjonær som vil bruke huset en periode + wants: en uke i huset, bekreftet av styret + enters_as: aksjonaerer + lands_in: uker + handled_by: styret + stages: [open, bekreftet, avslatt] + stages_text: { open: "ønsket", bekreftet: "bekreftet", avslatt: "ikke ledig" } + done_when: [bekreftet, avslatt] + success: [bekreftet] + max_fields: 3 + collects: + - { name: fra, type: date } + - { name: til, type: date } + - { name: merknad, type: textarea, optional: true } + + - id: sak + who: en aksjonær som vil ha noe avgjort + wants: at styret tar saken opp og avgjør den + enters_as: aksjonaerer + lands_in: saker + handled_by: styret + watched_by: [aksjonaerer] + stages: [open, sakslisten, vedtatt, avvist] + stages_text: { open: "meldt", sakslisten: "på sakslisten", vedtatt: "vedtatt", avvist: "avvist" } + done_when: [vedtatt, avvist] + success: [vedtatt] + max_fields: 2 + collects: + - { name: tittel } + - { name: sak, type: textarea } + +personas: + - { id: student-bergen, need: leie-rom, text: "Jeg begynner på master til høsten og har ikke råd til hybel i sentrum. Et rimelig rom i et stort hus høres perfekt ut." } + - { id: student-kort, need: leie-rom, text: "Jeg skal på utveksling og trenger et rom bare for ett semester. Går det an?" } + - { id: styret-rom, need: ledig-rom, text: "Rommet i andre etasje blir ledig til jul, og jeg har et fint bilde av det. Det vil jeg legge ut." } + - { id: styret-mangel, need: liste, text: "Taket på uthuset lekker. Det må stå på lista, og vi må ha en plan og en pris for det." } + - { id: styret-kvartal, need: rapport, text: "Tredje kvartal er gjort opp. Leia kom inn, men fyringsolja ble dyrere enn vi trodde." } + - { id: aksjonaer-sommer, need: uke, text: "Vi vil gjerne være i huset første uka i juli med barna." } + - { id: aksjonaer-sak, need: sak, text: "Jeg mener vi bør se på solceller før vi tar opp mer lån. Kan styret ta det opp?" } diff --git a/src/trainer/build.rs b/src/trainer/build.rs index e9c842b..ecb6deb 100644 --- a/src/trainer/build.rs +++ b/src/trainer/build.rs @@ -664,11 +664,14 @@ impl Plan { // small application and the firm's large one, and is one // page either way. A bucket only a role ever writes to has // its group's desk and nothing to publish. - // Unless it presents: the people are entered from inside - // precisely so that everyone can see them. + // Unless it presents - the people are entered from inside + // precisely so that everyone can see them - or publishes: + // a board's list whose public view is only the stages it + // has published (`public_states`) is announcements. if need.watched_by.iter().any(|g| g == PUBLIC) && need.enters_as.is_some() && !need.presents + && need.public_states.is_empty() && !self .needs .iter() -- 2.54.0 From 35e9586e773b97ca814f6feda49513ced3fe44b2 Mon Sep 17 00:00:00 2001 From: Bendik Aagaard Lynghaug Date: Thu, 1 Oct 2026 07:07:26 +0200 Subject: [PATCH 02/12] Gullberg draft: the repayment plan all shareholders approve, and the monthly rent ledger Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt --- plans/gullberg.yaml | 58 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/plans/gullberg.yaml b/plans/gullberg.yaml index 2786ba8..3955395 100644 --- a/plans/gullberg.yaml +++ b/plans/gullberg.yaml @@ -20,6 +20,15 @@ # tallene bare for aksjonærer og långiver # - selskapsform (AS?) og aksjonæravtale # - hvem som er kontakt og avsender (under er plassholdere) +# +# Pengene (samtale 2026-10-01): 3 soverom à 8 000 kr i måneden er +# 24 000 kr; 240-288 000 kr i året etter hvor mange måneder studentene +# bor der. Sommeren uten studenter er timeshare-ukene. Husleia går som +# fast trekk eller AvtaleGiro til selskapets konto (gratis); Vipps eller +# Stripe for engangsbeløp (uker, første måned). Depositum står på egen +# depositumskonto (husleieloven), ikke gjennom siden. Långiveren får et +# fast månedlig trekk fra selskapets konto etter nedbetalingsplanen; +# siden fører regnskapet alle ser, ikke pengene selv. business: GULLBERG sanatorium language: no # Plassholder til styret har en adresse. @@ -153,6 +162,53 @@ needs: - { name: kommentar, type: textarea } - { name: dokument, type: file, optional: true } + # Nedbetalingsplanen: hvordan pengene går og hva långiveren får. + # Styret legger den fram, ALLE aksjonærene må godkjenne før den går + # til långiveren. "Alle i gruppa" finnes ikke i portal ennå: i dag + # holder det at én aksjonær trykker. Ny portal-funksjon før dette går. + - id: nedbetalingsplan + who: styret, når veien videre og pengestrømmen skal avtales + wants: en nedbetalingsplan alle aksjonærene står bak, som långiveren kan si ja til + enters_as: styret + lands_in: nedbetalingsplaner + handled_by: styret + watched_by: [aksjonaerer, langiver] + stages: [open, godkjent, lagt-fram, akseptert, endringer] + stages_text: { open: "til godkjenning hos aksjonærene", godkjent: "godkjent av aksjonærene", lagt-fram: "lagt fram for långiver", akseptert: "akseptert av långiver", endringer: "långiver ber om endringer" } + reached_from: { godkjent: [open], lagt-fram: [godkjent], akseptert: [lagt-fram], endringer: [lagt-fram] } + done_when: [akseptert, endringer] + success: [akseptert] + moves_by: { godkjent: [aksjonaerer], lagt-fram: [styret], akseptert: [langiver], endringer: [langiver] } + max_fields: 6 + collects: + - { name: tittel } + - { name: laanebelop } + - { name: maanedlig-til-langiver } + - { name: forste-trekk, type: date } + - { name: pengestrom, type: textarea } + - { name: dokument, type: file, optional: true } + + # Husleia, måned for måned: forventet mot betalt, fra kontoutskriften. + # Aksjonærene og långiveren ser hvordan det går mellom rapportene. + - id: husleie + who: styret, når husleia for en måned er kommet inn + wants: at alle ser hvilke rom som har betalt, og hva som gikk til långiveren + enters_as: styret + lands_in: husleie + handled_by: styret + watched_by: [aksjonaerer, langiver] + stages: [open, betalt, purret] + stages_text: { open: "forventet", betalt: "betalt", purret: "purret" } + reached_from: { purret: [open], betalt: [open, purret] } + done_when: [betalt] + success: [betalt] + max_fields: 4 + collects: + - { name: rom } + - { name: maaned } + - { name: belop } + - { name: betalt-dato, type: date, optional: true } + # Aksjonærene: uker i huset, og saker til styret. - id: uke who: en aksjonær som vil bruke huset en periode @@ -193,4 +249,6 @@ personas: - { id: styret-mangel, need: liste, text: "Taket på uthuset lekker. Det må stå på lista, og vi må ha en plan og en pris for det." } - { id: styret-kvartal, need: rapport, text: "Tredje kvartal er gjort opp. Leia kom inn, men fyringsolja ble dyrere enn vi trodde." } - { id: aksjonaer-sommer, need: uke, text: "Vi vil gjerne være i huset første uka i juli med barna." } + - { id: styret-plan, need: nedbetalingsplan, text: "Vi har regnet på det: 24 000 i måneden fra rommene, og vi kan sette av en fast sum til långiveren hver måned. Alle fire må stå bak det før vi går til banken." } + - { id: styret-husleie, need: husleie, text: "Oktober er inne for to av rommene, det tredje mangler. Det må stå et sted alle ser." } - { id: aksjonaer-sak, need: sak, text: "Jeg mener vi bør se på solceller før vi tar opp mer lån. Kan styret ta det opp?" } -- 2.54.0 From b016dfd964f9e49b1b184a3c42ef7684a06fd1c3 Mon Sep 17 00:00:00 2001 From: Bendik Aagaard Lynghaug Date: Thu, 1 Oct 2026 07:11:44 +0200 Subject: [PATCH 03/12] Gullberg draft: the whole house in Gullberg AS, two shareholders, a bank lender; what the bank requires Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt --- plans/documents/gullberg-forretningsplan.md | 4 +- plans/gullberg.yaml | 127 +++++++++++--------- 2 files changed, 74 insertions(+), 57 deletions(-) diff --git a/plans/documents/gullberg-forretningsplan.md b/plans/documents/gullberg-forretningsplan.md index 47cae1f..e3e1529 100644 --- a/plans/documents/gullberg-forretningsplan.md +++ b/plans/documents/gullberg-forretningsplan.md @@ -8,11 +8,11 @@ Utkast, skrives av eierne: de to inntektene, romleie til studenter og timeshare- # Eierne -Utkast, skrives av eierne: hvem aksjonærene er, hvordan styret er satt sammen, og hvordan søsknene som ikke blir med er løst ut. +Utkast, skrives av eierne: de to søsknene som blir med, eier Gullberg AS 50/50 etter å ha lagt sine to firedeler av huset inn som aksjekapital. Hvordan styret er satt sammen, og hva som krever begge aksjonærene. # Lånet -Utkast, skrives av eierne: hvor mye, til hva, og hvordan det betjenes. +Utkast, skrives av eierne: 1,6 millioner til å løse ut de to søsknene som ikke blir med (800 000 kr hver), rente, løpetid og sikkerhet slik banken tilbyr, og hvordan avdraget betjenes av husleia. # Budsjettet diff --git a/plans/gullberg.yaml b/plans/gullberg.yaml index 3955395..325bcfa 100644 --- a/plans/gullberg.yaml +++ b/plans/gullberg.yaml @@ -2,33 +2,34 @@ # gullberg.klingenbergbygg.no. UTKAST 2026-09-30, til samtale; ikke # bygget eller satt ut. # -# Et selskap med trolig fire aksjonærer eier huset etter at dødsboet er -# gjort opp, og låner for å løse ut søsknene som ikke blir med videre. -# Lånet betjenes av to inntekter: studenter som leier rom rimelig, og -# timeshare-uker. Siden viser forretningen til verden og til långiveren, -# driver huset (romsøknader, uker, styrets liste over det som er bra, det -# som mangler og det som er planlagt) og rapporterer pengene til -# aksjonærene og långiveren. +# Oppsettet (samtale 2026-10-01): fire søsken arver huset. To blir med +# videre og legger sine to firedeler inn i Gullberg AS som aksjekapital; +# de eier selskapet 50/50. Selskapet låner 1,6 millioner i banken og løser +# ut de to andre med 800 000 kr hver. Etterpå eier selskapet hele huset: +# én eier, én konto, én låntaker. Lånet betjenes av husleie fra tre +# soverom (8 000 kr i måneden hver) og timeshare-uker om sommeren. # -# Åpne spørsmål, fra samtalen: -# - antall rom, leie, leietid, hvor huset ligger (husleieloven) -# - hvem de fire aksjonærene er, og om søsken som løses ut får en plass -# - timeshare bare for aksjonærene, eller solgt til andre også -# - långiveren: bank (egne skjemaer; siden blir dokumentasjonen) eller -# privat (kan bruke långiverens side selv) -# - hva som er offentlig: her er rom og publiserte planer offentlige, -# tallene bare for aksjonærer og långiver -# - selskapsform (AS?) og aksjonæravtale -# - hvem som er kontakt og avsender (under er plassholdere) +# Banken logger ikke inn. Siden er dokumentasjonen bak lånesøknaden: +# forretningsplanen, nedbetalingsplanen begge aksjonærene står bak, lista +# over det banken krever, husleia måned for måned og kvartalsrapportene. +# Styret fører inn hva som ble sendt banken og hva banken svarte. # -# Pengene (samtale 2026-10-01): 3 soverom à 8 000 kr i måneden er -# 24 000 kr; 240-288 000 kr i året etter hvor mange måneder studentene -# bor der. Sommeren uten studenter er timeshare-ukene. Husleia går som -# fast trekk eller AvtaleGiro til selskapets konto (gratis); Vipps eller -# Stripe for engangsbeløp (uker, første måned). Depositum står på egen -# depositumskonto (husleieloven), ikke gjennom siden. Långiveren får et -# fast månedlig trekk fra selskapets konto etter nedbetalingsplanen; -# siden fører regnskapet alle ser, ikke pengene selv. +# Pengene: 3 x 8 000 kr = 24 000 kr i måneden, rundt 22 000 i snitt over +# 11 måneder. Lån på 1,6 mill. til 6 % over 20 år er rundt 11 500 kr i +# måneden (25 år: 10 300). Husleia går som fast trekk eller AvtaleGiro til +# selskapets konto; Vipps eller Stripe bare for engangsbeløp (uker, første +# måned). Depositum på egen depositumskonto (husleieloven). Banken trekker +# avdraget fra selskapets konto. +# +# Åpne spørsmål: +# - bankens tilbud: rente, løpetid, sikkerhet; om banken krever personlig +# kausjon fra aksjonærene (vanlig for et nytt AS) +# - takst eller verdivurdering av huset +# - hvem som sitter i styret +# - antall måneder studentene leier; timeshare bare for aksjonærene? +# - regnskapsfører/advokat: overføring i skiftet, dokumentavgift, skatt på +# leieinntekter +# - kontakt og avsender (under er plassholdere) business: GULLBERG sanatorium language: no # Plassholder til styret har en adresse. @@ -43,7 +44,6 @@ about: > groups: - { id: styret, label: Styret } - { id: aksjonaerer, label: Aksjonærer } - - { id: langiver, label: Långiver } - { id: leietakere, label: Leietakere } invites_by: [styret] @@ -64,7 +64,7 @@ does: documents: - id: forretningsplan question: Hvordan går Gullberg rundt? - description: Forretningsplanen for Gullberg, slik eierne har lagt den fram for långiveren. + description: Forretningsplanen for Gullberg, slik eierne har lagt den fram for banken. file: documents/gullberg-forretningsplan.md needs: @@ -135,22 +135,19 @@ needs: - { name: kostnad, optional: true } - { name: naar, optional: true } - # Budsjettrapporten: tallene i felt, ikke bare en PDF. Långiveren - # kvitterer eller spør; styret svarer. + # Budsjettrapporten: tallene i felt, ikke bare en PDF. Aksjonærene ser + # den her; styret sender den til banken og fører inn at den er sendt. - id: rapport who: styret, hvert kvartal - wants: at aksjonærene og långiveren ser hvordan det går, i tall + wants: at aksjonærene ser hvordan det går, i tall, og at banken får det den skal ha enters_as: styret lands_in: rapporter handled_by: styret - watched_by: [aksjonaerer, langiver] - stages: [open, kvittert, sporsmal, besvart] - stages_text: { open: "lagt fram", kvittert: "kvittert av långiver", sporsmal: "långiver har spørsmål", besvart: "besvart" } - reached_from: { sporsmal: [open], besvart: [sporsmal], kvittert: [open, besvart] } - done_when: [kvittert] - success: [kvittert] - moves_by: { kvittert: [langiver], sporsmal: [langiver], besvart: [styret] } - mails: { sporsmal: bl@klingenbergbygg.no } + watched_by: [aksjonaerer] + stages: [open, sendt] + stages_text: { open: "lagt fram for aksjonærene", sendt: "sendt til banken" } + done_when: [sendt] + success: [sendt] max_fields: 7 collects: - { name: periode } @@ -162,28 +159,47 @@ needs: - { name: kommentar, type: textarea } - { name: dokument, type: file, optional: true } - # Nedbetalingsplanen: hvordan pengene går og hva långiveren får. - # Styret legger den fram, ALLE aksjonærene må godkjenne før den går - # til långiveren. "Alle i gruppa" finnes ikke i portal ennå: i dag - # holder det at én aksjonær trykker. Ny portal-funksjon før dette går. + # Det banken krever før lånet: én rad per dokument, med dokumentet. + - id: bankkrav + who: styret, mens lånesøknaden er hos banken + wants: å vite hva banken venter på, og levere det + enters_as: styret + lands_in: bankkrav + handled_by: styret + watched_by: [aksjonaerer] + stages: [open, arbeid, levert, godkjent] + stages_text: { open: "mangler", arbeid: "under arbeid", levert: "levert banken", godkjent: "godkjent av banken" } + done_when: [godkjent] + success: [godkjent] + max_fields: 2 + collects: + - { name: dokument-navn, type: select, options: [Takst eller verdivurdering, Forretningsplan, Likviditetsbudsjett, Nedbetalingsplan, Stiftelsesdokument og vedtekter, Firmaattest, Aksjonæravtale, Leiekontrakter, Forsikring, Kausjon, Annet] } + - { name: merknad, type: textarea, optional: true } + - { name: dokument, type: file, optional: true } + + # Nedbetalingsplanen: hvordan pengene går og hva banken får. Styret + # legger den fram, BEGGE aksjonærene må godkjenne før den går til + # banken, og styret fører inn bankens svar. "Alle i gruppa" finnes ikke + # i portal ennå: i dag holder det at én trykker. Ny portal-funksjon før + # dette brukes. - id: nedbetalingsplan who: styret, når veien videre og pengestrømmen skal avtales - wants: en nedbetalingsplan alle aksjonærene står bak, som långiveren kan si ja til + wants: en nedbetalingsplan begge aksjonærene står bak, som banken sier ja til enters_as: styret lands_in: nedbetalingsplaner handled_by: styret - watched_by: [aksjonaerer, langiver] - stages: [open, godkjent, lagt-fram, akseptert, endringer] - stages_text: { open: "til godkjenning hos aksjonærene", godkjent: "godkjent av aksjonærene", lagt-fram: "lagt fram for långiver", akseptert: "akseptert av långiver", endringer: "långiver ber om endringer" } - reached_from: { godkjent: [open], lagt-fram: [godkjent], akseptert: [lagt-fram], endringer: [lagt-fram] } - done_when: [akseptert, endringer] - success: [akseptert] - moves_by: { godkjent: [aksjonaerer], lagt-fram: [styret], akseptert: [langiver], endringer: [langiver] } + watched_by: [aksjonaerer] + stages: [open, godkjent, sendt, innvilget, endringer] + stages_text: { open: "til godkjenning hos aksjonærene", godkjent: "godkjent av aksjonærene", sendt: "sendt til banken", innvilget: "innvilget av banken", endringer: "banken ber om endringer" } + reached_from: { godkjent: [open], sendt: [godkjent], innvilget: [sendt], endringer: [sendt] } + done_when: [innvilget, endringer] + success: [innvilget] + moves_by: { godkjent: [aksjonaerer], sendt: [styret], innvilget: [styret], endringer: [styret] } max_fields: 6 collects: - { name: tittel } - { name: laanebelop } - - { name: maanedlig-til-langiver } + - { name: maanedlig-avdrag } - { name: forste-trekk, type: date } - { name: pengestrom, type: textarea } - { name: dokument, type: file, optional: true } @@ -192,11 +208,11 @@ needs: # Aksjonærene og långiveren ser hvordan det går mellom rapportene. - id: husleie who: styret, når husleia for en måned er kommet inn - wants: at alle ser hvilke rom som har betalt, og hva som gikk til långiveren + wants: at aksjonærene ser hvilke rom som har betalt, og hva som gikk til banken enters_as: styret lands_in: husleie handled_by: styret - watched_by: [aksjonaerer, langiver] + watched_by: [aksjonaerer] stages: [open, betalt, purret] stages_text: { open: "forventet", betalt: "betalt", purret: "purret" } reached_from: { purret: [open], betalt: [open, purret] } @@ -247,8 +263,9 @@ personas: - { id: student-kort, need: leie-rom, text: "Jeg skal på utveksling og trenger et rom bare for ett semester. Går det an?" } - { id: styret-rom, need: ledig-rom, text: "Rommet i andre etasje blir ledig til jul, og jeg har et fint bilde av det. Det vil jeg legge ut." } - { id: styret-mangel, need: liste, text: "Taket på uthuset lekker. Det må stå på lista, og vi må ha en plan og en pris for det." } - - { id: styret-kvartal, need: rapport, text: "Tredje kvartal er gjort opp. Leia kom inn, men fyringsolja ble dyrere enn vi trodde." } + - { id: styret-kvartal, need: rapport, text: "Tredje kvartal er gjort opp. Leia kom inn, men strømmen ble dyrere enn vi trodde. Rapporten skal til banken." } - { id: aksjonaer-sommer, need: uke, text: "Vi vil gjerne være i huset første uka i juli med barna." } - - { id: styret-plan, need: nedbetalingsplan, text: "Vi har regnet på det: 24 000 i måneden fra rommene, og vi kan sette av en fast sum til långiveren hver måned. Alle fire må stå bak det før vi går til banken." } + - { id: styret-bank, need: bankkrav, text: "Banken vil ha takst og aksjonæravtale før de går videre. Jeg vil se hva vi mangler og laste opp taksten." } + - { id: styret-plan, need: nedbetalingsplan, text: "Vi har regnet på det: 24 000 i måneden fra rommene, og vi kan sette av en fast sum til långiveren hver måned. Begge må stå bak det før vi går til banken." } - { id: styret-husleie, need: husleie, text: "Oktober er inne for to av rommene, det tredje mangler. Det må stå et sted alle ser." } - { id: aksjonaer-sak, need: sak, text: "Jeg mener vi bør se på solceller før vi tar opp mer lån. Kan styret ta det opp?" } -- 2.54.0 From 2d695f990be7e320e8a60677238b8be22b5e75d4 Mon Sep 17 00:00:00 2001 From: Bendik Aagaard Lynghaug Date: Thu, 1 Oct 2026 07:15:35 +0200 Subject: [PATCH 04/12] Gullberg draft: four equal shareholders; faults go to Klingenberg Bygg, its estimates to the board and the reports Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt --- plans/gullberg.yaml | 69 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 62 insertions(+), 7 deletions(-) diff --git a/plans/gullberg.yaml b/plans/gullberg.yaml index 325bcfa..c502d9c 100644 --- a/plans/gullberg.yaml +++ b/plans/gullberg.yaml @@ -2,11 +2,11 @@ # gullberg.klingenbergbygg.no. UTKAST 2026-09-30, til samtale; ikke # bygget eller satt ut. # -# Oppsettet (samtale 2026-10-01): fire søsken arver huset. To blir med -# videre og legger sine to firedeler inn i Gullberg AS som aksjekapital; -# de eier selskapet 50/50. Selskapet låner 1,6 millioner i banken og løser -# ut de to andre med 800 000 kr hver. Etterpå eier selskapet hele huset: -# én eier, én konto, én låntaker. Lånet betjenes av husleie fra tre +# Oppsettet (samtale 2026-10-01): hele huset legges i Gullberg AS, som +# eies av fire aksjonærer med 25 % hver. Selskapet låner 1,6 millioner i +# banken, og 800 000 kr går til hver av de to søsknene som løses ut. +# Etterpå eier selskapet hele huset: én eier, én konto, én låntaker. +# ÅPENT: hvem de fire aksjonærene er, når to søsken løses ut. Lånet betjenes av husleie fra tre # soverom (8 000 kr i måneden hver) og timeshare-uker om sommeren. # # Banken logger ikke inn. Siden er dokumentasjonen bak lånesøknaden: @@ -21,6 +21,11 @@ # måned). Depositum på egen depositumskonto (husleieloven). Banken trekker # avdraget fra selskapets konto. # +# Klingenberg Bygg er forvalter: feil i huset meldes til dem, de gir et +# overslag, styret godkjenner, og overslagene hører med i rapportene. +# Klingenbergs folk logger inn med samme konto som på klingenbergbygg.no +# og er gruppa `klingenberg` her. +# # Åpne spørsmål: # - bankens tilbud: rente, løpetid, sikkerhet; om banken krever personlig # kausjon fra aksjonærene (vanlig for et nytt AS) @@ -45,6 +50,7 @@ groups: - { id: styret, label: Styret } - { id: aksjonaerer, label: Aksjonærer } - { id: leietakere, label: Leietakere } + - { id: klingenberg, label: Klingenberg Bygg } invites_by: [styret] does: @@ -184,7 +190,7 @@ needs: # dette brukes. - id: nedbetalingsplan who: styret, når veien videre og pengestrømmen skal avtales - wants: en nedbetalingsplan begge aksjonærene står bak, som banken sier ja til + wants: en nedbetalingsplan alle fire aksjonærene står bak, som banken sier ja til enters_as: styret lands_in: nedbetalingsplaner handled_by: styret @@ -225,6 +231,53 @@ needs: - { name: belop } - { name: betalt-dato, type: date, optional: true } + # Feil i huset: en leietaker melder fra, Klingenberg Bygg ser på det og + # gir et overslag, styret godkjenner kostnaden før arbeidet gjøres. + - id: feil + who: en leietaker som har funnet noe som er galt i huset + wants: at det blir sett på og rettet + enters_as: leietakere + lands_in: feil + handled_by: klingenberg + watched_by: [styret] + stages: [open, befaring, overslag, godkjent, utbedret, avvist] + stages_text: { open: "meldt", befaring: "befaring avtalt", overslag: "overslag gitt", godkjent: "godkjent av styret", utbedret: "utbedret", avvist: "avvist" } + reached_from: { avvist: [open, befaring, overslag] } + done_when: [utbedret, avvist] + success: [utbedret] + moves_by: { godkjent: [styret], avvist: [styret, klingenberg] } + mails: { open: fredrik@klingenbergbygg.no, overslag: bl@klingenbergbygg.no, utbedret: submitter } + max_fields: 3 + collects: + - { name: hva } + - { name: hvor, optional: true } + - { name: beskrivelse, type: textarea } + - { name: email, type: email } + - { name: bilde, type: picture, optional: true } + + # Overslaget: Klingenberg Bygg gir et beløp for å rette en feil. Styret + # og aksjonærene ser det; godkjente overslag hører med i rapporten. + - id: overslag + who: Klingenberg Bygg, når en feil er sett på + wants: at styret får et beløp å ta stilling til, og at det havner i regnskapet + enters_as: klingenberg + lands_in: overslag + handled_by: styret + watched_by: [aksjonaerer, klingenberg] + stages: [open, godkjent, avvist, fakturert] + stages_text: { open: "til styret", godkjent: "godkjent", avvist: "avvist", fakturert: "fakturert" } + reached_from: { avvist: [open], fakturert: [godkjent] } + done_when: [fakturert, avvist] + success: [fakturert] + moves_by: { fakturert: [klingenberg] } + mails: { open: bl@klingenbergbygg.no } + max_fields: 3 + collects: + - { name: gjelder } + - { name: belop } + - { name: hva-det-dekker, type: textarea } + - { name: dokument, type: file, optional: true } + # Aksjonærene: uker i huset, og saker til styret. - id: uke who: en aksjonær som vil bruke huset en periode @@ -264,8 +317,10 @@ personas: - { id: styret-rom, need: ledig-rom, text: "Rommet i andre etasje blir ledig til jul, og jeg har et fint bilde av det. Det vil jeg legge ut." } - { id: styret-mangel, need: liste, text: "Taket på uthuset lekker. Det må stå på lista, og vi må ha en plan og en pris for det." } - { id: styret-kvartal, need: rapport, text: "Tredje kvartal er gjort opp. Leia kom inn, men strømmen ble dyrere enn vi trodde. Rapporten skal til banken." } + - { id: leietaker-vann, need: feil, text: "Det drypper fra taket på badet i andre etasje når noen dusjer over. Hvem sier jeg fra til?" } + - { id: klingenberg-overslag, need: overslag, text: "Vi har sett på lekkasjen på badet. Det er en pakning og litt flis, rundt 6 500 kroner. Styret må si ja før vi setter i gang." } - { id: aksjonaer-sommer, need: uke, text: "Vi vil gjerne være i huset første uka i juli med barna." } - { id: styret-bank, need: bankkrav, text: "Banken vil ha takst og aksjonæravtale før de går videre. Jeg vil se hva vi mangler og laste opp taksten." } - - { id: styret-plan, need: nedbetalingsplan, text: "Vi har regnet på det: 24 000 i måneden fra rommene, og vi kan sette av en fast sum til långiveren hver måned. Begge må stå bak det før vi går til banken." } + - { id: styret-plan, need: nedbetalingsplan, text: "Vi har regnet på det: 24 000 i måneden fra rommene, og vi kan sette av en fast sum til långiveren hver måned. Alle fire må stå bak det før vi går til banken." } - { id: styret-husleie, need: husleie, text: "Oktober er inne for to av rommene, det tredje mangler. Det må stå et sted alle ser." } - { id: aksjonaer-sak, need: sak, text: "Jeg mener vi bør se på solceller før vi tar opp mer lån. Kan styret ta det opp?" } -- 2.54.0 From 742be200a99637c83f5b525d8b5791fbffd4683d Mon Sep 17 00:00:00 2001 From: Bendik Aagaard Lynghaug Date: Thu, 1 Oct 2026 07:18:25 +0200 Subject: [PATCH 05/12] Gullberg draft: two of the four quarters are for sale; finding the co-owners comes first; the bank parts only if the company borrows Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt --- plans/gullberg.yaml | 60 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 49 insertions(+), 11 deletions(-) diff --git a/plans/gullberg.yaml b/plans/gullberg.yaml index c502d9c..765cb9f 100644 --- a/plans/gullberg.yaml +++ b/plans/gullberg.yaml @@ -3,12 +3,23 @@ # bygget eller satt ut. # # Oppsettet (samtale 2026-10-01): hele huset legges i Gullberg AS, som -# eies av fire aksjonærer med 25 % hver. Selskapet låner 1,6 millioner i -# banken, og 800 000 kr går til hver av de to søsknene som løses ut. -# Etterpå eier selskapet hele huset: én eier, én konto, én låntaker. -# ÅPENT: hvem de fire aksjonærene er, når to søsken løses ut. Lånet betjenes av husleie fra tre +# eies av fire aksjonærer med 25 % hver: de to søsknene som blir med, og +# to nye medeiere som hver kjøper ut en av de to andre for 800 000 kr. De +# to som blir med, har ikke råd til å løse ut søsknene selv. De nye +# medeierne er ikke funnet ennå: sidens første jobb er å finne dem. +# +# En medeier kjøper en firedel av et hus, en andel av overskuddet fra +# husleia og uker i huset om sommeren. Grovt: husleie rundt 264 000 kr i +# året (11 måneder), drift kanskje 120-150 000, overskudd 115-145 000; +# en firedel er 29-36 000 kr i året, 3,5-4,5 % av 800 000 kr. Ikke en +# høy avkastning, men en del av et ekte hus med bruk av det. Låner +# selskapet i tillegg, blir det lite eller ingenting igjen. Lånet betjenes av husleie fra tre # soverom (8 000 kr i måneden hver) og timeshare-uker om sommeren. # +# BANKDELENE TRENGS BARE HVIS SELSKAPET LÅNER. Betaler de nye +# medeierne med egne midler (eller eget lån i sin bank), kan +# nedbetalingsplanen og bankkravene strykes. +# # Banken logger ikke inn. Siden er dokumentasjonen bak lånesøknaden: # forretningsplanen, nedbetalingsplanen begge aksjonærene står bak, lista # over det banken krever, husleia måned for måned og kvartalsrapportene. @@ -43,8 +54,9 @@ people: memberships mail: { from: "Gullberg ", reply_to: bl@klingenbergbygg.no } about: > Et gammelt hus med rom til studenter som trenger et rimelig sted å bo, - og uker for dem som eier det. Drevet av eierne, forvaltet av - Klingenberg Bygg. + og uker om sommeren for dem som eier det. Drevet av eierne, forvaltet + av Klingenberg Bygg; det som mangler, står på lista med planen for + det, og tallene ligger åpent. groups: - { id: styret, label: Styret } @@ -54,16 +66,18 @@ groups: invites_by: [styret] does: + - id: medeier + for: medeier + text: > + Gullberg er et gammelt hus som eies i fire like deler. To av + delene er ledige: hver gir en firedel av huset, av overskuddet fra + husleia og av ukene i huset om sommeren. Forretningsplanen og + tallene ligger åpent her. - id: rom for: leie-rom text: > Rom til studenter, rimelig og for et studieår av gangen. Du søker her, kommer på visning og sier selv ja til tilbudet. - - id: huset - text: > - Huset drives av eierne, med Klingenberg Bygg som forvalter. Det som - mangler, står på lista sammen med planen for det, og tallene går - jevnlig til eierne og långiveren. # Forretningsplanen, ord for ord: ett kort per del. Skal skrives av # eierne; filen har bare delene og hva som hører hjemme i dem. @@ -74,6 +88,28 @@ documents: file: documents/gullberg-forretningsplan.md needs: + # Offentlig: noen som vil kjøpe en av de to ledige firedelene. + - id: medeier + who: en person eller et selskap som kan tenke seg å eie en firedel av Gullberg + wants: å bli medeier i huset, med en firedel av det, av overskuddet og av sommerukene + lands_in: medeiere + handled_by: styret + stages: [open, samtale, visning, tilbud, akseptert, avtalt, avsluttet] + stages_text: { open: "meldt interesse", samtale: "samtale avtalt", visning: "visning avtalt", tilbud: "tilbud sendt", akseptert: "tilbud godtatt", avtalt: "avtale signert", avsluttet: "avsluttet" } + done_when: [avtalt, avsluttet] + success: [avtalt] + turned_down_from: [open, samtale, visning, tilbud] + moves_by: { akseptert: [submitter], avsluttet: [submitter, styret] } + mails: { open: submitter, samtale: submitter, tilbud: submitter, akseptert: bl@klingenbergbygg.no, avtalt: submitter } + grants: { avtalt: aksjonaerer } + max_fields: 4 + collects: + - { name: name } + - { name: email, type: email } + - { name: telefon, type: tel } + - { name: om, type: textarea } + - { name: finansiering, type: select, options: [Egne midler, Lån, Begge deler, Vet ikke ennå], optional: true } + # Offentlig: en student søker rom. - id: leie-rom who: en student som trenger et rimelig rom for studieåret @@ -312,6 +348,8 @@ needs: - { name: sak, type: textarea } personas: + - { id: medeier-par, need: medeier, text: "Vi har solgt leiligheten i byen og vil ha en fot i et hus med plass. En firedel og noen uker om sommeren høres riktig ut, men vi vil se tallene først." } + - { id: medeier-selskap, need: medeier, text: "Holdingselskapet mitt ser etter en eiendom med jevn leie. Hva gir en firedel, og hva er risikoen?" } - { id: student-bergen, need: leie-rom, text: "Jeg begynner på master til høsten og har ikke råd til hybel i sentrum. Et rimelig rom i et stort hus høres perfekt ut." } - { id: student-kort, need: leie-rom, text: "Jeg skal på utveksling og trenger et rom bare for ett semester. Går det an?" } - { id: styret-rom, need: ledig-rom, text: "Rommet i andre etasje blir ledig til jul, og jeg har et fint bilde av det. Det vil jeg legge ut." } -- 2.54.0 From 54efedef56ab89c312ee65af6ac70ef7043cd7d5 Mon Sep 17 00:00:00 2001 From: Bendik Aagaard Lynghaug Date: Thu, 1 Oct 2026 07:20:35 +0200 Subject: [PATCH 06/12] Gullberg draft: the site as the bank's running proof that the company operates; the ownership transfer step by step; a read-only bank group Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt --- plans/documents/gullberg-forretningsplan.md | 4 +- plans/gullberg.yaml | 49 ++++++++++++++++----- 2 files changed, 41 insertions(+), 12 deletions(-) diff --git a/plans/documents/gullberg-forretningsplan.md b/plans/documents/gullberg-forretningsplan.md index e3e1529..ec6791f 100644 --- a/plans/documents/gullberg-forretningsplan.md +++ b/plans/documents/gullberg-forretningsplan.md @@ -8,11 +8,11 @@ Utkast, skrives av eierne: de to inntektene, romleie til studenter og timeshare- # Eierne -Utkast, skrives av eierne: de to søsknene som blir med, eier Gullberg AS 50/50 etter å ha lagt sine to firedeler av huset inn som aksjekapital. Hvordan styret er satt sammen, og hva som krever begge aksjonærene. +Utkast, skrives av eierne: Gullberg AS eies av fire aksjonærer med 25 % hver. Hvem de er, hvordan styret er satt sammen, og hva som krever alle fire. # Lånet -Utkast, skrives av eierne: 1,6 millioner til å løse ut de to søsknene som ikke blir med (800 000 kr hver), rente, løpetid og sikkerhet slik banken tilbyr, og hvordan avdraget betjenes av husleia. +Utkast, skrives av eierne: 1,6 millioner til å løse ut de to søsknene som ikke blir med (800 000 kr hver), og at selskapet overtar huset ved skjøte tinglyst på selskapet. Dokumentavgiften (normalt 2,5 % av verdien), rente, løpetid og sikkerhet slik banken tilbyr, og hvordan avdraget betjenes av husleia. # Budsjettet diff --git a/plans/gullberg.yaml b/plans/gullberg.yaml index 765cb9f..a35ef9e 100644 --- a/plans/gullberg.yaml +++ b/plans/gullberg.yaml @@ -16,11 +16,19 @@ # selskapet i tillegg, blir det lite eller ingenting igjen. Lånet betjenes av husleie fra tre # soverom (8 000 kr i måneden hver) og timeshare-uker om sommeren. # -# BANKDELENE TRENGS BARE HVIS SELSKAPET LÅNER. Betaler de nye -# medeierne med egne midler (eller eget lån i sin bank), kan -# nedbetalingsplanen og bankkravene strykes. +# Banken (samtale 2026-10-01): Gullberg AS låner 1,6 millioner i banken +# for å løse ut de to søsknene, og selskapet overtar huset (eierskifte, +# skjøte tinglyst på selskapet). Siden er det løpende beviset overfor +# banken på at selskapet er i drift: rom leid ut, husleie inne, feil tatt +# hånd om, tall rapportert i tide, og hvor langt eierskiftet har kommet. +# Dokumentavgift ved tinglysing til et AS er normalt 2,5 % av verdien +# (rundt 80 000 kr på 3,2 millioner); må med i lånet eller budsjettet. +# ÅPENT: om de nye medeierne fortsatt søkes ved siden av lånet, eller om +# lånet erstatter dem. # -# Banken logger ikke inn. Siden er dokumentasjonen bak lånesøknaden: +# Bankens kontaktperson kan følge alt lesende, i gruppa `bank`, hvis hen +# vil logge inn. Ellers sender styret kvartalsrapporten. Siden er +# dokumentasjonen bak lånesøknaden: # forretningsplanen, nedbetalingsplanen begge aksjonærene står bak, lista # over det banken krever, husleia måned for måned og kvartalsrapportene. # Styret fører inn hva som ble sendt banken og hva banken svarte. @@ -63,6 +71,7 @@ groups: - { id: aksjonaerer, label: Aksjonærer } - { id: leietakere, label: Leietakere } - { id: klingenberg, label: Klingenberg Bygg } + - { id: bank, label: Banken } invites_by: [styret] does: @@ -185,7 +194,7 @@ needs: enters_as: styret lands_in: rapporter handled_by: styret - watched_by: [aksjonaerer] + watched_by: [aksjonaerer, bank] stages: [open, sendt] stages_text: { open: "lagt fram for aksjonærene", sendt: "sendt til banken" } done_when: [sendt] @@ -208,7 +217,7 @@ needs: enters_as: styret lands_in: bankkrav handled_by: styret - watched_by: [aksjonaerer] + watched_by: [aksjonaerer, bank] stages: [open, arbeid, levert, godkjent] stages_text: { open: "mangler", arbeid: "under arbeid", levert: "levert banken", godkjent: "godkjent av banken" } done_when: [godkjent] @@ -230,7 +239,7 @@ needs: enters_as: styret lands_in: nedbetalingsplaner handled_by: styret - watched_by: [aksjonaerer] + watched_by: [aksjonaerer, bank] stages: [open, godkjent, sendt, innvilget, endringer] stages_text: { open: "til godkjenning hos aksjonærene", godkjent: "godkjent av aksjonærene", sendt: "sendt til banken", innvilget: "innvilget av banken", endringer: "banken ber om endringer" } reached_from: { godkjent: [open], sendt: [godkjent], innvilget: [sendt], endringer: [sendt] } @@ -254,7 +263,7 @@ needs: enters_as: styret lands_in: husleie handled_by: styret - watched_by: [aksjonaerer] + watched_by: [aksjonaerer, bank] stages: [open, betalt, purret] stages_text: { open: "forventet", betalt: "betalt", purret: "purret" } reached_from: { purret: [open], betalt: [open, purret] } @@ -275,7 +284,7 @@ needs: enters_as: leietakere lands_in: feil handled_by: klingenberg - watched_by: [styret] + watched_by: [styret, bank] stages: [open, befaring, overslag, godkjent, utbedret, avvist] stages_text: { open: "meldt", befaring: "befaring avtalt", overslag: "overslag gitt", godkjent: "godkjent av styret", utbedret: "utbedret", avvist: "avvist" } reached_from: { avvist: [open, befaring, overslag] } @@ -299,7 +308,7 @@ needs: enters_as: klingenberg lands_in: overslag handled_by: styret - watched_by: [aksjonaerer, klingenberg] + watched_by: [aksjonaerer, klingenberg, bank] stages: [open, godkjent, avvist, fakturert] stages_text: { open: "til styret", godkjent: "godkjent", avvist: "avvist", fakturert: "fakturert" } reached_from: { avvist: [open], fakturert: [godkjent] } @@ -314,6 +323,25 @@ needs: - { name: hva-det-dekker, type: textarea } - { name: dokument, type: file, optional: true } + # Eierskiftet, steg for steg: fra selskapet stiftes til søsknene er + # utbetalt. Aksjonærene og banken ser hvor langt det har kommet. + - id: eierskifte + who: styret, mens huset går over til selskapet + wants: at aksjonærene og banken ser hvor langt eierskiftet har kommet, med dokumentene + enters_as: styret + lands_in: eierskifte + handled_by: styret + watched_by: [aksjonaerer, bank] + stages: [open, arbeid, ferdig] + stages_text: { open: "ikke startet", arbeid: "i gang", ferdig: "ferdig" } + done_when: [ferdig] + success: [ferdig] + max_fields: 2 + collects: + - { name: steg, type: select, options: [Selskapet stiftet, Takst, Lånet innvilget, Aksjonæravtale signert, Skjøte signert, Skjøte tinglyst, Dokumentavgift betalt, Søsknene utbetalt] } + - { name: merknad, type: textarea, optional: true } + - { name: dokument, type: file, optional: true } + # Aksjonærene: uker i huset, og saker til styret. - id: uke who: en aksjonær som vil bruke huset en periode @@ -357,6 +385,7 @@ personas: - { id: styret-kvartal, need: rapport, text: "Tredje kvartal er gjort opp. Leia kom inn, men strømmen ble dyrere enn vi trodde. Rapporten skal til banken." } - { id: leietaker-vann, need: feil, text: "Det drypper fra taket på badet i andre etasje når noen dusjer over. Hvem sier jeg fra til?" } - { id: klingenberg-overslag, need: overslag, text: "Vi har sett på lekkasjen på badet. Det er en pakning og litt flis, rundt 6 500 kroner. Styret må si ja før vi setter i gang." } + - { id: styret-skjote, need: eierskifte, text: "Skjøtet er tinglyst på selskapet i dag. Banken skal se det, og kopien skal ligge ved." } - { id: aksjonaer-sommer, need: uke, text: "Vi vil gjerne være i huset første uka i juli med barna." } - { id: styret-bank, need: bankkrav, text: "Banken vil ha takst og aksjonæravtale før de går videre. Jeg vil se hva vi mangler og laste opp taksten." } - { id: styret-plan, need: nedbetalingsplan, text: "Vi har regnet på det: 24 000 i måneden fra rommene, og vi kan sette av en fast sum til långiveren hver måned. Alle fire må stå bak det før vi går til banken." } -- 2.54.0 From 902dc368312f26bdfad27da6df04e3dc46d2f589 Mon Sep 17 00:00:00 2001 From: Bendik Aagaard Lynghaug Date: Thu, 1 Oct 2026 07:28:28 +0200 Subject: [PATCH 07/12] Gullberg: lighter on the bank, the co-owner offer held back, and the points the shareholder agreement must cover Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt --- .../gullberg-aksjonaeravtale-punkter.md | 61 +++++++++ plans/gullberg.yaml | 129 ++++-------------- 2 files changed, 88 insertions(+), 102 deletions(-) create mode 100644 plans/documents/gullberg-aksjonaeravtale-punkter.md diff --git a/plans/documents/gullberg-aksjonaeravtale-punkter.md b/plans/documents/gullberg-aksjonaeravtale-punkter.md new file mode 100644 index 0000000..a7409bb --- /dev/null +++ b/plans/documents/gullberg-aksjonaeravtale-punkter.md @@ -0,0 +1,61 @@ +# Aksjonæravtalen for Gullberg AS: punkter å dekke + +Ikke en avtale, og ikke på siden. En liste over det aksjonæravtalen bør +svare på, til samtale mellom de fire og med advokat eller regnskapsfører. +Lånet går over lang tid (rundt 100 000 kr i året mot 1,6 millioner), så +avtalen må tåle at livene til de fire endrer seg underveis. + +## Eierskapet + +- Hvem de fire aksjonærene er, med 25 % hver, og hva hver har skutt inn. +- Hvordan huset går fra dødsboet til selskapet: skjøte, takst som legges + til grunn, og hvem som betaler dokumentavgiften. +- Hva søsknene som løses ut får, når, og at de ikke har noe krav etterpå. + +## Lånet + +- Hvem som står for lånet overfor banken, og om noen har kausjonert + personlig. Hvis bare noen kausjonerer: hvordan de holdes skadesløse av + de andre. +- Hva som skjer hvis husleia ikke dekker avdraget en måned, eller et + halvår: hvem skyter inn, i hvilket forhold, og som lån eller kapital. +- Hva som skjer hvis renta stiger mye. + +## Driften + +- Hva styret avgjør alene, og hva som krever alle fire (nye lån, salg av + huset, store utbedringer over et beløp, endring av husleia, ny eier). +- Hva som skjer ved stemmelikhet, to mot to: hvem eller hva som bryter. +- Klingenberg Bygg som forvalter, og som den som gir overslag og gjør + arbeidet: hvordan overslag godkjennes, og hvordan en mulig + interessekonflikt håndteres. +- Et vedlikeholdsfond: hvor mye av overskuddet som settes av før noe + deles ut. + +## Bruken av huset + +- Hvordan sommerukene fordeles mellom de fire, hvem som velger først, og + hva som skjer med uker ingen bruker. +- Om uker kan leies ut til andre, og hvem som får inntekten. +- Hva aksjonærene betaler for egne uker, om noe. + +## Når noe endrer seg + +- En aksjonær vil selge: forkjøpsrett for de andre, hvordan prisen + fastsettes (takst, formel), og hvor lang tid de andre har. +- En aksjonær dør eller skiller seg: om aksjene går til arvinger eller + ektefelle, eller om de andre kan løse dem ut. +- En aksjonær klarer ikke sin del: hva som skjer med andelen. +- Huset skal selges: hvordan, og hvordan pengene fordeles etter lånet. +- Brann, stor skade, eller at huset ikke kan leies ut: forsikring, og + hva som skjer med lånet. + +## Utbytte og innsyn + +- Når det deles ut utbytte, og i hvilken rekkefølge (lån, fond, utbytte). +- Hva hver aksjonær har rett til å se (rapportene på siden, regnskapet). + +## Tvister og varighet + +- Hvordan uenighet løses før noen går til retten (mekling). +- Når avtalen tas opp igjen, for eksempel hvert femte år. diff --git a/plans/gullberg.yaml b/plans/gullberg.yaml index a35ef9e..0856e45 100644 --- a/plans/gullberg.yaml +++ b/plans/gullberg.yaml @@ -3,56 +3,32 @@ # bygget eller satt ut. # # Oppsettet (samtale 2026-10-01): hele huset legges i Gullberg AS, som -# eies av fire aksjonærer med 25 % hver: de to søsknene som blir med, og -# to nye medeiere som hver kjøper ut en av de to andre for 800 000 kr. De -# to som blir med, har ikke råd til å løse ut søsknene selv. De nye -# medeierne er ikke funnet ennå: sidens første jobb er å finne dem. +# eies av fire aksjonærer med 25 % hver. Selskapet låner 1,6 millioner i +# banken for å løse ut de to søsknene som ikke blir med (800 000 kr hver), +# og overtar huset (skjøte tinglyst på selskapet). Dokumentavgiften, +# normalt 2,5 % av verdien, må med i lånet eller budsjettet. Rundt +# 100 000 kr i året til banken er en lang nedbetaling: alt som kan gå +# galt underveis hører hjemme i aksjonæravtalen (se +# documents/gullberg-aksjonaeravtale-punkter.md, ikke på siden). # -# En medeier kjøper en firedel av et hus, en andel av overskuddet fra -# husleia og uker i huset om sommeren. Grovt: husleie rundt 264 000 kr i -# året (11 måneder), drift kanskje 120-150 000, overskudd 115-145 000; -# en firedel er 29-36 000 kr i året, 3,5-4,5 % av 800 000 kr. Ikke en -# høy avkastning, men en del av et ekte hus med bruk av det. Låner -# selskapet i tillegg, blir det lite eller ingenting igjen. Lånet betjenes av husleie fra tre -# soverom (8 000 kr i måneden hver) og timeshare-uker om sommeren. +# Siden er huset i drift: rom til studenter, feil meldt til Klingenberg +# Bygg som forvalter, styrets liste over det som er bra, mangler og er +# planlagt, husleia måned for måned, kvartalsrapporter, nedbetalingsplanen +# alle fire står bak, og eierskiftet steg for steg. Banken er ikke en egen +# gruppe på siden ennå; styret sender rapportene. # -# Banken (samtale 2026-10-01): Gullberg AS låner 1,6 millioner i banken -# for å løse ut de to søsknene, og selskapet overtar huset (eierskifte, -# skjøte tinglyst på selskapet). Siden er det løpende beviset overfor -# banken på at selskapet er i drift: rom leid ut, husleie inne, feil tatt -# hånd om, tall rapportert i tide, og hvor langt eierskiftet har kommet. -# Dokumentavgift ved tinglysing til et AS er normalt 2,5 % av verdien -# (rundt 80 000 kr på 3,2 millioner); må med i lånet eller budsjettet. -# ÅPENT: om de nye medeierne fortsatt søkes ved siden av lånet, eller om -# lånet erstatter dem. -# -# Bankens kontaktperson kan følge alt lesende, i gruppa `bank`, hvis hen -# vil logge inn. Ellers sender styret kvartalsrapporten. Siden er -# dokumentasjonen bak lånesøknaden: -# forretningsplanen, nedbetalingsplanen begge aksjonærene står bak, lista -# over det banken krever, husleia måned for måned og kvartalsrapportene. -# Styret fører inn hva som ble sendt banken og hva banken svarte. -# -# Pengene: 3 x 8 000 kr = 24 000 kr i måneden, rundt 22 000 i snitt over -# 11 måneder. Lån på 1,6 mill. til 6 % over 20 år er rundt 11 500 kr i -# måneden (25 år: 10 300). Husleia går som fast trekk eller AvtaleGiro til -# selskapets konto; Vipps eller Stripe bare for engangsbeløp (uker, første -# måned). Depositum på egen depositumskonto (husleieloven). Banken trekker -# avdraget fra selskapets konto. -# -# Klingenberg Bygg er forvalter: feil i huset meldes til dem, de gir et -# overslag, styret godkjenner, og overslagene hører med i rapportene. -# Klingenbergs folk logger inn med samme konto som på klingenbergbygg.no -# og er gruppa `klingenberg` her. +# Pengene: 3 soverom à 8 000 kr er 24 000 kr i måneden, rundt 264 000 i +# året over 11 måneder; sommeren er timeshare-uker. Husleia går som fast +# trekk eller AvtaleGiro til selskapets konto; Vipps eller Stripe bare for +# engangsbeløp. Depositum på egen depositumskonto (husleieloven). # # Åpne spørsmål: -# - bankens tilbud: rente, løpetid, sikkerhet; om banken krever personlig -# kausjon fra aksjonærene (vanlig for et nytt AS) -# - takst eller verdivurdering av huset -# - hvem som sitter i styret +# - hvem de fire aksjonærene er, og om nye medeiere søkes ved siden av +# lånet (medeier-tilbudet er tatt ut av forsiden til det er avgjort) +# - bankens tilbud: rente, løpetid, sikkerhet, kausjon +# - takst; hvem som sitter i styret # - antall måneder studentene leier; timeshare bare for aksjonærene? -# - regnskapsfører/advokat: overføring i skiftet, dokumentavgift, skatt på -# leieinntekter +# - regnskapsfører/advokat: skiftet, dokumentavgift, skatt på husleie # - kontakt og avsender (under er plassholdere) business: GULLBERG sanatorium language: no @@ -71,17 +47,9 @@ groups: - { id: aksjonaerer, label: Aksjonærer } - { id: leietakere, label: Leietakere } - { id: klingenberg, label: Klingenberg Bygg } - - { id: bank, label: Banken } invites_by: [styret] does: - - id: medeier - for: medeier - text: > - Gullberg er et gammelt hus som eies i fire like deler. To av - delene er ledige: hver gir en firedel av huset, av overskuddet fra - husleia og av ukene i huset om sommeren. Forretningsplanen og - tallene ligger åpent her. - id: rom for: leie-rom text: > @@ -97,28 +65,6 @@ documents: file: documents/gullberg-forretningsplan.md needs: - # Offentlig: noen som vil kjøpe en av de to ledige firedelene. - - id: medeier - who: en person eller et selskap som kan tenke seg å eie en firedel av Gullberg - wants: å bli medeier i huset, med en firedel av det, av overskuddet og av sommerukene - lands_in: medeiere - handled_by: styret - stages: [open, samtale, visning, tilbud, akseptert, avtalt, avsluttet] - stages_text: { open: "meldt interesse", samtale: "samtale avtalt", visning: "visning avtalt", tilbud: "tilbud sendt", akseptert: "tilbud godtatt", avtalt: "avtale signert", avsluttet: "avsluttet" } - done_when: [avtalt, avsluttet] - success: [avtalt] - turned_down_from: [open, samtale, visning, tilbud] - moves_by: { akseptert: [submitter], avsluttet: [submitter, styret] } - mails: { open: submitter, samtale: submitter, tilbud: submitter, akseptert: bl@klingenbergbygg.no, avtalt: submitter } - grants: { avtalt: aksjonaerer } - max_fields: 4 - collects: - - { name: name } - - { name: email, type: email } - - { name: telefon, type: tel } - - { name: om, type: textarea } - - { name: finansiering, type: select, options: [Egne midler, Lån, Begge deler, Vet ikke ennå], optional: true } - # Offentlig: en student søker rom. - id: leie-rom who: en student som trenger et rimelig rom for studieåret @@ -194,7 +140,7 @@ needs: enters_as: styret lands_in: rapporter handled_by: styret - watched_by: [aksjonaerer, bank] + watched_by: [aksjonaerer] stages: [open, sendt] stages_text: { open: "lagt fram for aksjonærene", sendt: "sendt til banken" } done_when: [sendt] @@ -210,24 +156,6 @@ needs: - { name: kommentar, type: textarea } - { name: dokument, type: file, optional: true } - # Det banken krever før lånet: én rad per dokument, med dokumentet. - - id: bankkrav - who: styret, mens lånesøknaden er hos banken - wants: å vite hva banken venter på, og levere det - enters_as: styret - lands_in: bankkrav - handled_by: styret - watched_by: [aksjonaerer, bank] - stages: [open, arbeid, levert, godkjent] - stages_text: { open: "mangler", arbeid: "under arbeid", levert: "levert banken", godkjent: "godkjent av banken" } - done_when: [godkjent] - success: [godkjent] - max_fields: 2 - collects: - - { name: dokument-navn, type: select, options: [Takst eller verdivurdering, Forretningsplan, Likviditetsbudsjett, Nedbetalingsplan, Stiftelsesdokument og vedtekter, Firmaattest, Aksjonæravtale, Leiekontrakter, Forsikring, Kausjon, Annet] } - - { name: merknad, type: textarea, optional: true } - - { name: dokument, type: file, optional: true } - # Nedbetalingsplanen: hvordan pengene går og hva banken får. Styret # legger den fram, BEGGE aksjonærene må godkjenne før den går til # banken, og styret fører inn bankens svar. "Alle i gruppa" finnes ikke @@ -239,7 +167,7 @@ needs: enters_as: styret lands_in: nedbetalingsplaner handled_by: styret - watched_by: [aksjonaerer, bank] + watched_by: [aksjonaerer] stages: [open, godkjent, sendt, innvilget, endringer] stages_text: { open: "til godkjenning hos aksjonærene", godkjent: "godkjent av aksjonærene", sendt: "sendt til banken", innvilget: "innvilget av banken", endringer: "banken ber om endringer" } reached_from: { godkjent: [open], sendt: [godkjent], innvilget: [sendt], endringer: [sendt] } @@ -263,7 +191,7 @@ needs: enters_as: styret lands_in: husleie handled_by: styret - watched_by: [aksjonaerer, bank] + watched_by: [aksjonaerer] stages: [open, betalt, purret] stages_text: { open: "forventet", betalt: "betalt", purret: "purret" } reached_from: { purret: [open], betalt: [open, purret] } @@ -284,7 +212,7 @@ needs: enters_as: leietakere lands_in: feil handled_by: klingenberg - watched_by: [styret, bank] + watched_by: [styret] stages: [open, befaring, overslag, godkjent, utbedret, avvist] stages_text: { open: "meldt", befaring: "befaring avtalt", overslag: "overslag gitt", godkjent: "godkjent av styret", utbedret: "utbedret", avvist: "avvist" } reached_from: { avvist: [open, befaring, overslag] } @@ -308,7 +236,7 @@ needs: enters_as: klingenberg lands_in: overslag handled_by: styret - watched_by: [aksjonaerer, klingenberg, bank] + watched_by: [aksjonaerer, klingenberg] stages: [open, godkjent, avvist, fakturert] stages_text: { open: "til styret", godkjent: "godkjent", avvist: "avvist", fakturert: "fakturert" } reached_from: { avvist: [open], fakturert: [godkjent] } @@ -331,7 +259,7 @@ needs: enters_as: styret lands_in: eierskifte handled_by: styret - watched_by: [aksjonaerer, bank] + watched_by: [aksjonaerer] stages: [open, arbeid, ferdig] stages_text: { open: "ikke startet", arbeid: "i gang", ferdig: "ferdig" } done_when: [ferdig] @@ -376,8 +304,6 @@ needs: - { name: sak, type: textarea } personas: - - { id: medeier-par, need: medeier, text: "Vi har solgt leiligheten i byen og vil ha en fot i et hus med plass. En firedel og noen uker om sommeren høres riktig ut, men vi vil se tallene først." } - - { id: medeier-selskap, need: medeier, text: "Holdingselskapet mitt ser etter en eiendom med jevn leie. Hva gir en firedel, og hva er risikoen?" } - { id: student-bergen, need: leie-rom, text: "Jeg begynner på master til høsten og har ikke råd til hybel i sentrum. Et rimelig rom i et stort hus høres perfekt ut." } - { id: student-kort, need: leie-rom, text: "Jeg skal på utveksling og trenger et rom bare for ett semester. Går det an?" } - { id: styret-rom, need: ledig-rom, text: "Rommet i andre etasje blir ledig til jul, og jeg har et fint bilde av det. Det vil jeg legge ut." } @@ -387,7 +313,6 @@ personas: - { id: klingenberg-overslag, need: overslag, text: "Vi har sett på lekkasjen på badet. Det er en pakning og litt flis, rundt 6 500 kroner. Styret må si ja før vi setter i gang." } - { id: styret-skjote, need: eierskifte, text: "Skjøtet er tinglyst på selskapet i dag. Banken skal se det, og kopien skal ligge ved." } - { id: aksjonaer-sommer, need: uke, text: "Vi vil gjerne være i huset første uka i juli med barna." } - - { id: styret-bank, need: bankkrav, text: "Banken vil ha takst og aksjonæravtale før de går videre. Jeg vil se hva vi mangler og laste opp taksten." } - { id: styret-plan, need: nedbetalingsplan, text: "Vi har regnet på det: 24 000 i måneden fra rommene, og vi kan sette av en fast sum til långiveren hver måned. Alle fire må stå bak det før vi går til banken." } - { id: styret-husleie, need: husleie, text: "Oktober er inne for to av rommene, det tredje mangler. Det må stå et sted alle ser." } - { id: aksjonaer-sak, need: sak, text: "Jeg mener vi bør se på solceller før vi tar opp mer lån. Kan styret ta det opp?" } -- 2.54.0 From 37624e8e2b4ddbf9c65b05466e909ad383732b25 Mon Sep 17 00:00:00 2001 From: Bendik Aagaard Lynghaug Date: Thu, 1 Oct 2026 07:36:45 +0200 Subject: [PATCH 08/12] Gullberg: reviewed Norwegian words (nine misreadings fixed, invite mail written), tenants follow their own fault reports Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt --- plans/gullberg.yaml | 2 + plans/words/gullberg.json | 985 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 987 insertions(+) create mode 100644 plans/words/gullberg.json diff --git a/plans/gullberg.yaml b/plans/gullberg.yaml index 0856e45..8d9221c 100644 --- a/plans/gullberg.yaml +++ b/plans/gullberg.yaml @@ -212,6 +212,8 @@ needs: enters_as: leietakere lands_in: feil handled_by: klingenberg + # Leietakeren ser sine egne meldinger og hvor langt de har kommet. + followed_by: [leietakere] watched_by: [styret] stages: [open, befaring, overslag, godkjent, utbedret, avvist] stages_text: { open: "meldt", befaring: "befaring avtalt", overslag: "overslag gitt", godkjent: "godkjent av styret", utbedret: "utbedret", avvist: "avvist" } diff --git a/plans/words/gullberg.json b/plans/words/gullberg.json new file mode 100644 index 0000000..e5f3ed5 --- /dev/null +++ b/plans/words/gullberg.json @@ -0,0 +1,985 @@ +{ + "aggregates.yaml": { + "feil": { + "open": { + "subject": "Meldingen om {hva} er mottatt", + "body": "Feilen du meldte om {hva} er registrert hos oss. Klingenberg Bygg ser på den og melder tilbake når de vet mer. {link}" + }, + "overslag": { + "subject": "Overslag er på vei for {hva}", + "body": "Klingenberg Bygg har sett på {hva} og styret har fått et overslag å ta stilling til. Du hører fra oss når det er avgjort. {link}" + }, + "utbedret": { + "subject": "{hva} er rettet", + "body": "Feilen du meldte om, {hva}, er nå utbedret. Si gjerne til hvis noe fortsatt ikke er som det skal. {link}" + } + }, + "overslag": { + "open": { + "subject": "Overslaget for {gjelder} er mottatt", + "body": "Overslaget for {gjelder} er kommet inn til styret og ligger til vurdering. Du hører fra oss når det er avgjort. {link}" + } + }, + "romsoknader": { + "akseptert": { + "subject": "Du har fått rommet", + "body": "Søknaden din om et rom til studieåret er godtatt. Vi tar kontakt om det videre, og du er velkommen til å svare her om du har spørsmål. {link}" + }, + "open": { + "subject": "Søknaden til {studiested} er mottatt", + "body": "Søknaden din om rom, som student ved {studiested}, er registrert hos styret. Du hører fra oss når det er sett på. {link}\n\nDet du kan gjøre nå: {site}/decide/leie-rom?chain={chain}&email={email}" + }, + "signert": { + "subject": "Kontrakten er signert", + "body": "Kontrakten for rommet du søkte om er nå signert av begge parter. Rommet er ditt - velkommen inn. {link}" + }, + "tilbud": { + "subject": "Du har fått tilbud om rom", + "body": "Styret har sett på søknaden din og kan tilby deg rommet. Svar her så snart du kan, så går vi videre med kontrakten. {link}\n\nDet du kan gjøre nå: {site}/decide/leie-rom?chain={chain}&email={email}" + }, + "visning": { + "subject": "Visning av rommet er satt opp", + "body": "Søknaden din har kommet til visning - styret vil vise deg rommet før det avgjøres. Du hører fra oss om tid og sted. {link}\n\nDet du kan gjøre nå: {site}/decide/leie-rom?chain={chain}&email={email}" + } + } + }, + "questions/aksjonaerer/index.yaml": { + "question": "Hvordan ligger huset og driften an?", + "description": "Her ser aksjonærene hvordan huset og driften står: eierskiftet, husleia, lista, overslagene og sakene.", + "confirm": "Bekreft", + "buckets": { + "eierskifte": { + "heading": "Se hvor langt eierskiftet har kommet", + "description": "Hvert steg i overgangen til Gullberg AS, med dokumentene som hører til.", + "moves": {}, + "list_title": "Steg i eierskiftet", + "list_note": "Hver rad er et steg med merknad og dokument; flytt det videre når det er i arbeid eller ferdig." + }, + "husleie": { + "heading": "Se hvilke rom som har betalt", + "description": "Husleia for hvert rom, måned for måned, og hva som er purret på.", + "moves": {}, + "list_title": "Husleie", + "list_note": "Hver rad er ett rom for én måned, med beløp og betalingsdato; merk den betalt eller purret." + }, + "liste": { + "heading": "Se det som er bra, mangler og planlagt", + "description": "Én liste over tilstanden i huset, med pris og tid på det som står igjen.", + "moves": {}, + "list_title": "Lista", + "list_note": "Hver rad er ett punkt med kostnad og tidspunkt; vedta den, publiser den eller forkast den." + }, + "nedbetalingsplaner": { + "heading": "Godkjenn nedbetalingsplanen", + "description": "Planen for lånet, lagt fram for alle fire aksjonærene og banken.", + "moves": { + "open->godkjent": "Godkjenn planen" + }, + "list_title": "Nedbetalingsplaner", + "list_note": "Hver rad er en plan med lånebeløp og pengestrøm; følg den fra godkjent til innvilget hos banken." + }, + "overslag": { + "heading": "Se overslagene fra Klingenberg Bygg", + "description": "Beløpet Klingenberg Bygg har satt på en feil, klart til vedtak.", + "moves": {}, + "list_title": "Overslag", + "list_note": "Hver rad er ett overslag med beløp og hva det dekker; godkjenn, avvis eller fakturer det." + }, + "rapporter": { + "heading": "Se kvartalsrapportene", + "description": "Tallene aksjonærene og banken skal ha, kvartal for kvartal.", + "moves": {}, + "list_title": "Rapporter", + "list_note": "Hver rad er én periode med inntekter, kostnader og saldo; send den når den er klar." + }, + "saker": { + "heading": "Se sakene som er meldt til styret", + "description": "Det en aksjonær vil ha styrets ord på, samlet på ett sted.", + "moves": {}, + "list_title": "Saksliste", + "list_note": "Hver rad er én sak; sett den på sakslisten, vedta den eller avvis den." + } + }, + "links": { + "uke": { + "heading": "Be om en uke i huset", + "description": "Reserver en periode selv, bekreftet av styret.", + "button": "Søk om uke" + }, + "sak": { + "heading": "Få noe avgjort av styret", + "description": "Meld en sak du vil ha styrets ord på.", + "button": "Meld sak" + } + }, + "invites": { + "aksjonaerer": { + "heading": "Inviter en ny aksjonær inn", + "description": "De får en konto og en lenke som gjelder én gang.", + "button": "Send invitasjon", + "form_title": "Ny aksjonær", + "form_description": "Ha navn, e-post og telefon klart.", + "labels": { + "name": "Navn", + "phone": "Telefon", + "email": "E-post" + } + } + }, + "invited": { + "heading": "Se hvem som er invitert", + "description": "Status på invitasjonene som er sendt ut.", + "done": "Aktiv", + "withdraw": "Trekk tilbake", + "again": "Send på nytt", + "list_title": "Invitasjoner", + "list_note": "Hver rad er én invitasjon; send den på nytt om lenken har gått ut, eller trekk den tilbake." + }, + "suggestions": null + }, + "questions/aksjonaerer/sak-sent.yaml": { + "question": "Hva skjer med saken jeg nettopp sendte inn?", + "description": "Saken er sendt til styret. Den havner på sakslisten og blir tatt opp der.", + "next_heading": "Følg saken videre", + "next_description": "Styret vurderer saken og vedtar eller avviser den. Du finner status på sakslisten." + }, + "questions/aksjonaerer/sak.yaml": { + "heading": "Få en sak opp i styret", + "description": "Noe som bør avgjøres, men ikke er ditt å avgjøre alene? Legg den fram, så tar styret den opp.", + "button": "Send saken", + "encouragement": "Styret ser den og setter den på sakslisten.", + "icon": "vote", + "paused": "Pause mottak av saker", + "requires_title": "Krev tittel", + "requires_description": "Krev beskrivelse av saken", + "requires_icon": "Krev ikon", + "road_title": "Fra forslag til vedtak", + "road_description": "Saken kommer inn og settes på sakslisten, blir tatt opp av styret og ender med et vedtak eller en avvisning.", + "road_icon": "list", + "who_title": "Hvem som leser den", + "who_description": "Styret får saken og tar stilling til den; haster det, nå dem på bl@klingenbergbygg.no.", + "who_icon": "users", + "form_title": "Ny sak", + "form_description": "Skriv kort hva saken går ut på og hvorfor den bør opp.", + "labels": { + "tittel": "Tittel på saken", + "sak": "Hva gjelder saken" + }, + "hints": { + "tittel": "Fast eller flytende leie for sommeren", + "sak": "Vi bør avklare om timeshare-ukene skal prises likt hele året, eller om sommeren skal koste mer. Foreslår at styret tar stilling til dette før neste sesong." + }, + "question": "Er det noe som bør avgjøres av styret?", + "page_description": "Her melder du inn en sak du vil at styret skal ta opp og avgjøre." + }, + "questions/aksjonaerer/uke-sent.yaml": { + "question": "Hva skjer nå med ukesøknaden din?", + "description": "Den er sendt og ligger hos styret, som avgjør om uken blir bekreftet.", + "next_heading": "Styret ser på søknaden din", + "next_description": "De bekrefter eller avslår uken. Du finner svaret i oversikten når det er klart." + }, + "questions/aksjonaerer/uke.yaml": { + "heading": "Reserver en uke i huset", + "description": "Si fra når du vil bruke huset, så ser styret om datoene passer.", + "button": "Send ønske", + "encouragement": "Du hører fra styret så snart datoene er sjekket.", + "icon": "calendar", + "paused": "Tar vi ikke imot ukeønsker nå", + "requires_title": "Krever tittel", + "requires_description": "Krever beskrivelse", + "requires_icon": "Krever ikon", + "road_title": "Veien videre", + "road_description": "Styret ser på ønsket ditt og bekrefter eller avslår uken.", + "road_icon": "route", + "who_title": "Hvem leser dette", + "who_description": "Styret ser ønsket ditt; skriv til bl@klingenbergbygg.no om det haster.", + "who_icon": "users", + "form_title": "Ukeønske", + "form_description": "Fyll inn datoene du ønsker huset.", + "labels": { + "fra": "Fra dato", + "til": "Til dato", + "merknad": "Merknad" + }, + "hints": { + "fra": "f.eks. 6. juli 2027", + "til": "f.eks. 13. juli 2027", + "merknad": "f.eks. kommer med familie, trenger ekstra seng" + }, + "question": "Hvilken uke vil du bruke huset?", + "page_description": "Meld fra om uken du ønsker, så bekrefter styret den." + }, + "questions/decide/leie-rom.yaml": { + "question": "Vil du ta imot tilbudet om rom?", + "description": "Styret har sett på søknaden din og tilbyr deg et rom. Si ja og det er ditt, si nei og det går videre til neste på lista.", + "moves": { + "akseptert": { + "heading": "Ta imot rommet", + "description": "Du sier ja til rommet du har fått tilbud om. Styret tar kontakt om innflytting og signering.", + "button": "Ta imot" + }, + "avslatt": { + "heading": "Takk nei til rommet", + "description": "Du sier nei til tilbudet, og rommet går videre til neste søker.", + "button": "Takk nei" + } + } + }, + "questions/hvem.yaml": { + "question": "Hva er Gullberg?", + "description": "Et gammelt hus eid av fire aksjonærer og drevet av styret, med Klingenberg Bygg som forvalter. Her er rommene som er ledige nå.", + "presents": { + "rom": { + "heading": "Rommene som er ledige", + "description": "Rommene som står åpne for studenter som søker om et sted å bo.", + "empty": "Ingen rom er ledige akkurat nå, men nye kommer når noen flytter ut." + } + }, + "values": { + "heading": "Det styret har vedtatt", + "description": "Det som gjelder for huset og driften, slik styret har satt det.", + "items": {} + } + }, + "questions/index.yaml": { + "question": "Trenger du et rimelig rom å bo i mens du studerer?", + "description": "Gullberg er et gammelt hus med rom til studenter. Eierne driver det selv, og Klingenberg Bygg forvalter huset og vedlikeholdet.", + "opener": { + "heading": "Et rimelig sted å bo for studenter", + "description": "Gullberg har rom til leie gjennom studieåret, til en pris som går opp med studielånet.", + "features": { + "rom": { + "heading": "Rom til leie gjennom hele studieåret", + "description": "Du leier et rom i huset så lenge studieåret varer, til en husleie satt for studenter.", + "icon": "house" + } + } + }, + "who": { + "heading": "Hva er Gullberg?", + "description": "Fire aksjonærer eier huset sammen og driver det selv, med Klingenberg Bygg som forvalter.", + "button": "Se huset og rommene" + }, + "shopping": { + "heading": "Hva som er gjort, og hva som mangler", + "description": "Det styret har vedtatt for huset: planene, med pris og tid der det er kjent.", + "items": { + "status-liste": { + "heading": "Siste fra lista", + "description": "Punktene styret har tatt stilling til, ferskest øverst.", + "link": "Se hele lista", + "empty": "Snart kommer de første punktene på lista.", + "icon": "clipboard-list" + } + } + }, + "doors": {}, + "needs": { + "leie-rom": { + "heading": "Søk rom for studieåret", + "description": "Fortell oss litt om deg, så tar styret kontakt når et rom passer.", + "button": "Søk rom", + "encouragement": "Det tar bare et par minutter, og du hører fra styret så snart et rom er ledig.", + "icon": "key", + "paused": "Søknader er satt på pause", + "requires_title": "Dette trenger vi", + "requires_description": "Navn, e-post og hvilket lærested du går på.", + "requires_icon": "clipboard-list", + "road_title": "Veien videre", + "road_description": "Søknaden havner hos styret, som inviterer deg på visning av et ledig rom. Sier du ja til tilbudet, signerer du leieavtalen og flytter inn.", + "road_icon": "route", + "who_title": "Hvem leser søknaden", + "who_description": "Styret i Gullberg leser søknaden din, og du når dem i mellomtiden på bl@klingenbergbygg.no.", + "who_icon": "users", + "form_title": "Søknadsskjema", + "form_description": "Fyll inn det du vet nå - resten kan vente til visningen.", + "labels": { + "name": "Navn", + "email": "E-post", + "telefon": "Telefon", + "studiested": "Studiested", + "innflytting": "Ønsket innflytting", + "om": "Litt om deg" + }, + "hints": { + "name": "Kari Nordmann", + "email": "kari@student.no", + "telefon": "123 45 678", + "studiested": "NTNU", + "innflytting": "August 2026", + "om": "Jeg studerer medisin og trenger et rolig sted å bo nær campus." + } + } + } + }, + "questions/klingenberg/index.yaml": { + "question": "Hva trenger huset nå?", + "description": "Her samler Klingenberg Bygg det leietakerne melder inn, og styret ser overslagene før de godkjennes.", + "confirm": "Bekreft", + "buckets": { + "feil": { + "heading": "Se hva som er meldt inn av feil", + "description": "Her ser du det leietakerne har meldt, fra ny melding til den er utbedret.", + "moves": { + "befaring->overslag": "Lag overslag", + "befaring->avvist": "Avvis saken", + "godkjent->utbedret": "Meld utbedret", + "open->befaring": "Sett opp befaring", + "open->avvist": "Avvis saken", + "overslag->avvist": "Avvis overslaget" + }, + "list_title": "Meldte feil", + "list_note": "Hver rad er en feil som er meldt inn; knappene under flytter den videre til befaring, overslag eller utbedret." + }, + "overslag": { + "heading": "Følg opp overslagene dine", + "description": "Her ser du overslagene du har levert, og om styret har godkjent dem.", + "moves": { + "godkjent->fakturert": "Merk fakturert" + }, + "list_title": "Leverte overslag", + "list_note": "Hver rad er et overslag du har levert; marker det fakturert når regningen er sendt." + } + }, + "links": { + "overslag": { + "heading": "Se alle overslag i ett regnskap", + "description": "Her finner du overslagene samlet, uansett hvem som har meldt feilen.", + "button": "Åpne overslag" + } + }, + "invites": { + "klingenberg": { + "heading": "Gi noen hos Klingenberg Bygg tilgang", + "description": "Personen får en konto og en lenke som gjelder én gang, så de kan logge inn og se feilene selv.", + "button": "Send invitasjon", + "form_title": "Inviter ny person", + "form_description": "Ha navn, telefon og e-post klart.", + "labels": { + "name": "Navn", + "phone": "Telefon", + "email": "E-post" + } + } + }, + "invited": { + "heading": "Hold oversikt over inviterte", + "description": "Her ser du hvem som er invitert, og om de har tatt lenken i bruk.", + "done": "Tatt i bruk", + "withdraw": "Trekk tilbake", + "again": "Send på nytt", + "list_title": "Sendte invitasjoner", + "list_note": "Hver rad er en invitasjon; send den på nytt hvis lenken har gått ut, eller trekk den tilbake." + }, + "suggestions": null + }, + "questions/klingenberg/overslag-sent.yaml": { + "question": "Hva skjer med overslaget du nettopp sendte inn?", + "description": "Det ligger nå hos styret, med beløp og hva det dekker. De tar stilling til det og fører det videre i regnskapet.", + "next_heading": "Styret vurderer overslaget", + "next_description": "Du hører fra dem hvis de trenger mer, ellers venter du på svar om det blir godkjent, avvist eller fakturert." + }, + "questions/klingenberg/overslag.yaml": { + "heading": "Overslaget går til styret", + "description": "Når du har sett på en feil og satt en pris, sender du overslaget hit, så styret kan ta stilling til det.", + "button": "Send overslag", + "encouragement": "Styret ser det i løpet av kort tid, og det følger saken videre til regnskapet.", + "icon": "receipt", + "paused": "Ta ikke mot nye overslag nå", + "requires_title": "Krev tittel", + "requires_description": "Krev beskrivelse", + "requires_icon": "Krev ikon", + "road_title": "Veien videre", + "road_description": "Styret godkjenner eller avviser overslaget. Blir det godkjent og arbeidet utført, blir det fakturert.", + "road_icon": "route", + "who_title": "Hvem leser det", + "who_description": "Styret i Gullberg leser overslaget og tar stilling til det, du når dem på bl@klingenbergbygg.no i mellomtiden.", + "who_icon": "users", + "form_title": "Overslag på feil", + "form_description": "Ha prisen og hva den dekker klart før du sender.", + "labels": { + "gjelder": "Hva overslaget gjelder", + "belop": "Beløp", + "hva-det-dekker": "Hva beløpet dekker", + "dokument": "Dokument" + }, + "hints": { + "gjelder": "Lekkasje på badet i rom 4", + "belop": "12 500 kr", + "hva-det-dekker": "Ny membran, fliser og arbeidstid, to dagers arbeid", + "dokument": "overslag-rom4.pdf" + }, + "question": "Hva vil det koste å rette feilen?", + "page_description": "Overslaget går til styret, som godkjenner eller avviser det før det føres i regnskapet." + }, + "questions/leietakere/feil-sent.yaml": { + "question": "Hva skjer nå med feilen jeg meldte?", + "description": "Meldingen er sendt til Klingenberg Bygg, som drar på befaring og vurderer hva den koster å rette.", + "next_heading": "Klingenberg Bygg ser på saken", + "next_description": "De befarer feilen og lager et overslag som styret tar stilling til." + }, + "questions/leietakere/feil.yaml": { + "heading": "Meld fra om noe som er galt i huset", + "description": "Fant du noe som ikke virker eller er ødelagt? Si fra, så ser styret på det.", + "button": "Send feilen", + "encouragement": "Tar et par minutter, og styret får beskjed med én gang.", + "icon": "wrench", + "paused": "Ta imot nye feilmeldinger", + "requires_title": "Overskrift", + "requires_description": "Forklaring", + "requires_icon": "Ikon", + "road_title": "Hva skjer videre", + "road_description": "Styret ser på feilen og avtaler en befaring. Deretter henter de inn et overslag, godkjenner det, og feilen rettes opp – eller avvises, med beskjed om hvorfor.", + "road_icon": "route", + "who_title": "Hvem leser dette", + "who_description": "Styret i Gullberg får meldingen og følger den opp; haster det, send en e-post til bl@klingenbergbygg.no.", + "who_icon": "users", + "form_title": "Meld en feil", + "form_description": "Fortell hva som er galt og hvor, gjerne med bilde.", + "labels": { + "hva": "Hva er galt", + "hvor": "Hvor i huset", + "beskrivelse": "Beskriv feilen", + "email": "E-post", + "bilde": "Bilde" + }, + "hints": { + "hva": "Vannlekkasje under kjøkkenvasken", + "hvor": "Kjøkkenet i 2. etasje", + "beskrivelse": "Det drypper fra røret under vasken, har blitt verre siste uken", + "email": "navn@student.no", + "bilde": "Last opp et bilde av feilen" + }, + "question": "Har du funnet noe i huset som bør rettes opp?", + "page_description": "Meldingen går rett til Klingenberg Bygg, som forvalter huset. De ser på det, og styret godkjenner det som koster penger." + }, + "questions/leietakere/index.yaml": { + "question": "Hva kan vi gjøre for deg i huset?", + "description": "Feil leietakerne melder inn, og overslagene Klingenberg Bygg sender over, samlet på ett sted.", + "confirm": "Bekreft", + "buckets": {}, + "links": { + "feil": { + "heading": "Har du funnet noe som er galt i huset?", + "description": "Meld fra, så går det rett til Klingenberg Bygg.", + "button": "Meld fra" + } + }, + "invites": {}, + "invited": null, + "suggestions": null + }, + "questions/received/leie-rom.yaml": { + "question": "Hva skjer med søknaden min nå?", + "description": "Styret går gjennom romsøknader fortløpende og svarer så snart det er en visning å tilby.", + "next_heading": "Du hører fra styret om en visning", + "next_description": "Styret tar kontakt på e-post eller telefon for å avtale tid. Får du tilbud om rommet, får du beskjed rett etter." + }, + "questions/status/liste/index.yaml": { + "question": "Hva er vedtatt og gjort for huset?", + "description": "Her ligger det som styret har vedtatt og satt i verk, med pris og tid der det er kjent.", + "heading": "Det som er vedtatt og gjort", + "list_description": "Åpen liste over det styret har vedtatt for huset.", + "list_title": "Vedtatt og gjort", + "list_note": "Hver rad er én sak, med hva den gjelder, kostnad og tidspunkt der det er satt.", + "empty": "Ingen saker er publisert ennå.", + "answer": "Svar" + }, + "questions/status/rom/index.yaml": { + "question": "Hvilke rom er ledige nå?", + "description": "Her finner du rommene som er ledige for innflytting, med bilde og en kort beskrivelse av hvert rom.", + "heading": "Ledige rom i huset", + "list_description": "Rommene som er ledige akkurat nå.", + "list_title": "Ledige rom", + "list_note": "Hver rad er et rom du kan søke på.", + "empty": "Ingen rom er ledige akkurat nå, men se gjerne innom igjen senere.", + "answer": "Svar" + }, + "questions/styret/eierskifte-sent.yaml": { + "question": "Hva skjer nå med eierskiftesaken du sendte inn?", + "description": "Steget er registrert og legger seg på listen over eierskiftet. Aksjonærene ser det neste gang de ser på fremdriften.", + "next_heading": "Følg eierskiftet videre", + "next_description": "Du finner status og alle steg i oversikten over eierskiftet, og kan legge inn mer når noe nytt skjer." + }, + "questions/styret/eierskifte.yaml": { + "heading": "Se hvor eierskiftet står", + "description": "Meld fra om neste steg i overgangen til selskapet, så ser aksjonærene og banken fremgangen.", + "button": "Legg inn steg", + "encouragement": "Tar et minutt, og listen oppdateres med én gang.", + "icon": "file-text", + "paused": "Satt på vent", + "requires_title": "Krever tittel", + "requires_description": "Krever beskrivelse", + "requires_icon": "Krever ikon", + "road_title": "Fra melding til ferdig", + "road_description": "Steget legges inn, så arbeides det med, og til slutt merkes det som ferdig.", + "road_icon": "route", + "who_title": "Hvem leser det", + "who_description": "Styret følger eierskiftet her; ring styret i mellomtiden hvis noe ikke kan vente.", + "who_icon": "users", + "form_title": "Nytt steg i eierskiftet", + "form_description": "Skriv hva som er gjort, og legg ved dokumentet hvis det finnes et.", + "labels": { + "steg": "Hva er gjort", + "merknad": "Merknad", + "dokument": "Dokument" + }, + "hints": { + "steg": "Skjøtet er sendt til tinglysing", + "merknad": "Megler venter på signatur fra den siste selgeren", + "dokument": "skjote-gullberg.pdf" + }, + "question": "Hvor langt har eierskiftet kommet?", + "page_description": "Her legger styret inn stegene i overgangen til selskapet, så aksjonærene kan følge med. Banken får det den skal ha fra styret." + }, + "questions/styret/husleie-sent.yaml": { + "question": "Hva skjer nå med husleia jeg registrerte?", + "description": "Betalingen er lagt inn og synlig for resten av styret, sammen med de andre rommenes status denne måneden.", + "next_heading": "Følg med i husleielista", + "next_description": "Der ser dere hvilke rom som har betalt og hva som er purret på." + }, + "questions/styret/husleie.yaml": { + "heading": "Husleia for måneden, samlet ett sted", + "description": "Legg inn hva som er betalt per rom, så aksjonærene ser det og banken får sitt.", + "button": "Registrer husleie", + "encouragement": "Det tar et minutt per rom.", + "icon": "banknote", + "paused": "Tas ikke imot nå", + "requires_title": "Krever tittel", + "requires_description": "Krever beskrivelse", + "requires_icon": "Krever ikon", + "road_title": "Hva som skjer videre", + "road_description": "Du registrerer at husleia er betalt. Hvis et rom ikke har betalt, markeres det som purret til det kommer inn.", + "road_icon": "refresh-cw", + "who_title": "Hvem som ser dette", + "who_description": "Styret ser oversikten; har du spørsmål underveis, ta kontakt med styret på bl@klingenbergbygg.no.", + "who_icon": "users", + "form_title": "Registrer husleie", + "form_description": "Ha rom, måned og beløp klart.", + "labels": { + "rom": "Hvilket rom", + "maaned": "Hvilken måned", + "belop": "Beløp", + "betalt-dato": "Betalt dato" + }, + "hints": { + "rom": "Rom 2", + "maaned": "Oktober 2026", + "belop": "4500", + "betalt-dato": "2026-10-05" + }, + "question": "Hvilke rom har betalt husleie denne måneden?", + "page_description": "Her ser styret hvilke rom som har betalt husleia og hva som har gått til banken." + }, + "questions/styret/index.yaml": { + "question": "Hva trenger styret å gjøre nå?", + "description": "Her samler styret alt som skjer i huset: søknader, feil, økonomi og eierskiftet, med knappene som flytter hver sak videre.", + "confirm": "Bekreft", + "buckets": { + "eierskifte": { + "heading": "Se hvor langt eierskiftet har kommet", + "description": "Følg stegene når huset går over til selskapet, med dokumentene på plass for aksjonærer og bank.", + "moves": { + "arbeid->ferdig": "Merk steget ferdig", + "open->arbeid": "Start arbeidet" + }, + "list_title": "Steg i eierskiftet", + "list_note": "Hver rad er ett steg i overgangen, med merknad og dokument; knappen under flytter steget videre." + }, + "feil": { + "heading": "Følg opp feil som er meldt inn", + "description": "Se hva leietakerne har funnet galt i huset, og send det videre til Klingenberg Bygg for befaring og overslag.", + "moves": { + "befaring->avvist": "Avvis feilen", + "open->avvist": "Avvis feilen", + "overslag->godkjent": "Godkjenn overslaget", + "overslag->avvist": "Avvis overslaget" + }, + "list_title": "Meldte feil", + "list_note": "Hver rad er en feil meldt av en leietaker, med bilde og beskrivelse; knappene under sender den videre eller avviser den." + }, + "husleie": { + "heading": "Hold oversikt over husleia hver måned", + "description": "Se hvilke rom som har betalt, og purr dem som ikke har gjort det.", + "moves": { + "open->betalt": "Merk som betalt", + "open->purret": "Send purring", + "purret->betalt": "Merk som betalt" + }, + "list_title": "Husleie per rom", + "list_note": "Hver rad er husleia for ett rom én måned, med beløp og betalingsdato; knappene under merker betalt eller sender purring." + }, + "liste": { + "heading": "Styr lista over det som er bra, mangler og er planlagt", + "description": "Vedta punktene, sett pris og tid, og publiser dem som leietakerne skal se.", + "moves": { + "open->vedtatt": "Vedta punktet", + "open->forkastet": "Forkast punktet", + "vedtatt->publisert": "Publiser punktet", + "vedtatt->forkastet": "Forkast punktet" + }, + "list_title": "Punkter på lista", + "list_note": "Hver rad er ett punkt med slag, beskrivelse, kostnad og tid; knappene under vedtar, publiserer eller forkaster det." + }, + "nedbetalingsplaner": { + "heading": "Følg nedbetalingsplanen fra aksjonærene til banken", + "description": "Følg planen fra forslag til bankens svar, med pengestrømmen alle fire aksjonærene står bak.", + "moves": { + "godkjent->sendt": "Send til banken", + "sendt->endringer": "Be om endringer", + "sendt->innvilget": "Merk som innvilget" + }, + "list_title": "Nedbetalingsplaner", + "list_note": "Hver rad er en plan med lånebeløp, avdrag og pengestrøm; knappene under sender den til banken eller merker svaret." + }, + "overslag": { + "heading": "Ta stilling til overslag fra Klingenberg Bygg", + "description": "Se beløpet for hver feil som er sett på, og godkjenn det som skal inn i regnskapet.", + "moves": { + "open->godkjent": "Godkjenn overslaget", + "open->avvist": "Avvis overslaget" + }, + "list_title": "Overslag", + "list_note": "Hver rad er et overslag med beløp og hva det dekker; knappene under godkjenner eller avviser det." + }, + "rapporter": { + "heading": "Send kvartalsrapporten til aksjonærene og banken", + "description": "Samle tallene for kvartalet, og send rapporten videre når den er klar.", + "moves": { + "open->sendt": "Send rapporten" + }, + "list_title": "Kvartalsrapporter", + "list_note": "Hver rad er rapporten for ett kvartal, med leieinntekter, kostnader og saldo; knappen under sender den." + }, + "rom": { + "heading": "Vis ledige rom frem til studentene", + "description": "Legg ut rommet som er blitt ledig, og merk det utleid når noen har flyttet inn.", + "moves": { + "open->utleid": "Merk som utleid" + }, + "list_title": "Rom", + "list_note": "Hver rad er et rom med bilde og beskrivelse; knappen under merker det utleid." + }, + "romsoknader": { + "heading": "Følg opp søknader om rom fra studenter", + "description": "Se hvem som har søkt, sett opp visning, og før søknaden frem til signert leieavtale.", + "moves": { + "akseptert->signert": "Merk som signert", + "open->visning": "Sett opp visning", + "open->avslatt": "Avslå søknaden", + "tilbud->avslatt": "Avslå søknaden", + "visning->tilbud": "Gi tilbud om rom", + "visning->avslatt": "Avslå søknaden" + }, + "list_title": "Søknader om rom", + "list_note": "Hver rad er en søknad fra en student, med studiested og ønsket innflytting; knappene under fører den videre eller avslår den." + }, + "saker": { + "heading": "Saker aksjonærene har meldt", + "description": "Ta saker aksjonærene melder inn, sett dem på sakslisten, og vedta eller avvis dem.", + "moves": { + "open->sakslisten": "Sett på sakslisten", + "open->avvist": "Avvis saken", + "sakslisten->vedtatt": "Vedta saken", + "sakslisten->avvist": "Avvis saken" + }, + "list_title": "Saker", + "list_note": "Hver rad er en sak meldt inn av en aksjonær, med tittel og beskrivelse; knappene under setter den på sakslisten, vedtar eller avviser den." + }, + "uker": { + "heading": "Bekreft ukene aksjonærene vil bruke huset", + "description": "Se hvem som har meldt seg på en uke, og bekreft eller avslå den.", + "moves": { + "open->bekreftet": "Bekreft uken", + "open->avslatt": "Avslå uken" + }, + "list_title": "Ønskede uker", + "list_note": "Hver rad er en uke en aksjonær har meldt seg på, med datoer og merknad; knappene under bekrefter eller avslår den." + } + }, + "links": { + "ledig-rom": { + "heading": "Legg ut et rom som er blitt ledig", + "description": "Skriv tittel, legg ved bilde og beskriv rommet, så studentene kan søke.", + "button": "Legg ut rom" + }, + "liste": { + "heading": "Legg til et nytt punkt på lista", + "description": "Skriv hva som er bra, mangler eller planlagt, med pris og tid om du har det.", + "button": "Legg til punkt" + }, + "rapport": { + "heading": "Lag kvartalets rapport", + "description": "Fyll inn tallene for kvartalet, så aksjonærene og banken får det de skal ha.", + "button": "Lag rapport" + }, + "nedbetalingsplan": { + "heading": "Lag en ny nedbetalingsplan", + "description": "Skriv lånebeløp, avdrag og pengestrøm, så banken har noe å ta stilling til.", + "button": "Lag plan" + }, + "husleie": { + "heading": "Registrer husleie for et rom", + "description": "Før inn beløp og måned når husleia for et rom er kommet inn.", + "button": "Registrer husleie" + }, + "eierskifte": { + "heading": "Legg til et steg i eierskiftet", + "description": "Beskriv steget og legg ved dokument, så aksjonærene ser fremgangen.", + "button": "Legg til steg" + } + }, + "invites": { + "aksjonaerer": { + "heading": "Gi en aksjonær tilgang til sin side", + "description": "Send en invitasjon så aksjonæren får konto og engangslenke.", + "button": "Send invitasjon", + "form_title": "Inviter aksjonær", + "form_description": "Ha navn, e-post og telefon klart.", + "labels": { + "name": "Navn", + "phone": "Telefon", + "email": "E-post" + } + }, + "klingenberg": { + "heading": "Gi Klingenberg Bygg tilgang til feilmeldinger", + "description": "Send en invitasjon så de får konto og engangslenke.", + "button": "Send invitasjon", + "form_title": "Inviter Klingenberg Bygg", + "form_description": "Ha navn, e-post og telefon klart.", + "labels": { + "name": "Navn", + "phone": "Telefon", + "email": "E-post" + } + }, + "leietakere": { + "heading": "Gi en leietaker tilgang til sin side", + "description": "Send en invitasjon så leietakeren får konto og engangslenke.", + "button": "Send invitasjon", + "form_title": "Inviter leietaker", + "form_description": "Ha navn, e-post og telefon klart.", + "labels": { + "name": "Navn", + "phone": "Telefon", + "email": "E-post" + } + }, + "styret": { + "heading": "Gi et styremedlem tilgang til desken", + "description": "Send en invitasjon så styremedlemmet får konto og engangslenke.", + "button": "Send invitasjon", + "form_title": "Inviter styremedlem", + "form_description": "Ha navn, e-post og telefon klart.", + "labels": { + "name": "Navn", + "phone": "Telefon", + "email": "E-post" + } + } + }, + "invited": { + "heading": "Se hvem som er invitert og hvor langt de har kommet", + "description": "Følg med på invitasjoner som er sendt, og send en ny lenke om den gamle har løpt ut.", + "done": "Tatt i bruk", + "withdraw": "Trekk tilbake", + "again": "Send på nytt", + "list_title": "Sendte invitasjoner", + "list_note": "Hver rad er en invitasjon sendt til en person; knappene under trekker den tilbake eller sender den på nytt." + }, + "suggestions": { + "heading": "Ta stilling til foreslåtte endringer", + "description": "Se hva andre har foreslått å endre på sidene de har ansvar for.", + "list_title": "Foreslåtte endringer", + "list_note": "Hver rad er en foreslått endring; knappene under tar den til vurdering, godtar eller avslår den.", + "looking": "Tar en titt", + "changed": "Endret", + "declined": "Avslått" + } + }, + "questions/styret/ledig-rom-sent.yaml": { + "question": "Hva skjer med rommet du nettopp la ut?", + "description": "Rommet er lagt inn og synlig for studenter som søker. Dere ser det under ledige rom til det er leid ut.", + "next_heading": "Studenter kan søke på rommet nå", + "next_description": "Søknader kommer inn etter hvert, og dere i styret ser dem sammen med de andre søknadene.", + "see_all": { + "heading": "Se alle rommene og status", + "description": "Full oversikt over hvilke rom som er ledige og hvilke som er leid ut.", + "button": "Se rommene" + } + }, + "questions/styret/ledig-rom.yaml": { + "heading": "Meld inn et rom som er ledig", + "description": "Når et rom står tomt, legger du det ut her, så ser studenter det før de søker.", + "button": "Legg ut rommet", + "encouragement": "Så snart det er lagt ut, kan studenter melde seg på.", + "icon": "key", + "paused": "Ta rommet ned fra listen for nå", + "requires_title": "Krever tittel", + "requires_description": "Krever beskrivelse", + "requires_icon": "Krever bilde", + "road_title": "Fra ledig til utleid", + "road_description": "Rommet ligger ute til det er utleid.", + "road_icon": "key", + "who_title": "Hvem ser dette", + "who_description": "Studenter som søker rom ser dette, og styret kan nås på bl@klingenbergbygg.no i mellomtiden.", + "who_icon": "users", + "form_title": "Om rommet", + "form_description": "Et bilde og en kort beskrivelse er nok til at studenter kan se seg om.", + "labels": { + "tittel": "Tittel på rommet", + "bilde": "Bilde av rommet", + "om": "Om rommet" + }, + "hints": { + "tittel": "Rom i 2. etasje, mot gata", + "bilde": "", + "om": "Lyst rom med eget bad, nær kjøkken og felles stue." + }, + "question": "Hvilket rom er ledig nå?", + "page_description": "Legg ut et rom som har blitt ledig, så studenter kan se det og søke." + }, + "questions/styret/liste-sent.yaml": { + "question": "Hva skjer med punktet nå?", + "description": "Forslaget ditt er lagret. Styret tar det opp til behandling.", + "next_heading": "Styret vedtar eller forkaster punktet", + "next_description": "Det blir stående til styret har tatt stilling, med pris og tid synlig for alle.", + "see_all": { + "heading": "Se hele lista", + "description": "Alt som er meldt inn, vedtatt eller publisert ligger samlet.", + "button": "Til lista" + } + }, + "questions/styret/liste.yaml": { + "heading": "Listen over huset og planene", + "description": "Legg til det som er bra, det som mangler og det som er planlagt, med pris og tid der dere vet det.", + "button": "Legg til punkt", + "encouragement": "Det havner på listen med en gang, og dere kan vedta det senere.", + "icon": "list", + "paused": "Listen er stengt for nye punkter", + "requires_title": "Krev tittel", + "requires_description": "Krev beskrivelse", + "requires_icon": "Krev ikon", + "road_title": "Fra forslag til vedtak", + "road_description": "Punktet legges inn, styret tar stilling til det og vedtar eller forkaster, og det som vedtas blir publisert på listen alle ser.", + "road_icon": "check-circle", + "who_title": "Hvem ser listen", + "who_description": "Styret fører og vedtar listen; ta kontakt på bl@klingenbergbygg.no om noe haster.", + "who_icon": "users", + "form_title": "Nytt punkt på listen", + "form_description": "Skriv kort hva det gjelder, og ta med pris og tid hvis dere har tall.", + "labels": { + "tittel": "Tittel", + "slag": "Hva slags punkt", + "beskrivelse": "Beskrivelse", + "kostnad": "Kostnad", + "naar": "Når" + }, + "hints": { + "tittel": "Nytt kjøkken i andre etasje", + "slag": "Mangler", + "beskrivelse": "Kjøkkenet er slitt og trenger nye hvitevarer og benkeplate.", + "kostnad": "ca. 45 000 kr", + "naar": "Våren 2027" + }, + "question": "Hva bør med på listen over huset og driften?", + "page_description": "Punktene går inn på listen styret fører over det som er bra, det som mangler og det som er planlagt." + }, + "questions/styret/nedbetalingsplan-sent.yaml": { + "question": "Hvor er nedbetalingsplanen nå?", + "description": "Den ligger nå hos aksjonærene. Når alle fire har godkjent den, sender styret den til banken og fører inn svaret.", + "next_heading": "Følg svaret fra banken", + "next_description": "Når banken svarer, oppdaterer dere planen med godkjent, innvilget eller endringer – så de andre aksjonærene ser hvor den står." + }, + "questions/styret/nedbetalingsplan.yaml": { + "heading": "Nedbetalingsplanen alle fire står bak", + "description": "Legg fram planen for lånet, så banken og aksjonærene vet hvordan det skal betales ned.", + "button": "Send plan", + "encouragement": "Styret tar den videre til banken så snart alle fire har sagt ja.", + "icon": "banknote", + "paused": "Satt på pause", + "requires_title": "Krever tittel", + "requires_description": "Krever beskrivelse", + "requires_icon": "Krever ikon", + "road_title": "Veien videre", + "road_description": "Planen går til godkjenning hos aksjonærene, så sendes den til banken. Sier banken ja, er den innvilget; ber den om endringer, kommer det en ny runde.", + "road_icon": "route", + "who_title": "Hvem ser den", + "who_description": "Styret og aksjonærene ser planen; spørsmål før den er sendt går til styret på bl@klingenbergbygg.no.", + "who_icon": "users", + "form_title": "Nedbetalingsplan", + "form_description": "Ha lånebeløp, avdrag og når det første trekket kommer, klart.", + "labels": { + "tittel": "Tittel", + "laanebelop": "Lånebeløp", + "maanedlig-avdrag": "Månedlig avdrag", + "forste-trekk": "Første trekk", + "pengestrom": "Hvordan pengene flyter", + "dokument": "Dokument" + }, + "hints": { + "tittel": "Nedbetalingsplan 2026", + "laanebelop": "2 400 000 kr", + "maanedlig-avdrag": "18 000 kr", + "forste-trekk": "1. desember 2026", + "pengestrom": "Husleie dekker avdraget, timeshare går til vedlikehold, overskudd settes av til buffer", + "dokument": "Last opp plan eller avtaleutkast" + }, + "question": "Hvordan skal lånet betales ned, og står alle fire bak det?", + "page_description": "Planen går til aksjonærene og banken, og viser hvordan lånet skal betales ned." + }, + "questions/styret/rapport-sent.yaml": { + "question": "Hvor går rapporten nå?", + "description": "Den er sendt. Aksjonærene får tallene, og det som skal til banken går dit.", + "next_heading": "Neste rapport venter til kvartalet er omme", + "next_description": "Neste rapport legger styret inn når kvartalet er omme." + }, + "questions/styret/rapport.yaml": { + "heading": "Rapporten som viser hvordan det går", + "description": "Hvert kvartal legger styret inn tallene, så aksjonærene ser status og banken får det den skal ha.", + "button": "Send rapport", + "encouragement": "Så snart den er sendt, ligger den klar for aksjonærene og banken.", + "icon": "file-text", + "paused": "Sett rapportering på pause", + "requires_title": "Krev tittel", + "requires_description": "Krev beskrivelse", + "requires_icon": "Krev ikon", + "road_title": "Hva skjer videre", + "road_description": "Rapporten sendes til aksjonærene og banken. Når den er ute, merkes den som sendt.", + "road_icon": "send", + "who_title": "Hvem leser den", + "who_description": "Styret står for rapportene; har du spørsmål underveis, ta kontakt på bl@klingenbergbygg.no.", + "who_icon": "users", + "form_title": "Kvartalets tall", + "form_description": "Ha regnskapstallene for kvartalet klare før du fyller ut.", + "labels": { + "periode": "Hvilket kvartal gjelder dette", + "leieinntekter": "Leieinntekter", + "timeshare": "Inntekter fra ukene", + "driftskostnader": "Driftskostnader", + "renter-og-avdrag": "Renter og avdrag til banken", + "saldo": "Saldo ved kvartalets slutt", + "kommentar": "Kommentar til tallene", + "dokument": "Regnskapsdokument" + }, + "hints": { + "periode": "3. kvartal 2026", + "leieinntekter": "54 000", + "timeshare": "12 000", + "driftskostnader": "18 500", + "renter-og-avdrag": "22 000", + "saldo": "145 000", + "kommentar": "Ett rom stod tomt i juli, ellers som normalt", + "dokument": "kvartalsregnskap-q3-2026.pdf" + }, + "question": "Hvordan gikk kvartalet, i tall?", + "page_description": "Rapporten går til aksjonærene og banken, så de ser inntekter, kostnader og saldo for kvartalet." + }, + "site.yaml": { + "invite": { + "subject": "Du er invitert til Gullberg", + "body": "Hei {name},\n\nDu er invitert inn på Gullberg sin side, som {group}.\n\nVelg passord her før {expires}:\n{link}\n\nBrukernavnet ditt er {username}. Etterpå logger du inn på {site}.\n\nHilsen styret i Gullberg" + } + } +} -- 2.54.0 From b9f69a5e7a9a6ca8fb2bfed89a506fab43422372 Mon Sep 17 00:00:00 2001 From: Bendik Aagaard Lynghaug Date: Thu, 1 Oct 2026 09:28:47 +0200 Subject: [PATCH 09/12] Gullberg wordmark as Futura outlines, cropped to the letters Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt --- plans/assets/gullberg-wordmark.svg | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/plans/assets/gullberg-wordmark.svg b/plans/assets/gullberg-wordmark.svg index 9cfe919..a19986b 100644 --- a/plans/assets/gullberg-wordmark.svg +++ b/plans/assets/gullberg-wordmark.svg @@ -1,13 +1,24 @@ - + + GULLBERG sanatorium + - GULLBERG - sanatorium + + -- 2.54.0 From 8a1fbd92ba339d49e291eb5934b0f8272b9ee7da Mon Sep 17 00:00:00 2001 From: Bendik Aagaard Lynghaug Date: Thu, 1 Oct 2026 10:16:04 +0200 Subject: [PATCH 10/12] Gullberg wordmark: sanatorium spread to GULLBERG's width Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt --- plans/assets/gullberg-wordmark.svg | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/plans/assets/gullberg-wordmark.svg b/plans/assets/gullberg-wordmark.svg index a19986b..51b68e9 100644 --- a/plans/assets/gullberg-wordmark.svg +++ b/plans/assets/gullberg-wordmark.svg @@ -1,6 +1,7 @@ - + GULLBERG sanatorium @@ -12,13 +13,13 @@ } -- 2.54.0 From b970c64c6ae665dbcf895ee9e960f724423be68e Mon Sep 17 00:00:00 2001 From: Bendik Aagaard Lynghaug Date: Thu, 1 Oct 2026 10:19:43 +0200 Subject: [PATCH 11/12] Gullberg wordmark: sanatorium set in a little from the edges Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt --- plans/assets/gullberg-wordmark.svg | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/plans/assets/gullberg-wordmark.svg b/plans/assets/gullberg-wordmark.svg index 51b68e9..90755de 100644 --- a/plans/assets/gullberg-wordmark.svg +++ b/plans/assets/gullberg-wordmark.svg @@ -1,10 +1,11 @@ - + GULLBERG sanatorium + "sanatorium" is spaced out to run the width of GULLBERG, set in + a little from each edge. As an image it colours itself for light + and dark; with wordmark_ink in site.yaml, portal colours it with + the page's own ink instead, and "sanatorium" stays lighter by its + opacity. -->