Files
portal/plans/gullberg.yaml
T

255 lines
11 KiB
YAML

# 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)
#
# 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.
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 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 }
# 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
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: 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?" }