From bbec51f4768ffd45b2b15217204bc4fec5ff3667 Mon Sep 17 00:00:00 2001 From: Bendik Aagaard Lynghaug Date: Thu, 1 Oct 2026 07:36:15 +0200 Subject: [PATCH] =?UTF-8?q?GULLBERG=20sanatorium:=20f=C3=B8rste=20utkast,?= =?UTF-8?q?=20bygget=20av=20treneren?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt --- .gitea/workflows/deploy.yml | 28 ++ .gitea/workflows/lint-and-reload.yml | 22 + README.md | 9 + aggregates.yaml | 239 +++++++++++ custom.css | 215 ++++++++++ fonts/futura-medium.ttf | Bin 0 -> 283028 bytes images/favicon.svg | 8 + images/wordmark.svg | 13 + needs.yaml | 311 +++++++++++++++ questions/aksjonaerer/_section.yaml | 1 + questions/aksjonaerer/index.yaml | 161 ++++++++ questions/aksjonaerer/sak-sent.yaml | 5 + questions/aksjonaerer/sak.yaml | 35 ++ questions/aksjonaerer/uke-sent.yaml | 5 + questions/aksjonaerer/uke.yaml | 40 ++ questions/decide/leie-rom.yaml | 21 + questions/forretningsplan.yaml | 21 + questions/hvem.yaml | 20 + questions/index.yaml | 81 ++++ questions/klingenberg/_section.yaml | 1 + questions/klingenberg/index.yaml | 104 +++++ questions/klingenberg/overslag-sent.yaml | 5 + questions/klingenberg/overslag.yaml | 44 ++ questions/leietakere/_section.yaml | 1 + questions/leietakere/feil-sent.yaml | 5 + questions/leietakere/feil.yaml | 51 +++ questions/leietakere/index.yaml | 29 ++ questions/received/leie-rom.yaml | 5 + questions/status/liste/index.yaml | 24 ++ questions/status/rom/index.yaml | 24 ++ questions/styret/_section.yaml | 1 + questions/styret/eierskifte-sent.yaml | 5 + questions/styret/eierskifte.yaml | 49 +++ questions/styret/husleie-sent.yaml | 5 + questions/styret/husleie.yaml | 44 ++ questions/styret/index.yaml | 419 ++++++++++++++++++++ questions/styret/ledig-rom-sent.yaml | 10 + questions/styret/ledig-rom.yaml | 39 ++ questions/styret/liste-sent.yaml | 10 + questions/styret/liste.yaml | 52 +++ questions/styret/nedbetalingsplan-sent.yaml | 5 + questions/styret/nedbetalingsplan.yaml | 52 +++ questions/styret/rapport-sent.yaml | 5 + questions/styret/rapport.yaml | 60 +++ site.yaml | 22 + 45 files changed, 2306 insertions(+) create mode 100644 .gitea/workflows/deploy.yml create mode 100644 .gitea/workflows/lint-and-reload.yml create mode 100644 README.md create mode 100644 aggregates.yaml create mode 100644 custom.css create mode 100644 fonts/futura-medium.ttf create mode 100644 images/favicon.svg create mode 100644 images/wordmark.svg create mode 100644 needs.yaml create mode 100644 questions/aksjonaerer/_section.yaml create mode 100644 questions/aksjonaerer/index.yaml create mode 100644 questions/aksjonaerer/sak-sent.yaml create mode 100644 questions/aksjonaerer/sak.yaml create mode 100644 questions/aksjonaerer/uke-sent.yaml create mode 100644 questions/aksjonaerer/uke.yaml create mode 100644 questions/decide/leie-rom.yaml create mode 100644 questions/forretningsplan.yaml create mode 100644 questions/hvem.yaml create mode 100644 questions/index.yaml create mode 100644 questions/klingenberg/_section.yaml create mode 100644 questions/klingenberg/index.yaml create mode 100644 questions/klingenberg/overslag-sent.yaml create mode 100644 questions/klingenberg/overslag.yaml create mode 100644 questions/leietakere/_section.yaml create mode 100644 questions/leietakere/feil-sent.yaml create mode 100644 questions/leietakere/feil.yaml create mode 100644 questions/leietakere/index.yaml create mode 100644 questions/received/leie-rom.yaml create mode 100644 questions/status/liste/index.yaml create mode 100644 questions/status/rom/index.yaml create mode 100644 questions/styret/_section.yaml create mode 100644 questions/styret/eierskifte-sent.yaml create mode 100644 questions/styret/eierskifte.yaml create mode 100644 questions/styret/husleie-sent.yaml create mode 100644 questions/styret/husleie.yaml create mode 100644 questions/styret/index.yaml create mode 100644 questions/styret/ledig-rom-sent.yaml create mode 100644 questions/styret/ledig-rom.yaml create mode 100644 questions/styret/liste-sent.yaml create mode 100644 questions/styret/liste.yaml create mode 100644 questions/styret/nedbetalingsplan-sent.yaml create mode 100644 questions/styret/nedbetalingsplan.yaml create mode 100644 questions/styret/rapport-sent.yaml create mode 100644 questions/styret/rapport.yaml create mode 100644 site.yaml diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..3bcf3ee --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,28 @@ +name: Deploy instance + +# This content repo owns its portal instance: which portal version runs +# on kasse for gullberg.klingenbergbygg.no. PORTAL_RELEASE pins it, so +# every rollout is a commit, revertable by reverting it. Content-only +# changes go through lint-and-reload instead. +# +# The one root action the runner may take is +# /usr/local/bin/deploy-portal-instance, which checks the instance +# against a fixed list and the tag against a release-tag shape. + +on: + workflow_dispatch: + push: + branches: [main] + paths: + - .gitea/workflows/deploy.yml + +env: + PORTAL_RELEASE: v0.6.10 + INSTANCE: gullberg-portal + +jobs: + deploy: + runs-on: fish + steps: + - name: Ship the pinned release and restart + run: sudo /usr/local/bin/deploy-portal-instance "$INSTANCE" "$PORTAL_RELEASE" diff --git a/.gitea/workflows/lint-and-reload.yml b/.gitea/workflows/lint-and-reload.yml new file mode 100644 index 0000000..db0deed --- /dev/null +++ b/.gitea/workflows/lint-and-reload.yml @@ -0,0 +1,22 @@ +name: lint-and-reload +on: + push: + branches: [main] +jobs: + lint: + runs-on: fish + steps: + - name: checkout + run: | + rm -rf checkout && git clone --depth 1 https://prosjekt.klingenbergbygg.no/klingenbergbygg/gullberg.git checkout + # The lint is portal itself, at the version this site runs + # (PORTAL_RELEASE in deploy.yml). + - name: lint + env: + PORTAL_RELEASE: v0.6.10 + run: | + curl -sfL "https://project.uhhm.no/uhhm/portal/releases/download/$PORTAL_RELEASE/portal-x86_64-linux" -o portal && chmod +x portal + ./portal lint --path checkout/questions + # Gullberg's own NATS, never the one the other sites share. + - name: reload + run: nats --server nats://127.0.0.1:4233 pub portal.content.reload "" diff --git a/README.md b/README.md new file mode 100644 index 0000000..85384fd --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# GULLBERG sanatorium + +Innholdet til gullberg.klingenbergbygg.no, et Klingenberg Bygg-prosjekt. +Bygget av treneren i portal fra `plans/gullberg.yaml` og +`plans/words/gullberg.json` i uhhm/portal; endres der og bygges på nytt. + +- `questions/`, `aggregates.yaml`, `needs.yaml`, `site.yaml`: sidene, sakene og innstillingene. +- `custom.css`, `images/`, `fonts/`: utseendet. +- `.gitea/workflows/`: lint og innlasting ved hver push, og utrulling av den portal-versjonen `deploy.yml` peker på. diff --git a/aggregates.yaml b/aggregates.yaml new file mode 100644 index 0000000..c517ca3 --- /dev/null +++ b/aggregates.yaml @@ -0,0 +1,239 @@ +aggregates: +- bucket: eierskifte + initial: open + states: + open: + event: received + arbeid: + event: arbeid + ferdig: + event: ferdig + transitions: + arbeid: + - ferdig + open: + - arbeid +- bucket: feil + initial: open + states: + open: + event: received + mail: + to: fredrik@klingenbergbygg.no + 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} + befaring: + event: befaring + overslag: + event: overslag + mail: + to: bl@klingenbergbygg.no + 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} + godkjent: + event: godkjent + utbedret: + event: utbedret + mail: + to: submitter + 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} + avvist: + event: avvist + transitions: + befaring: + - overslag + - avvist + godkjent: + - utbedret + open: + - befaring + - avvist + overslag: + - godkjent + - avvist +- bucket: husleie + initial: open + states: + open: + event: received + betalt: + event: betalt + purret: + event: purret + transitions: + open: + - betalt + - purret + purret: + - betalt +- bucket: liste + initial: open + states: + open: + event: received + vedtatt: + event: vedtatt + publisert: + event: publisert + forkastet: + event: forkastet + transitions: + open: + - vedtatt + - forkastet + vedtatt: + - publisert + - forkastet +- bucket: nedbetalingsplaner + initial: open + states: + open: + event: received + godkjent: + event: godkjent + sendt: + event: sendt + innvilget: + event: innvilget + endringer: + event: endringer + transitions: + godkjent: + - sendt + open: + - godkjent + sendt: + - endringer + - innvilget +- bucket: overslag + initial: open + states: + open: + event: received + mail: + to: bl@klingenbergbygg.no + 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} + godkjent: + event: godkjent + avvist: + event: avvist + fakturert: + event: fakturert + transitions: + godkjent: + - fakturert + open: + - godkjent + - avvist +- bucket: rapporter + initial: open + states: + open: + event: received + sendt: + event: sendt + transitions: + open: + - sendt +- bucket: rom + initial: open + states: + open: + event: received + utleid: + event: utleid + leaves_after: + minutes: 10 + transitions: + open: + - utleid +- bucket: romsoknader + initial: open + states: + open: + event: received + mail: + to: submitter + 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} + + Det du kan gjøre nå: {site}/decide/leie-rom?chain={chain}&email={email} + visning: + event: visning + mail: + to: submitter + 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} + + Det du kan gjøre nå: {site}/decide/leie-rom?chain={chain}&email={email} + tilbud: + event: tilbud + mail: + to: submitter + 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} + + Det du kan gjøre nå: {site}/decide/leie-rom?chain={chain}&email={email} + akseptert: + event: akseptert + mail: + to: bl@klingenbergbygg.no + 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} + signert: + event: signert + mail: + to: submitter + subject: Kontrakten er signert + body: Kontrakten for rommet du søkte om er nå signert av begge parter. Rommet er ditt - velkommen inn. {link} + grants: leietakere + avslatt: + event: avslatt + transitions: + akseptert: + - signert + open: + - visning + - avslatt + tilbud: + - akseptert + - avslatt + visning: + - tilbud + - avslatt +- bucket: saker + initial: open + states: + open: + event: received + sakslisten: + event: sakslisten + vedtatt: + event: vedtatt + avvist: + event: avvist + transitions: + open: + - sakslisten + - avvist + sakslisten: + - vedtatt + - avvist +- bucket: uker + initial: open + states: + open: + event: received + bekreftet: + event: bekreftet + avslatt: + event: avslatt + transitions: + open: + - bekreftet + - avslatt diff --git a/custom.css b/custom.css new file mode 100644 index 0000000..1e3a64f --- /dev/null +++ b/custom.css @@ -0,0 +1,215 @@ +/* GULLBERG sanatorium - the skin over portal's own stylesheet + (site.yaml `stylesheet`, loaded after main.css, so these rules win). + + One idea: a sanatorium from the thirties. Lime-washed plaster, pine + green for what is ruled and pressed, brass for what leads somewhere, + Futura capitals spaced like the wordmark for what is asked, and a + calm serif for what is said. Both colour schemes are drawn; the page + follows the reader's. */ + +@import url('https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,400;0,500;1,400&display=swap'); + +@font-face { + font-family: "FuturaNow"; + font-weight: 500; + font-display: swap; + src: url("/site/fonts/futura-medium.ttf") format("truetype"); +} + +/* ---- colour: light, then dark ---------------------------------- */ + +:root { + --pine: #2f4a3a; + --accent: #8a6420; + --accent-soft: rgba(138, 100, 32, 0.12); + --paper: #f3f1ea; + --ink: #1d2420; + --ink-dim: #5c625c; + --line: #d9d5c8; + --card-bg: #fbfaf6; + --card-bg-opaque: #fbfaf6; + --card-shadow: rgba(30, 45, 35, 0.08); + --field: #ffffff; + --hero-glow: rgba(243, 241, 234, 0.85); + --error: #9b2c1f; + --heading: "FuturaNow", "Futura", "Century Gothic", sans-serif; + --sans: "Spectral", Georgia, "Times New Roman", serif; + --radius: 0.25rem; + --measure: 46rem; + color-scheme: light; +} + +@media (prefers-color-scheme: dark) { + :root { + /* Pine is too dark to read as text on a dark ground; brass is the + accent there, and pine stays for what is filled. */ + --pine: #3d6150; + --accent: #d6b46a; + --accent-soft: rgba(214, 180, 106, 0.16); + --paper: #121614; + --ink: #ece8de; + --ink-dim: #a9aba3; + --line: #2c3430; + --card-bg: #1a201d; + --card-bg-opaque: #1a201d; + --card-shadow: rgba(0, 0, 0, 0.45); + --field: #121614; + --hero-glow: rgba(18, 22, 20, 0.85); + --error: #f08c7c; + color-scheme: dark; + } +} + +/* ---- type ------------------------------------------------------- */ + +body { + font-family: var(--sans); + font-size: 1.06rem; + line-height: 1.55; +} + +h1, h2, h3 { + font-family: var(--heading); + font-weight: 500; + line-height: 1.15; +} + +/* What is asked is set like the wordmark: capitals, spaced. */ +.hero-copy h1, +.alt-card h2 { + text-transform: uppercase; + letter-spacing: 0.12em; +} + +/* ---- the top ---------------------------------------------------- */ + +.hero { + align-items: stretch; + text-align: left; +} + +.hero:not(.hero-slides), +.hero-bar, +.hero-slides .hero-copy { + width: 100%; + max-width: var(--measure); + margin-inline: auto; + box-sizing: border-box; +} + +.wordmark { + opacity: 1; +} + +.session { + font-family: var(--heading); + font-size: 0.82rem; + letter-spacing: 0.06em; +} + +.hero-copy { + display: flex; + flex-direction: column; + align-items: flex-start; + text-align: left; + gap: 0.5rem; +} + +.hero-copy h1 { + margin: 0.4rem 0 0; + font-size: clamp(1.5rem, 1rem + 2.2vw, 2.2rem); +} + +.hero-copy p { + margin: 0; + max-width: 34rem; + font-size: 1.12rem; + color: var(--ink-dim); +} + +/* ---- the cards -------------------------------------------------- */ + +.alternatives { + max-width: var(--measure); + gap: 1.4rem; +} + +/* A card on the reading-room table: flat, a pine rule on its left. */ +.alt-card { + background: var(--card-bg); + border: 0.06rem solid var(--line); + border-left: 0.3rem solid var(--pine); + border-radius: var(--radius); + box-shadow: 0 0.4rem 1.2rem var(--card-shadow); + padding: 1.6rem 1.8rem 1.7rem; + backdrop-filter: none; +} + +.alt-card h2 { + font-size: 1.15rem; + margin: 0 0 0.45rem; +} + +.feature h3, +.feature-name { + font-family: var(--heading); + letter-spacing: 0.04em; +} + +.feature p a, +.alt-description a, +.hero-copy p a { + color: var(--accent); + border-bottom-color: var(--accent); +} + +.alt-encouragement { + color: var(--ink-dim); + font-style: italic; +} + +/* ---- forms ------------------------------------------------------ */ + +.field-label { + font-family: var(--heading); + font-size: 0.78em; + letter-spacing: 0.06em; + text-transform: uppercase; + color: var(--ink); +} + +input, +textarea, +.select-option { + background: var(--field); + border-color: var(--line); + border-radius: 0.2em; +} + +.select-option { + border-radius: 999rem; +} + +.select-option.selected { + background: var(--pine); + border-color: var(--pine); + color: #f3f1ea; +} + +.alt-submit { + font-family: var(--heading); + letter-spacing: 0.12em; + text-transform: uppercase; + background: var(--pine); + color: #f3f1ea; + border-radius: 0.2em; +} + +/* ---- the foot --------------------------------------------------- */ + +.question-nav, +.down-the-tree-foot, +.question-responsible { + font-family: var(--heading); + letter-spacing: 0.04em; +} diff --git a/fonts/futura-medium.ttf b/fonts/futura-medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..80f3368c86ec751f3d27c140f7c1141b9090d30e GIT binary patch literal 283028 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 IgMono0L}V&C;$Ke literal 0 HcmV?d00001 diff --git a/images/favicon.svg b/images/favicon.svg new file mode 100644 index 0000000..abb274a --- /dev/null +++ b/images/favicon.svg @@ -0,0 +1,8 @@ + + + + G + diff --git a/images/wordmark.svg b/images/wordmark.svg new file mode 100644 index 0000000..9cfe919 --- /dev/null +++ b/images/wordmark.svg @@ -0,0 +1,13 @@ + + + GULLBERG + sanatorium + diff --git a/needs.yaml b/needs.yaml new file mode 100644 index 0000000..987bfcc --- /dev/null +++ b/needs.yaml @@ -0,0 +1,311 @@ +needs: +- 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 + enters: / + via: Søk rom for studieåret + lands_in: romsoknader + handled_by: styret + stages: + - open + - visning + - tilbud + - akseptert + - signert + - avslatt + done_when: + - signert + - avslatt + success: + - signert + max_steps: 1 + max_fields: 4 + stage_words: + open: mottatt + visning: visning avtalt + tilbud: tilbud sendt + akseptert: tilbud godtatt + signert: kontrakt signert + avslatt: avsluttet uten leie +- id: ledig-rom + who: styret, når et rom blir ledig + wants: at studenter ser rommet før de søker + enters: /styret/ledig-rom + via: Meld inn et rom som er ledig + lands_in: rom + handled_by: styret + stages: + - open + - utleid + done_when: + - utleid + success: + - utleid + max_steps: 1 + max_fields: 3 + stage_words: + open: ledig + utleid: leid ut + enters_as: styret +- 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: /styret/liste + via: Listen over huset og planene + lands_in: liste + handled_by: styret + stages: + - open + - vedtatt + - publisert + - forkastet + done_when: + - publisert + - forkastet + success: + - publisert + max_steps: 1 + max_fields: 3 + stage_words: + open: utkast + vedtatt: vedtatt + publisert: publisert + forkastet: forkastet + enters_as: styret +- 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: /styret/rapport + via: Rapporten som viser hvordan det går + lands_in: rapporter + handled_by: styret + stages: + - open + - sendt + done_when: + - sendt + success: + - sendt + max_steps: 1 + max_fields: 7 + stage_words: + open: lagt fram for aksjonærene + sendt: sendt til banken + enters_as: styret +- 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: /styret/nedbetalingsplan + via: Nedbetalingsplanen alle fire står bak + lands_in: nedbetalingsplaner + handled_by: styret + stages: + - open + - godkjent + - sendt + - innvilget + - endringer + done_when: + - innvilget + - endringer + success: + - innvilget + max_steps: 1 + max_fields: 6 + stage_words: + open: til godkjenning hos aksjonærene + godkjent: godkjent av aksjonærene + sendt: sendt til banken + innvilget: innvilget av banken + endringer: banken ber om endringer + enters_as: styret + also_moved_by: + - aksjonaerer +- 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: /styret/husleie + via: Husleia for måneden, samlet ett sted + lands_in: husleie + handled_by: styret + stages: + - open + - betalt + - purret + done_when: + - betalt + success: + - betalt + max_steps: 1 + max_fields: 4 + stage_words: + open: forventet + betalt: betalt + purret: purret + enters_as: styret +- id: feil + who: en leietaker som har funnet noe som er galt i huset + wants: at det blir sett på og rettet + enters: /leietakere/feil + via: Meld fra om noe som er galt i huset + lands_in: feil + handled_by: klingenberg + stages: + - open + - befaring + - overslag + - godkjent + - utbedret + - avvist + done_when: + - utbedret + - avvist + success: + - utbedret + max_steps: 1 + max_fields: 3 + stage_words: + open: meldt + befaring: befaring avtalt + overslag: overslag gitt + godkjent: godkjent av styret + utbedret: utbedret + avvist: avvist + enters_as: leietakere + also_moved_by: + - styret +- 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: /klingenberg/overslag + via: Overslaget går til styret + lands_in: overslag + handled_by: styret + stages: + - open + - godkjent + - avvist + - fakturert + done_when: + - fakturert + - avvist + success: + - fakturert + max_steps: 1 + max_fields: 3 + stage_words: + open: til styret + godkjent: godkjent + avvist: avvist + fakturert: fakturert + enters_as: klingenberg + also_moved_by: + - klingenberg +- 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: /styret/eierskifte + via: Se hvor eierskiftet står + lands_in: eierskifte + handled_by: styret + stages: + - open + - arbeid + - ferdig + done_when: + - ferdig + success: + - ferdig + max_steps: 1 + max_fields: 2 + stage_words: + open: ikke startet + arbeid: i gang + ferdig: ferdig + enters_as: styret +- id: uke + who: en aksjonær som vil bruke huset en periode + wants: en uke i huset, bekreftet av styret + enters: /aksjonaerer/uke + via: Reserver en uke i huset + lands_in: uker + handled_by: styret + stages: + - open + - bekreftet + - avslatt + done_when: + - bekreftet + - avslatt + success: + - bekreftet + max_steps: 1 + max_fields: 3 + stage_words: + open: ønsket + bekreftet: bekreftet + avslatt: ikke ledig + enters_as: aksjonaerer +- id: sak + who: en aksjonær som vil ha noe avgjort + wants: at styret tar saken opp og avgjør den + enters: /aksjonaerer/sak + via: Få en sak opp i styret + lands_in: saker + handled_by: styret + stages: + - open + - sakslisten + - vedtatt + - avvist + done_when: + - vedtatt + - avvist + success: + - vedtatt + max_steps: 1 + max_fields: 2 + stage_words: + open: meldt + sakslisten: på sakslisten + vedtatt: vedtatt + avvist: avvist + enters_as: aksjonaerer +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 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? +tones: [] diff --git a/questions/aksjonaerer/_section.yaml b/questions/aksjonaerer/_section.yaml new file mode 100644 index 0000000..de68c60 --- /dev/null +++ b/questions/aksjonaerer/_section.yaml @@ -0,0 +1 @@ +qualifies: aksjonaerer diff --git a/questions/aksjonaerer/index.yaml b/questions/aksjonaerer/index.yaml new file mode 100644 index 0000000..190faad --- /dev/null +++ b/questions/aksjonaerer/index.yaml @@ -0,0 +1,161 @@ +name: Hvordan ligger huset og driften an? +description: 'Her ser aksjonærene hvordan huset og driften står: eierskiftet, husleia, lista, overslagene og sakene.' +responsible: + name: Styret i Gullberg + contact: bl@klingenbergbygg.no + group: styret +alternatives: +- name: Se hvor langt eierskiftet har kommet + description: Hvert steg i overgangen til Gullberg AS, med dokumentene som hører til. + action: /aksjonaerer + consequence: + - Bekreft + features: + - name: Steg i eierskiftet + description: Hver rad er et steg med merknad og dokument; flytt det videre når det er i arbeid eller ferdig. + resource: + source: + kind: kv + bucket: eierskifte + requires_group: aksjonaerer + transitions: [] +- name: Se hvilke rom som har betalt + description: Husleia for hvert rom, måned for måned, og hva som er purret på. + action: /aksjonaerer + consequence: + - Bekreft + features: + - name: Husleie + description: Hver rad er ett rom for én måned, med beløp og betalingsdato; merk den betalt eller purret. + resource: + source: + kind: kv + bucket: husleie + requires_group: aksjonaerer + transitions: [] +- name: 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. + action: /aksjonaerer + consequence: + - Bekreft + features: + - name: Lista + description: Hver rad er ett punkt med kostnad og tidspunkt; vedta den, publiser den eller forkast den. + resource: + source: + kind: kv + bucket: liste + requires_group: aksjonaerer + transitions: [] +- name: Godkjenn nedbetalingsplanen + description: Planen for lånet, lagt fram for alle fire aksjonærene og banken. + action: /aksjonaerer + consequence: + - Bekreft + features: + - name: Nedbetalingsplaner + description: Hver rad er en plan med lånebeløp og pengestrøm; følg den fra godkjent til innvilget hos banken. + resource: + source: + kind: kv + bucket: nedbetalingsplaner + requires_group: aksjonaerer + transitions: + - from: open + to: godkjent + label: Godkjenn planen +- name: Se overslagene fra Klingenberg Bygg + description: Beløpet Klingenberg Bygg har satt på en feil, klart til vedtak. + action: /aksjonaerer + consequence: + - Bekreft + features: + - name: Overslag + description: Hver rad er ett overslag med beløp og hva det dekker; godkjenn, avvis eller fakturer det. + resource: + source: + kind: kv + bucket: overslag + requires_group: aksjonaerer + transitions: [] +- name: Se kvartalsrapportene + description: Tallene aksjonærene og banken skal ha, kvartal for kvartal. + action: /aksjonaerer + consequence: + - Bekreft + features: + - name: Rapporter + description: Hver rad er én periode med inntekter, kostnader og saldo; send den når den er klar. + resource: + source: + kind: kv + bucket: rapporter + requires_group: aksjonaerer + transitions: [] +- name: Se sakene som er meldt til styret + description: Det en aksjonær vil ha styrets ord på, samlet på ett sted. + action: /aksjonaerer + consequence: + - Bekreft + features: + - name: Saksliste + description: Hver rad er én sak; sett den på sakslisten, vedta den eller avvis den. + resource: + source: + kind: kv + bucket: saker + requires_group: aksjonaerer + transitions: [] +- name: Be om en uke i huset + description: Reserver en periode selv, bekreftet av styret. + action: /aksjonaerer/uke + consequence: + - Søk om uke +- name: Få noe avgjort av styret + description: Meld en sak du vil ha styrets ord på. + action: /aksjonaerer/sak + consequence: + - Meld sak +- name: Inviter en ny aksjonær inn + description: De får en konto og en lenke som gjelder én gang. + action: /aksjonaerer + consequence: + - Send invitasjon + invite: + group: aksjonaerer + features: + - name: Ny aksjonær + description: Ha navn, e-post og telefon klart. + requirements: + - name: name + label: Navn + - name: phone + label: Telefon + type: tel + - name: email + label: E-post + type: email + optional: true +- name: Se hvem som er invitert + description: Status på invitasjonene som er sendt ut. + action: /aksjonaerer + consequence: + - Bekreft + features: + - name: Invitasjoner + description: Hver rad er én invitasjon; send den på nytt om lenken har gått ut, eller trekk den tilbake. + resource: + source: + kind: kv + bucket: portal_memberships + requires_group: aksjonaerer + transitions: + - from: invited + to: removed + label: Trekk tilbake + - from: active + to: removed + label: Aktiv + - from: removed + to: invited + label: Send på nytt diff --git a/questions/aksjonaerer/sak-sent.yaml b/questions/aksjonaerer/sak-sent.yaml new file mode 100644 index 0000000..e1c066d --- /dev/null +++ b/questions/aksjonaerer/sak-sent.yaml @@ -0,0 +1,5 @@ +name: Hva skjer med saken jeg nettopp sendte inn? +description: Saken er sendt til styret. Den havner på sakslisten og blir tatt opp der. +alternatives: +- name: Følg saken videre + description: Styret vurderer saken og vedtar eller avviser den. Du finner status på sakslisten. diff --git a/questions/aksjonaerer/sak.yaml b/questions/aksjonaerer/sak.yaml new file mode 100644 index 0000000..3297fae --- /dev/null +++ b/questions/aksjonaerer/sak.yaml @@ -0,0 +1,35 @@ +followup: false +name: Er det noe som bør avgjøres av styret? +description: Her melder du inn en sak du vil at styret skal ta opp og avgjøre. +responsible: + name: Styret i Gullberg + contact: bl@klingenbergbygg.no + group: styret +alternatives: +- name: 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. + action: /aksjonaerer/sak-sent + consequence: + - Send saken + record_as: saker + features: + - name: Fra forslag til vedtak + description: Saken kommer inn og settes på sakslisten, blir tatt opp av styret og ender med et vedtak eller en avvisning. + icon: lucide:list + - name: Hvem som leser den + description: Styret får saken og tar stilling til den; haster det, nå dem på bl@klingenbergbygg.no. + icon: lucide:users + - name: Ny sak + requirements: + - name: tittel + label: Tittel på saken + type: text + placeholder: Fast eller flytende leie for sommeren + - name: sak + label: Hva gjelder saken + type: textarea + placeholder: 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. + description: Skriv kort hva saken går ut på og hvorfor den bør opp. + icon: lucide:vote + encouragements: + - Styret ser den og setter den på sakslisten. diff --git a/questions/aksjonaerer/uke-sent.yaml b/questions/aksjonaerer/uke-sent.yaml new file mode 100644 index 0000000..53c15a8 --- /dev/null +++ b/questions/aksjonaerer/uke-sent.yaml @@ -0,0 +1,5 @@ +name: Hva skjer nå med ukesøknaden din? +description: Den er sendt og ligger hos styret, som avgjør om uken blir bekreftet. +alternatives: +- name: Styret ser på søknaden din + description: De bekrefter eller avslår uken. Du finner svaret i oversikten når det er klart. diff --git a/questions/aksjonaerer/uke.yaml b/questions/aksjonaerer/uke.yaml new file mode 100644 index 0000000..4a2304c --- /dev/null +++ b/questions/aksjonaerer/uke.yaml @@ -0,0 +1,40 @@ +followup: false +name: Hvilken uke vil du bruke huset? +description: Meld fra om uken du ønsker, så bekrefter styret den. +responsible: + name: Styret i Gullberg + contact: bl@klingenbergbygg.no + group: styret +alternatives: +- name: Reserver en uke i huset + description: Si fra når du vil bruke huset, så ser styret om datoene passer. + action: /aksjonaerer/uke-sent + consequence: + - Send ønske + record_as: uker + features: + - name: Veien videre + description: Styret ser på ønsket ditt og bekrefter eller avslår uken. + icon: lucide:route + - name: Hvem leser dette + description: Styret ser ønsket ditt; skriv til bl@klingenbergbygg.no om det haster. + icon: lucide:users + - name: Ukeønske + requirements: + - name: fra + label: Fra dato + type: date + placeholder: f.eks. 6. juli 2027 + - name: til + label: Til dato + type: date + placeholder: f.eks. 13. juli 2027 + - name: merknad + label: Merknad + type: textarea + optional: true + placeholder: f.eks. kommer med familie, trenger ekstra seng + description: Fyll inn datoene du ønsker huset. + icon: lucide:calendar + encouragements: + - Du hører fra styret så snart datoene er sjekket. diff --git a/questions/decide/leie-rom.yaml b/questions/decide/leie-rom.yaml new file mode 100644 index 0000000..7771d3c --- /dev/null +++ b/questions/decide/leie-rom.yaml @@ -0,0 +1,21 @@ +name: 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. +alternatives: +- name: Ta imot rommet + description: Du sier ja til rommet du har fått tilbud om. Styret tar kontakt om innflytting og signering. + self_transition: + bucket: romsoknader + to: akseptert + from: + - tilbud + label: Ta imot +- name: Takk nei til rommet + description: Du sier nei til tilbudet, og rommet går videre til neste søker. + self_transition: + bucket: romsoknader + to: avslatt + from: + - open + - tilbud + - visning + label: Takk nei diff --git a/questions/forretningsplan.yaml b/questions/forretningsplan.yaml new file mode 100644 index 0000000..b54b7ca --- /dev/null +++ b/questions/forretningsplan.yaml @@ -0,0 +1,21 @@ +name: Hvordan går Gullberg rundt? +description: Forretningsplanen for Gullberg, slik eierne har lagt den fram for banken. +responsible: + name: Styret i Gullberg + contact: bl@klingenbergbygg.no + group: styret +alternatives: +- name: Huset + description: 'Utkast, skrives av eierne: hva huset er, hvor det ligger, hvor mange rom det har og i hvilken stand.' +- name: Forretningen + description: 'Utkast, skrives av eierne: de to inntektene, romleie til studenter og timeshare-uker, og hva hver av dem gir i året.' +- name: Eierne + description: '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.' +- name: Lånet + description: '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.' +- name: Budsjettet + description: 'Utkast, skrives av eierne: inntekter, drift, renter og avdrag for et normalår, og hvor rapportene står.' +- name: Det som mangler + description: 'Utkast, skrives av eierne: de største manglene ved huset, hva de koster å rette, og planen for det. Lista på siden holdes oppdatert.' +- name: Forvaltningen + description: 'Utkast, skrives av eierne: at Klingenberg Bygg forvalter huset, og hva det innebærer.' diff --git a/questions/hvem.yaml b/questions/hvem.yaml new file mode 100644 index 0000000..a3921bc --- /dev/null +++ b/questions/hvem.yaml @@ -0,0 +1,20 @@ +name: 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å. +responsible: + name: Styret i Gullberg + contact: bl@klingenbergbygg.no +alternatives: +- name: Rommene som er ledige + description: Rommene som står åpne for studenter som søker om et sted å bo. + features: + - name: '' + description: '' + resource: + source: + kind: kv + bucket: rom + public: true + states: + - open + empty: Ingen rom er ledige akkurat nå, men nye kommer når noen flytter ut. + jq: 'sort_by(.submitted_ms) | reverse | .[] | .responses |= {tittel: .tittel, bilde: .bilde, om: .om}' diff --git a/questions/index.yaml b/questions/index.yaml new file mode 100644 index 0000000..a2ae51d --- /dev/null +++ b/questions/index.yaml @@ -0,0 +1,81 @@ +name: 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. +responsible: + name: Styret i Gullberg + contact: bl@klingenbergbygg.no + group: styret +alternatives: +- name: 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: + - name: 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: lucide:house +- name: Hva er Gullberg? + description: Fire aksjonærer eier huset sammen og driver det selv, med Klingenberg Bygg som forvalter. + action: /hvem + consequence: + - Se huset og rommene +- name: Hva som er gjort, og hva som mangler + description: 'Det styret har vedtatt for huset: planene, med pris og tid der det er kjent.' + features: + - name: Siste fra lista + description: Punktene styret har tatt stilling til, ferskest øverst. [Se hele lista](/status/liste) + icon: lucide:clipboard-list + resource: + source: + kind: kv + bucket: liste + public: true + states: + - publisert + empty: Snart kommer de første punktene på lista. + jq: 'sort_by(.submitted_ms) | reverse | .[:3] | .[] | .responses |= {tittel: .tittel, slag: .slag, beskrivelse: .beskrivelse, kostnad: .kostnad, naar: .naar}' + link: + to: /status/liste/{id} + label: Svar +- name: Søk rom for studieåret + description: Fortell oss litt om deg, så tar styret kontakt når et rom passer. + action: /received/leie-rom + consequence: + - Søk rom + record_as: romsoknader + features: + - name: Veien videre + 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. + icon: lucide:route + - name: Hvem leser søknaden + description: Styret i Gullberg leser søknaden din, og du når dem i mellomtiden på bl@klingenbergbygg.no. + icon: lucide:users + - name: Søknadsskjema + requirements: + - name: name + label: Navn + type: text + placeholder: Kari Nordmann + - name: email + label: E-post + type: email + placeholder: kari@student.no + - name: telefon + label: Telefon + type: tel + placeholder: 123 45 678 + - name: studiested + label: Studiested + type: text + placeholder: NTNU + - name: innflytting + label: Ønsket innflytting + type: date + optional: true + placeholder: August 2026 + - name: om + label: Litt om deg + type: textarea + optional: true + placeholder: Jeg studerer medisin og trenger et rolig sted å bo nær campus. + description: Fyll inn det du vet nå - resten kan vente til visningen. + icon: lucide:key + encouragements: + - Det tar bare et par minutter, og du hører fra styret så snart et rom er ledig. diff --git a/questions/klingenberg/_section.yaml b/questions/klingenberg/_section.yaml new file mode 100644 index 0000000..b4c3b9e --- /dev/null +++ b/questions/klingenberg/_section.yaml @@ -0,0 +1 @@ +qualifies: klingenberg diff --git a/questions/klingenberg/index.yaml b/questions/klingenberg/index.yaml new file mode 100644 index 0000000..dda49b7 --- /dev/null +++ b/questions/klingenberg/index.yaml @@ -0,0 +1,104 @@ +name: Hva trenger huset nå? +description: Her samler Klingenberg Bygg det leietakerne melder inn, og styret ser overslagene før de godkjennes. +responsible: + name: Styret i Gullberg + contact: bl@klingenbergbygg.no + group: styret +alternatives: +- name: Se hva som er meldt inn av feil + description: Her ser du det leietakerne har meldt, fra ny melding til den er utbedret. + action: /klingenberg + consequence: + - Bekreft + features: + - name: Meldte feil + description: Hver rad er en feil som er meldt inn; knappene under flytter den videre til befaring, overslag eller utbedret. + resource: + source: + kind: kv + bucket: feil + requires_group: klingenberg + transitions: + - from: befaring + to: overslag + label: Lag overslag + - from: befaring + to: avvist + label: Avvis saken + - from: godkjent + to: utbedret + label: Meld utbedret + - from: open + to: befaring + label: Sett opp befaring + - from: open + to: avvist + label: Avvis saken + - from: overslag + to: avvist + label: Avvis overslaget +- name: Følg opp overslagene dine + description: Her ser du overslagene du har levert, og om styret har godkjent dem. + action: /klingenberg + consequence: + - Bekreft + features: + - name: Leverte overslag + description: Hver rad er et overslag du har levert; marker det fakturert når regningen er sendt. + resource: + source: + kind: kv + bucket: overslag + requires_group: klingenberg + transitions: + - from: godkjent + to: fakturert + label: Merk fakturert +- name: Se alle overslag i ett regnskap + description: Her finner du overslagene samlet, uansett hvem som har meldt feilen. + action: /klingenberg/overslag + consequence: + - Åpne overslag +- name: 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. + action: /klingenberg + consequence: + - Send invitasjon + invite: + group: klingenberg + features: + - name: Inviter ny person + description: Ha navn, telefon og e-post klart. + requirements: + - name: name + label: Navn + - name: phone + label: Telefon + type: tel + - name: email + label: E-post + type: email + optional: true +- name: Hold oversikt over inviterte + description: Her ser du hvem som er invitert, og om de har tatt lenken i bruk. + action: /klingenberg + consequence: + - Bekreft + features: + - name: Sendte invitasjoner + description: Hver rad er en invitasjon; send den på nytt hvis lenken har gått ut, eller trekk den tilbake. + resource: + source: + kind: kv + bucket: portal_memberships + requires_group: klingenberg + transitions: + - from: invited + to: removed + label: Trekk tilbake + - from: active + to: removed + label: Tatt i bruk + - from: removed + to: invited + label: Send på nytt diff --git a/questions/klingenberg/overslag-sent.yaml b/questions/klingenberg/overslag-sent.yaml new file mode 100644 index 0000000..769368f --- /dev/null +++ b/questions/klingenberg/overslag-sent.yaml @@ -0,0 +1,5 @@ +name: 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. +alternatives: +- name: Styret vurderer overslaget + description: Du hører fra dem hvis de trenger mer, ellers venter du på svar om det blir godkjent, avvist eller fakturert. diff --git a/questions/klingenberg/overslag.yaml b/questions/klingenberg/overslag.yaml new file mode 100644 index 0000000..52e4081 --- /dev/null +++ b/questions/klingenberg/overslag.yaml @@ -0,0 +1,44 @@ +followup: false +name: Hva vil det koste å rette feilen? +description: Overslaget går til styret, som godkjenner eller avviser det før det føres i regnskapet. +responsible: + name: Styret i Gullberg + contact: bl@klingenbergbygg.no + group: styret +alternatives: +- name: 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. + action: /klingenberg/overslag-sent + consequence: + - Send overslag + record_as: overslag + features: + - name: Veien videre + description: Styret godkjenner eller avviser overslaget. Blir det godkjent og arbeidet utført, blir det fakturert. + icon: lucide:route + - name: Hvem leser det + description: Styret i Gullberg leser overslaget og tar stilling til det, du når dem på bl@klingenbergbygg.no i mellomtiden. + icon: lucide:users + - name: Overslag på feil + requirements: + - name: gjelder + label: Hva overslaget gjelder + type: text + placeholder: Lekkasje på badet i rom 4 + - name: belop + label: Beløp + type: text + placeholder: 12 500 kr + - name: hva-det-dekker + label: Hva beløpet dekker + type: textarea + placeholder: Ny membran, fliser og arbeidstid, to dagers arbeid + - name: dokument + label: Dokument + type: file + optional: true + placeholder: overslag-rom4.pdf + description: Ha prisen og hva den dekker klart før du sender. + icon: lucide:receipt + encouragements: + - Styret ser det i løpet av kort tid, og det følger saken videre til regnskapet. diff --git a/questions/leietakere/_section.yaml b/questions/leietakere/_section.yaml new file mode 100644 index 0000000..b9ffeed --- /dev/null +++ b/questions/leietakere/_section.yaml @@ -0,0 +1 @@ +qualifies: leietakere diff --git a/questions/leietakere/feil-sent.yaml b/questions/leietakere/feil-sent.yaml new file mode 100644 index 0000000..e2613f1 --- /dev/null +++ b/questions/leietakere/feil-sent.yaml @@ -0,0 +1,5 @@ +name: Hva skjer nå med feilen jeg meldte? +description: Meldingen er sendt til Klingenberg Bygg, som drar på befaring og vurderer hva den koster å rette. +alternatives: +- name: Klingenberg Bygg ser på saken + description: De befarer feilen og lager et overslag som styret tar stilling til. diff --git a/questions/leietakere/feil.yaml b/questions/leietakere/feil.yaml new file mode 100644 index 0000000..a597a65 --- /dev/null +++ b/questions/leietakere/feil.yaml @@ -0,0 +1,51 @@ +followup: false +name: Har du funnet noe i huset som bør rettes opp? +description: Meldingen går rett til Klingenberg Bygg, som forvalter huset. De ser på det, og styret godkjenner det som koster penger. +responsible: + name: Styret i Gullberg + contact: bl@klingenbergbygg.no + group: styret +alternatives: +- name: 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. + action: /leietakere/feil-sent + consequence: + - Send feilen + record_as: feil + features: + - name: Hva skjer videre + 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. + icon: lucide:route + - name: Hvem leser dette + description: Styret i Gullberg får meldingen og følger den opp; haster det, send en e-post til bl@klingenbergbygg.no. + icon: lucide:users + - name: Meld en feil + requirements: + - name: hva + label: Hva er galt + type: text + placeholder: Vannlekkasje under kjøkkenvasken + - name: hvor + label: Hvor i huset + type: text + optional: true + placeholder: Kjøkkenet i 2. etasje + - name: beskrivelse + label: Beskriv feilen + type: textarea + placeholder: Det drypper fra røret under vasken, har blitt verre siste uken + - name: email + label: E-post + type: email + placeholder: navn@student.no + value: '{user.email}' + - name: bilde + label: Bilde + type: file + accept: image/jpeg,image/png,image/webp + optional: true + placeholder: Last opp et bilde av feilen + description: Fortell hva som er galt og hvor, gjerne med bilde. + icon: lucide:wrench + encouragements: + - Tar et par minutter, og styret får beskjed med én gang. diff --git a/questions/leietakere/index.yaml b/questions/leietakere/index.yaml new file mode 100644 index 0000000..fac74eb --- /dev/null +++ b/questions/leietakere/index.yaml @@ -0,0 +1,29 @@ +name: Hva kan vi gjøre for deg i huset? +description: Feil leietakerne melder inn, og overslagene Klingenberg Bygg sender over, samlet på ett sted. +responsible: + name: Styret i Gullberg + contact: bl@klingenbergbygg.no + group: styret +alternatives: +- name: Feil + description: Sent in by en leietaker som har funnet noe som er galt i huset. + action: /leietakere + consequence: + - Bekreft + features: + - name: Feil + description: Hver rad er én av dine egne saker og hvor langt den har kommet. + resource: + source: + kind: kv + bucket: feil + requires_group: leietakere + transitions: [] + where: + field: email + equals: '{user.email}' +- name: Har du funnet noe som er galt i huset? + description: Meld fra, så går det rett til Klingenberg Bygg. + action: /leietakere/feil + consequence: + - Meld fra diff --git a/questions/received/leie-rom.yaml b/questions/received/leie-rom.yaml new file mode 100644 index 0000000..36e09a9 --- /dev/null +++ b/questions/received/leie-rom.yaml @@ -0,0 +1,5 @@ +name: 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. +alternatives: +- name: Du hører fra styret om en visning + description: Styret tar kontakt på e-post eller telefon for å avtale tid. Får du tilbud om rommet, får du beskjed rett etter. diff --git a/questions/status/liste/index.yaml b/questions/status/liste/index.yaml new file mode 100644 index 0000000..59b2ce3 --- /dev/null +++ b/questions/status/liste/index.yaml @@ -0,0 +1,24 @@ +name: 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. +responsible: + name: Styret i Gullberg + contact: bl@klingenbergbygg.no + group: styret +alternatives: +- name: Det som er vedtatt og gjort + description: Åpen liste over det styret har vedtatt for huset. + features: + - name: Vedtatt og gjort + description: Hver rad er én sak, med hva den gjelder, kostnad og tidspunkt der det er satt. + resource: + source: + kind: kv + bucket: liste + public: true + states: + - publisert + empty: Ingen saker er publisert ennå. + jq: 'sort_by(.submitted_ms) | reverse | .[] | .responses |= {tittel: .tittel, slag: .slag, beskrivelse: .beskrivelse, kostnad: .kostnad, naar: .naar}' + link: + to: /status/liste/{id} + label: Svar diff --git a/questions/status/rom/index.yaml b/questions/status/rom/index.yaml new file mode 100644 index 0000000..873d008 --- /dev/null +++ b/questions/status/rom/index.yaml @@ -0,0 +1,24 @@ +name: Hvilke rom er ledige nå? +description: Her finner du rommene som er ledige for innflytting, med bilde og en kort beskrivelse av hvert rom. +responsible: + name: Styret i Gullberg + contact: bl@klingenbergbygg.no + group: styret +alternatives: +- name: Ledige rom i huset + description: Rommene som er ledige akkurat nå. + features: + - name: Ledige rom + description: Hver rad er et rom du kan søke på. + resource: + source: + kind: kv + bucket: rom + public: true + states: + - open + empty: Ingen rom er ledige akkurat nå, men se gjerne innom igjen senere. + jq: 'sort_by(.submitted_ms) | reverse | .[] | .responses |= {tittel: .tittel, bilde: .bilde, om: .om}' + link: + to: /status/rom/{id} + label: Svar diff --git a/questions/styret/_section.yaml b/questions/styret/_section.yaml new file mode 100644 index 0000000..5a34160 --- /dev/null +++ b/questions/styret/_section.yaml @@ -0,0 +1 @@ +qualifies: styret diff --git a/questions/styret/eierskifte-sent.yaml b/questions/styret/eierskifte-sent.yaml new file mode 100644 index 0000000..7d07199 --- /dev/null +++ b/questions/styret/eierskifte-sent.yaml @@ -0,0 +1,5 @@ +name: 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. +alternatives: +- name: Følg eierskiftet videre + description: Du finner status og alle steg i oversikten over eierskiftet, og kan legge inn mer når noe nytt skjer. diff --git a/questions/styret/eierskifte.yaml b/questions/styret/eierskifte.yaml new file mode 100644 index 0000000..81c57ea --- /dev/null +++ b/questions/styret/eierskifte.yaml @@ -0,0 +1,49 @@ +followup: false +name: Hvor langt har eierskiftet kommet? +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. +responsible: + name: Styret i Gullberg + contact: bl@klingenbergbygg.no + group: styret +alternatives: +- name: Se hvor eierskiftet står + description: Meld fra om neste steg i overgangen til selskapet, så ser aksjonærene og banken fremgangen. + action: /styret/eierskifte-sent + consequence: + - Legg inn steg + record_as: eierskifte + features: + - name: Fra melding til ferdig + description: Steget legges inn, så arbeides det med, og til slutt merkes det som ferdig. + icon: lucide:route + - name: Hvem leser det + description: Styret følger eierskiftet her; ring styret i mellomtiden hvis noe ikke kan vente. + icon: lucide:users + - name: Nytt steg i eierskiftet + requirements: + - name: steg + label: Hva er gjort + 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 + label: Merknad + type: textarea + optional: true + placeholder: Megler venter på signatur fra den siste selgeren + - name: dokument + label: Dokument + type: file + optional: true + placeholder: skjote-gullberg.pdf + description: Skriv hva som er gjort, og legg ved dokumentet hvis det finnes et. + icon: lucide:file-text + encouragements: + - Tar et minutt, og listen oppdateres med én gang. diff --git a/questions/styret/husleie-sent.yaml b/questions/styret/husleie-sent.yaml new file mode 100644 index 0000000..39c679b --- /dev/null +++ b/questions/styret/husleie-sent.yaml @@ -0,0 +1,5 @@ +name: 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. +alternatives: +- name: Følg med i husleielista + description: Der ser dere hvilke rom som har betalt og hva som er purret på. diff --git a/questions/styret/husleie.yaml b/questions/styret/husleie.yaml new file mode 100644 index 0000000..31fdd26 --- /dev/null +++ b/questions/styret/husleie.yaml @@ -0,0 +1,44 @@ +followup: false +name: Hvilke rom har betalt husleie denne måneden? +description: Her ser styret hvilke rom som har betalt husleia og hva som har gått til banken. +responsible: + name: Styret i Gullberg + contact: bl@klingenbergbygg.no + group: styret +alternatives: +- name: 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. + action: /styret/husleie-sent + consequence: + - Registrer husleie + record_as: husleie + features: + - name: Hva som skjer videre + description: Du registrerer at husleia er betalt. Hvis et rom ikke har betalt, markeres det som purret til det kommer inn. + icon: lucide:refresh-cw + - name: Hvem som ser dette + description: Styret ser oversikten; har du spørsmål underveis, ta kontakt med styret på bl@klingenbergbygg.no. + icon: lucide:users + - name: Registrer husleie + requirements: + - name: rom + label: Hvilket rom + type: text + placeholder: Rom 2 + - name: maaned + label: Hvilken måned + type: text + placeholder: Oktober 2026 + - name: belop + label: Beløp + type: text + placeholder: '4500' + - name: betalt-dato + label: Betalt dato + type: date + optional: true + placeholder: 2026-10-05 + description: Ha rom, måned og beløp klart. + icon: lucide:banknote + encouragements: + - Det tar et minutt per rom. diff --git a/questions/styret/index.yaml b/questions/styret/index.yaml new file mode 100644 index 0000000..50987ba --- /dev/null +++ b/questions/styret/index.yaml @@ -0,0 +1,419 @@ +name: 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.' +responsible: + name: Styret i Gullberg + contact: bl@klingenbergbygg.no + group: styret +alternatives: +- name: 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. + action: /styret + consequence: + - Bekreft + features: + - name: Steg i eierskiftet + description: Hver rad er ett steg i overgangen, med merknad og dokument; knappen under flytter steget videre. + resource: + source: + kind: kv + bucket: eierskifte + requires_group: styret + transitions: + - from: arbeid + to: ferdig + label: Merk steget ferdig + - from: open + to: arbeid + label: Start arbeidet +- name: 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. + action: /styret + consequence: + - Bekreft + features: + - name: Meldte feil + description: Hver rad er en feil meldt av en leietaker, med bilde og beskrivelse; knappene under sender den videre eller avviser den. + resource: + source: + kind: kv + bucket: feil + requires_group: styret + transitions: + - from: befaring + to: avvist + label: Avvis feilen + - from: open + to: avvist + label: Avvis feilen + - from: overslag + to: godkjent + label: Godkjenn overslaget + - from: overslag + to: avvist + label: Avvis overslaget +- name: Hold oversikt over husleia hver måned + description: Se hvilke rom som har betalt, og purr dem som ikke har gjort det. + action: /styret + consequence: + - Bekreft + features: + - name: Husleie per rom + description: Hver rad er husleia for ett rom én måned, med beløp og betalingsdato; knappene under merker betalt eller sender purring. + resource: + source: + kind: kv + bucket: husleie + requires_group: styret + transitions: + - from: open + to: betalt + label: Merk som betalt + - from: open + to: purret + label: Send purring + - from: purret + to: betalt + label: Merk som betalt +- name: 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. + action: /styret + consequence: + - Bekreft + features: + - name: Punkter på lista + description: Hver rad er ett punkt med slag, beskrivelse, kostnad og tid; knappene under vedtar, publiserer eller forkaster det. + resource: + source: + kind: kv + bucket: liste + requires_group: styret + transitions: + - from: open + to: vedtatt + label: Vedta punktet + - from: open + to: forkastet + label: Forkast punktet + - from: vedtatt + to: publisert + label: Publiser punktet + - from: vedtatt + to: forkastet + label: Forkast punktet +- name: 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. + action: /styret + consequence: + - Bekreft + features: + - name: Nedbetalingsplaner + description: Hver rad er en plan med lånebeløp, avdrag og pengestrøm; knappene under sender den til banken eller merker svaret. + resource: + source: + kind: kv + bucket: nedbetalingsplaner + requires_group: styret + transitions: + - from: godkjent + to: sendt + label: Send til banken + - from: sendt + to: endringer + label: Be om endringer + - from: sendt + to: innvilget + label: Merk som innvilget +- name: 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. + action: /styret + consequence: + - Bekreft + features: + - name: Overslag + description: Hver rad er et overslag med beløp og hva det dekker; knappene under godkjenner eller avviser det. + resource: + source: + kind: kv + bucket: overslag + requires_group: styret + transitions: + - from: open + to: godkjent + label: Godkjenn overslaget + - from: open + to: avvist + label: Avvis overslaget +- name: Send kvartalsrapporten til aksjonærene og banken + description: Samle tallene for kvartalet, og send rapporten videre når den er klar. + action: /styret + consequence: + - Bekreft + features: + - name: Kvartalsrapporter + description: Hver rad er rapporten for ett kvartal, med leieinntekter, kostnader og saldo; knappen under sender den. + resource: + source: + kind: kv + bucket: rapporter + requires_group: styret + transitions: + - from: open + to: sendt + label: Send rapporten +- name: Vis ledige rom frem til studentene + description: Legg ut rommet som er blitt ledig, og merk det utleid når noen har flyttet inn. + action: /styret + consequence: + - Bekreft + features: + - name: Rom + description: Hver rad er et rom med bilde og beskrivelse; knappen under merker det utleid. + resource: + source: + kind: kv + bucket: rom + requires_group: styret + transitions: + - from: open + to: utleid + label: Merk som utleid +- name: 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. + action: /styret + consequence: + - Bekreft + features: + - name: Søknader om rom + description: Hver rad er en søknad fra en student, med studiested og ønsket innflytting; knappene under fører den videre eller avslår den. + resource: + source: + kind: kv + bucket: romsoknader + requires_group: styret + transitions: + - from: akseptert + to: signert + label: Merk som signert + - from: open + to: visning + label: Sett opp visning + - from: open + to: avslatt + label: Avslå søknaden + - from: tilbud + to: avslatt + label: Avslå søknaden + - from: visning + to: tilbud + label: Gi tilbud om rom + - from: visning + to: avslatt + label: Avslå søknaden +- name: Saker aksjonærene har meldt + description: Ta saker aksjonærene melder inn, sett dem på sakslisten, og vedta eller avvis dem. + action: /styret + consequence: + - Bekreft + features: + - name: Saker + description: 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. + resource: + source: + kind: kv + bucket: saker + requires_group: styret + transitions: + - from: open + to: sakslisten + label: Sett på sakslisten + - from: open + to: avvist + label: Avvis saken + - from: sakslisten + to: vedtatt + label: Vedta saken + - from: sakslisten + to: avvist + label: Avvis saken +- name: Bekreft ukene aksjonærene vil bruke huset + description: Se hvem som har meldt seg på en uke, og bekreft eller avslå den. + action: /styret + consequence: + - Bekreft + features: + - name: Ønskede uker + description: Hver rad er en uke en aksjonær har meldt seg på, med datoer og merknad; knappene under bekrefter eller avslår den. + resource: + source: + kind: kv + bucket: uker + requires_group: styret + transitions: + - from: open + to: bekreftet + label: Bekreft uken + - from: open + to: avslatt + label: Avslå uken +- name: Legg ut et rom som er blitt ledig + description: Skriv tittel, legg ved bilde og beskriv rommet, så studentene kan søke. + action: /styret/ledig-rom + consequence: + - Legg ut rom +- name: Legg til et nytt punkt på lista + description: Skriv hva som er bra, mangler eller planlagt, med pris og tid om du har det. + action: /styret/liste + consequence: + - Legg til punkt +- name: Lag kvartalets rapport + description: Fyll inn tallene for kvartalet, så aksjonærene og banken får det de skal ha. + action: /styret/rapport + consequence: + - Lag rapport +- name: Lag en ny nedbetalingsplan + description: Skriv lånebeløp, avdrag og pengestrøm, så banken har noe å ta stilling til. + action: /styret/nedbetalingsplan + consequence: + - Lag plan +- name: Registrer husleie for et rom + description: Før inn beløp og måned når husleia for et rom er kommet inn. + action: /styret/husleie + consequence: + - Registrer husleie +- name: Legg til et steg i eierskiftet + description: Beskriv steget og legg ved dokument, så aksjonærene ser fremgangen. + action: /styret/eierskifte + consequence: + - Legg til steg +- name: Gi en aksjonær tilgang til sin side + description: Send en invitasjon så aksjonæren får konto og engangslenke. + action: /styret + consequence: + - Send invitasjon + invite: + group: aksjonaerer + features: + - name: Inviter aksjonær + description: Ha navn, e-post og telefon klart. + requirements: + - name: name + label: Navn + - name: phone + label: Telefon + type: tel + - name: email + label: E-post + type: email + optional: true +- name: Gi Klingenberg Bygg tilgang til feilmeldinger + description: Send en invitasjon så de får konto og engangslenke. + action: /styret + consequence: + - Send invitasjon + invite: + group: klingenberg + features: + - name: Inviter Klingenberg Bygg + description: Ha navn, e-post og telefon klart. + requirements: + - name: name + label: Navn + - name: phone + label: Telefon + type: tel + - name: email + label: E-post + type: email + optional: true +- name: Gi en leietaker tilgang til sin side + description: Send en invitasjon så leietakeren får konto og engangslenke. + action: /styret + consequence: + - Send invitasjon + invite: + group: leietakere + features: + - name: Inviter leietaker + description: Ha navn, e-post og telefon klart. + requirements: + - name: name + label: Navn + - name: phone + label: Telefon + type: tel + - name: email + label: E-post + type: email + optional: true +- name: Gi et styremedlem tilgang til desken + description: Send en invitasjon så styremedlemmet får konto og engangslenke. + action: /styret + consequence: + - Send invitasjon + invite: + group: styret + features: + - name: Inviter styremedlem + description: Ha navn, e-post og telefon klart. + requirements: + - name: name + label: Navn + - name: phone + label: Telefon + type: tel + - name: email + label: E-post + type: email + optional: true +- name: 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. + action: /styret + consequence: + - Bekreft + features: + - name: Sendte invitasjoner + description: Hver rad er en invitasjon sendt til en person; knappene under trekker den tilbake eller sender den på nytt. + resource: + source: + kind: kv + bucket: portal_memberships + requires_group: styret + transitions: + - from: invited + to: removed + label: Trekk tilbake + - from: active + to: removed + label: Tatt i bruk + - from: removed + to: invited + label: Send på nytt +- name: Ta stilling til foreslåtte endringer + description: Se hva andre har foreslått å endre på sidene de har ansvar for. + action: /styret + consequence: + - Bekreft + features: + - name: Foreslåtte endringer + description: Hver rad er en foreslått endring; knappene under tar den til vurdering, godtar eller avslår den. + resource: + source: + kind: kv + bucket: portal_edit_suggestions + requires_group: styret + transitions: + - from: open + to: discussed + label: Tar en titt + - from: open + to: done + label: Endret + - from: open + to: declined + label: Avslått + - from: discussed + to: done + label: Endret + - from: discussed + to: declined + label: Avslått diff --git a/questions/styret/ledig-rom-sent.yaml b/questions/styret/ledig-rom-sent.yaml new file mode 100644 index 0000000..142c96a --- /dev/null +++ b/questions/styret/ledig-rom-sent.yaml @@ -0,0 +1,10 @@ +name: 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. +alternatives: +- name: Studenter kan søke på rommet nå + description: Søknader kommer inn etter hvert, og dere i styret ser dem sammen med de andre søknadene. +- name: Se alle rommene og status + description: Full oversikt over hvilke rom som er ledige og hvilke som er leid ut. + action: /status/rom + consequence: + - Se rommene diff --git a/questions/styret/ledig-rom.yaml b/questions/styret/ledig-rom.yaml new file mode 100644 index 0000000..52befd1 --- /dev/null +++ b/questions/styret/ledig-rom.yaml @@ -0,0 +1,39 @@ +followup: false +name: Hvilket rom er ledig nå? +description: Legg ut et rom som har blitt ledig, så studenter kan se det og søke. +responsible: + name: Styret i Gullberg + contact: bl@klingenbergbygg.no + group: styret +alternatives: +- name: 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. + action: /styret/ledig-rom-sent + consequence: + - Legg ut rommet + record_as: rom + features: + - name: Fra ledig til utleid + description: Rommet ligger ute til det er utleid. + icon: lucide:key + - name: Hvem ser dette + description: Studenter som søker rom ser dette, og styret kan nås på bl@klingenbergbygg.no i mellomtiden. + icon: lucide:users + - name: Om rommet + requirements: + - name: tittel + label: Tittel på rommet + type: text + placeholder: Rom i 2. etasje, mot gata + - name: bilde + label: Bilde av rommet + type: file + accept: image/jpeg,image/png,image/webp + - name: om + label: Om rommet + type: textarea + placeholder: Lyst rom med eget bad, nær kjøkken og felles stue. + description: Et bilde og en kort beskrivelse er nok til at studenter kan se seg om. + icon: lucide:key + encouragements: + - Så snart det er lagt ut, kan studenter melde seg på. diff --git a/questions/styret/liste-sent.yaml b/questions/styret/liste-sent.yaml new file mode 100644 index 0000000..8276a40 --- /dev/null +++ b/questions/styret/liste-sent.yaml @@ -0,0 +1,10 @@ +name: Hva skjer med punktet nå? +description: Forslaget ditt er lagret. Styret tar det opp til behandling. +alternatives: +- name: Styret vedtar eller forkaster punktet + description: Det blir stående til styret har tatt stilling, med pris og tid synlig for alle. +- name: Se hele lista + description: Alt som er meldt inn, vedtatt eller publisert ligger samlet. + action: /status/liste + consequence: + - Til lista diff --git a/questions/styret/liste.yaml b/questions/styret/liste.yaml new file mode 100644 index 0000000..f6bb614 --- /dev/null +++ b/questions/styret/liste.yaml @@ -0,0 +1,52 @@ +followup: false +name: Hva bør med på listen over huset og driften? +description: Punktene går inn på listen styret fører over det som er bra, det som mangler og det som er planlagt. +responsible: + name: Styret i Gullberg + contact: bl@klingenbergbygg.no + group: styret +alternatives: +- name: 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. + action: /styret/liste-sent + consequence: + - Legg til punkt + record_as: liste + features: + - name: Fra forslag til vedtak + description: Punktet legges inn, styret tar stilling til det og vedtar eller forkaster, og det som vedtas blir publisert på listen alle ser. + icon: lucide:check-circle + - name: Hvem ser listen + description: Styret fører og vedtar listen; ta kontakt på bl@klingenbergbygg.no om noe haster. + icon: lucide:users + - name: Nytt punkt på listen + requirements: + - name: tittel + label: Tittel + type: text + placeholder: Nytt kjøkken i andre etasje + - name: slag + label: Hva slags punkt + type: select + options: + - Kvalitet + - Mangel + - Plan + - name: beskrivelse + label: Beskrivelse + type: textarea + placeholder: Kjøkkenet er slitt og trenger nye hvitevarer og benkeplate. + - name: kostnad + label: Kostnad + type: text + optional: true + placeholder: ca. 45 000 kr + - name: naar + label: Når + type: text + optional: true + placeholder: Våren 2027 + description: Skriv kort hva det gjelder, og ta med pris og tid hvis dere har tall. + icon: lucide:list + encouragements: + - Det havner på listen med en gang, og dere kan vedta det senere. diff --git a/questions/styret/nedbetalingsplan-sent.yaml b/questions/styret/nedbetalingsplan-sent.yaml new file mode 100644 index 0000000..d86579c --- /dev/null +++ b/questions/styret/nedbetalingsplan-sent.yaml @@ -0,0 +1,5 @@ +name: 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. +alternatives: +- name: Følg svaret fra banken + description: Når banken svarer, oppdaterer dere planen med godkjent, innvilget eller endringer – så de andre aksjonærene ser hvor den står. diff --git a/questions/styret/nedbetalingsplan.yaml b/questions/styret/nedbetalingsplan.yaml new file mode 100644 index 0000000..9cb5f3f --- /dev/null +++ b/questions/styret/nedbetalingsplan.yaml @@ -0,0 +1,52 @@ +followup: false +name: Hvordan skal lånet betales ned, og står alle fire bak det? +description: Planen går til aksjonærene og banken, og viser hvordan lånet skal betales ned. +responsible: + name: Styret i Gullberg + contact: bl@klingenbergbygg.no + group: styret +alternatives: +- name: Nedbetalingsplanen alle fire står bak + description: Legg fram planen for lånet, så banken og aksjonærene vet hvordan det skal betales ned. + action: /styret/nedbetalingsplan-sent + consequence: + - Send plan + record_as: nedbetalingsplaner + features: + - name: Veien videre + 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. + icon: lucide:route + - name: Hvem ser den + description: Styret og aksjonærene ser planen; spørsmål før den er sendt går til styret på bl@klingenbergbygg.no. + icon: lucide:users + - name: Nedbetalingsplan + requirements: + - name: tittel + label: Tittel + type: text + placeholder: Nedbetalingsplan 2026 + - name: laanebelop + label: Lånebeløp + type: text + placeholder: 2 400 000 kr + - name: maanedlig-avdrag + label: Månedlig avdrag + type: text + placeholder: 18 000 kr + - name: forste-trekk + label: Første trekk + type: date + placeholder: 1. desember 2026 + - name: pengestrom + label: Hvordan pengene flyter + type: textarea + placeholder: Husleie dekker avdraget, timeshare går til vedlikehold, overskudd settes av til buffer + - name: dokument + label: Dokument + type: file + optional: true + placeholder: Last opp plan eller avtaleutkast + description: Ha lånebeløp, avdrag og når det første trekket kommer, klart. + icon: lucide:banknote + encouragements: + - Styret tar den videre til banken så snart alle fire har sagt ja. diff --git a/questions/styret/rapport-sent.yaml b/questions/styret/rapport-sent.yaml new file mode 100644 index 0000000..a6a92ed --- /dev/null +++ b/questions/styret/rapport-sent.yaml @@ -0,0 +1,5 @@ +name: Hvor går rapporten nå? +description: Den er sendt. Aksjonærene får tallene, og det som skal til banken går dit. +alternatives: +- name: Neste rapport venter til kvartalet er omme + description: Neste rapport legger styret inn når kvartalet er omme. diff --git a/questions/styret/rapport.yaml b/questions/styret/rapport.yaml new file mode 100644 index 0000000..5a82d79 --- /dev/null +++ b/questions/styret/rapport.yaml @@ -0,0 +1,60 @@ +followup: false +name: Hvordan gikk kvartalet, i tall? +description: Rapporten går til aksjonærene og banken, så de ser inntekter, kostnader og saldo for kvartalet. +responsible: + name: Styret i Gullberg + contact: bl@klingenbergbygg.no + group: styret +alternatives: +- name: 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. + action: /styret/rapport-sent + consequence: + - Send rapport + record_as: rapporter + features: + - name: Hva skjer videre + description: Rapporten sendes til aksjonærene og banken. Når den er ute, merkes den som sendt. + icon: lucide:send + - name: Hvem leser den + description: Styret står for rapportene; har du spørsmål underveis, ta kontakt på bl@klingenbergbygg.no. + icon: lucide:users + - name: Kvartalets tall + requirements: + - name: periode + label: Hvilket kvartal gjelder dette + type: text + placeholder: 3. kvartal 2026 + - name: leieinntekter + label: Leieinntekter + type: text + placeholder: 54 000 + - name: timeshare + label: Inntekter fra ukene + type: text + placeholder: 12 000 + - name: driftskostnader + label: Driftskostnader + type: text + placeholder: 18 500 + - name: renter-og-avdrag + label: Renter og avdrag til banken + type: text + placeholder: 22 000 + - name: saldo + label: Saldo ved kvartalets slutt + type: text + placeholder: 145 000 + - name: kommentar + label: Kommentar til tallene + type: textarea + placeholder: Ett rom stod tomt i juli, ellers som normalt + - name: dokument + label: Regnskapsdokument + type: file + optional: true + placeholder: kvartalsregnskap-q3-2026.pdf + description: Ha regnskapstallene for kvartalet klare før du fyller ut. + icon: lucide:file-text + encouragements: + - Så snart den er sendt, ligger den klar for aksjonærene og banken. diff --git a/site.yaml b/site.yaml new file mode 100644 index 0000000..3ec5762 --- /dev/null +++ b/site.yaml @@ -0,0 +1,22 @@ +title: GULLBERG sanatorium +wordmark: /site/images/wordmark.svg +wordmark_height: 3.2 +stylesheet: custom.css +favicon: images/favicon.svg +lang: no +mail: + from: Gullberg + reply_to: bl@klingenbergbygg.no + invite: + subject: Du er invitert til Gullberg + body: |- + Hei {name}, + + Du er invitert inn på Gullberg sin side, som {group}. + + Velg passord her før {expires}: + {link} + + Brukernavnet ditt er {username}. Etterpå logger du inn på {site}. + + Hilsen styret i Gullberg