Test / test (pull_request) Successful in 1m5s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
328 lines
15 KiB
YAML
328 lines
15 KiB
YAML
# GULLBERG sanatorium - et Klingenberg Bygg-prosjekt på
|
|
# gullberg.klingenbergbygg.no. UTKAST 2026-09-30, til samtale; ikke
|
|
# 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 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).
|
|
#
|
|
# Huset ligger bak Ås kirke, i Syverudveien (17?), et kort stykke fra
|
|
# NMBU. Rommene er for alle, men studenter går foran.
|
|
#
|
|
# Siden er huset i drift: rom til leie, 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.
|
|
#
|
|
# 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:
|
|
# - 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: skiftet, dokumentavgift, skatt på husleie
|
|
# - 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 <gullberg@klingenbergbygg.no>", reply_to: bl@klingenbergbygg.no }
|
|
about: >
|
|
Et gammelt hus bak Ås kirke, i Syverudveien, med rimelige rom til leie;
|
|
studenter ved NMBU går foran, men alle kan søke,
|
|
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 }
|
|
- { id: aksjonaerer, label: Aksjonærer }
|
|
- { id: leietakere, label: Leietakere }
|
|
- { id: klingenberg, label: Klingenberg Bygg }
|
|
invites_by: [styret]
|
|
|
|
does:
|
|
- id: rom
|
|
for: leie-rom
|
|
text: >
|
|
Rimelige rom bak Ås kirke, et kort stykke fra NMBU. Studenter går
|
|
foran, men alle kan søke. Du søker her, kommer på visning og sier
|
|
selv ja til tilbudet.
|
|
|
|
# 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 banken.
|
|
file: documents/gullberg-forretningsplan.md
|
|
|
|
needs:
|
|
# Offentlig: noen søker rom. Studenter går foran; styret ser hva den
|
|
# som søker gjør til daglig, og velger etter det.
|
|
- id: leie-rom
|
|
who: en som trenger et rimelig rom på Ås, oftest en student ved NMBU
|
|
wants: et rom å bo på til en leie som går opp, med studenter først i køen
|
|
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: situasjon, type: select, options: [Student ved NMBU, Student et annet sted, Jobber eller annet] }
|
|
- { 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 de som søker 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. 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 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]
|
|
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 }
|
|
- { name: leieinntekter }
|
|
- { name: timeshare }
|
|
- { name: driftskostnader }
|
|
- { name: renter-og-avdrag }
|
|
- { name: saldo }
|
|
- { name: kommentar, type: textarea }
|
|
- { 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 fire aksjonærene står bak, som banken sier ja til
|
|
enters_as: styret
|
|
lands_in: nedbetalingsplaner
|
|
handled_by: styret
|
|
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-avdrag }
|
|
- { 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 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]
|
|
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 }
|
|
|
|
# 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
|
|
# 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" }
|
|
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 }
|
|
|
|
# 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]
|
|
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
|
|
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-nmbu, need: leie-rom, text: "Jeg begynner på master på NMBU til høsten og har ikke råd til hybel i Ås sentrum. Et rimelig rom i et stort hus høres perfekt ut." }
|
|
- { id: ung-arbeider, need: leie-rom, text: "Jeg har fått jobb i Ås og trenger et rimelig sted å bo. Jeg er ikke student; kan jeg søke likevel?" }
|
|
- { 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 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-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?" }
|