runs: the football club with a sender, stage words and mails

The second Norwegian case: level with its earlier build on routing
inside the spread, desks 13 of 14 with outcomes in words, Norwegian
mails from Sonnet in one pass.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Bendik Aagaard Lynghaug
2026-09-24 08:28:26 +02:00
co-authored by Claude Fable 5.1
parent 1df710f32f
commit 6f2f7e271c
28 changed files with 2278 additions and 1 deletions
+8 -1
View File
@@ -5,6 +5,7 @@
business: Lia IL Fotball business: Lia IL Fotball
language: no language: no
contact: { name: Kari Lien, email: kari@liail.example } contact: { name: Kari Lien, email: kari@liail.example }
mail: { from: "Liail IL <post@liail.example>", reply_to: kari@liail.example }
about: > about: >
Fotballgruppa i et idrettslag på bygda. Rundt hundre og tjue unger Fotballgruppa i et idrettslag på bygda. Rundt hundre og tjue unger
fra seks til seksten år, fordelt på lag etter årskull, drevet av fra seks til seksten år, fordelt på lag etter årskull, drevet av
@@ -24,6 +25,8 @@ needs:
lands_in: innmeldinger lands_in: innmeldinger
handled_by: trenere handled_by: trenere
stages: [open, godkjent, betalt, trukket] stages: [open, godkjent, betalt, trukket]
stages_text: { open: "mottatt", godkjent: "godkjent av treneren", betalt: "betalt", trukket: "trukket" }
mails: { open: submitter, godkjent: submitter, betalt: submitter }
done_when: [betalt, trukket] done_when: [betalt, trukket]
success: [betalt] success: [betalt]
# Treneren godkjenner plassen, kassereren ser at det er betalt. # Treneren godkjenner plassen, kassereren ser at det er betalt.
@@ -35,7 +38,7 @@ needs:
- { name: fodselsar, type: select, options: ["2010", "2011", "2012", "2013", "2014", "2015", "2016", "2017", "2018", "2019", "2020"] } - { name: fodselsar, type: select, options: ["2010", "2011", "2012", "2013", "2014", "2015", "2016", "2017", "2018", "2019", "2020"] }
- { name: foresatt } - { name: foresatt }
- { name: telefon, type: tel } - { name: telefon, type: tel }
- { name: epost, type: email } - { name: email, type: email }
- { name: spilt_for, optional: true } - { name: spilt_for, optional: true }
- id: avgiftssak - id: avgiftssak
@@ -45,6 +48,7 @@ needs:
lands_in: avgiftssaker lands_in: avgiftssaker
handled_by: styret handled_by: styret
stages: [open, vurdert, innvilget, avslatt] stages: [open, vurdert, innvilget, avslatt]
stages_text: { open: "mottatt", vurdert: "vurdert", innvilget: "innvilget", avslatt: "avslått" }
done_when: [innvilget, avslatt] done_when: [innvilget, avslatt]
success: [innvilget] success: [innvilget]
max_fields: 3 max_fields: 3
@@ -61,6 +65,7 @@ needs:
lands_in: frivillige lands_in: frivillige
handled_by: styret handled_by: styret
stages: [open, kontaktet, plassert, avslatt] stages: [open, kontaktet, plassert, avslatt]
stages_text: { open: "mottatt", kontaktet: "kontaktet", plassert: "satt opp", avslatt: "takket nei" }
done_when: [plassert, avslatt] done_when: [plassert, avslatt]
success: [plassert] success: [plassert]
max_fields: 3 max_fields: 3
@@ -76,6 +81,7 @@ needs:
lands_in: sponsorer lands_in: sponsorer
handled_by: styret handled_by: styret
stages: [open, i_dialog, avtalt, avslatt] stages: [open, i_dialog, avtalt, avslatt]
stages_text: { open: "mottatt", i_dialog: "i dialog", avtalt: "avtalt", avslatt: "avslått" }
done_when: [avtalt, avslatt] done_when: [avtalt, avslatt]
success: [avtalt] success: [avtalt]
max_fields: 3 max_fields: 3
@@ -92,6 +98,7 @@ needs:
lands_in: baneproblemer lands_in: baneproblemer
handled_by: styret handled_by: styret
stages: [open, tatt_tak_i, ordnet] stages: [open, tatt_tak_i, ordnet]
stages_text: { open: "mottatt", tatt_tak_i: "tatt tak i", ordnet: "ordnet" }
done_when: [ordnet] done_when: [ordnet]
success: [ordnet] success: [ordnet]
max_fields: 2 max_fields: 2
+22
View File
@@ -0,0 +1,22 @@
# Liail IL, the football club, with this week's keys, 2026-09-24
The Norwegian football club plan given what the vel got: a sender,
`stages_text` on every need, and mails to the household on the three
stages of an enrolment; the email field renamed to `email` so the
mails can go to it. Words by Sonnet in one pass, in Norwegian (the
language guard raised nothing), iris green.
| Score | Result |
|---|---|
| Routing with descriptions, seeds 0, 1, 2 | 14, 11, 13 of 16 |
| Same plan, 2026-09-22, Sonnet words, one seed | 13 of 16 |
| Desks (buttons a row shows, outcome in words) | 13 of 14 |
| Mails, LIX | 30 to 39, easy; 33 to 40 words |
Level with the earlier build inside a spread of three, which on
sixteen tasks is the noise floor. The one desk miss is a rejection
from `open` read as "contacted". The mails are on the long side for
a club; a `--llm-for aggregates.yaml` pass asking for shorter would
be the next thing to try, and the second Norwegian site where every
Norwegian-specific fix of the last day held: stage words in the desk
score, Norwegian mails, the language guard.
@@ -0,0 +1,16 @@
{"choice":"Få barnet ditt med på laget","confidence":0.95,"id":"ny-i-bygda@/"}
{"choice":"Meld ungen din på laget","confidence":0.95,"id":"ny-i-bygda@/foresatte"}
{"choice":"Få barnet ditt med på laget","confidence":0.95,"id":"tvillinger@/"}
{"choice":"Meld ungen din på laget","confidence":0.95,"id":"tvillinger@/foresatte"}
{"choice":"Få barnet ditt med på laget","confidence":0.95,"id":"alenefar@/"}
{"choice":"Få hjelp med treningsavgiften","confidence":0.95,"id":"alenefar@/foresatte"}
{"choice":"Få barnet ditt med på laget","confidence":0.95,"id":"permittert@/"}
{"choice":"Få hjelp med treningsavgiften","confidence":0.95,"id":"permittert@/foresatte"}
{"choice":"Hjelp til eller støtt klubben","confidence":0.85,"id":"pensjonist@/"}
{"choice":"Bidra med det du kan","confidence":0.95,"id":"pensjonist@/bidra"}
{"choice":"Få barnet ditt med på laget","confidence":0.95,"id":"stor-bil@/"}
{"choice":"Bidra med det du kan","confidence":0.95,"id":"stor-bil@/bidra"}
{"choice":"Hjelp til eller støtt klubben","confidence":0.85,"id":"rorlegger@/"}
{"choice":"Støtt fotballen på bygda","confidence":0.95,"id":"rorlegger@/bidra"}
{"choice":"Hjelp til eller støtt klubben","confidence":0.95,"id":"kafeen@/"}
{"choice":"Bidra med det du kan","confidence":0.95,"id":"kafeen@/bidra"}
@@ -0,0 +1,16 @@
{"choice":"Få barnet ditt med på laget","confidence":0.95,"id":"ny-i-bygda@/"}
{"choice":"Meld ungen din på laget","confidence":0.95,"id":"ny-i-bygda@/foresatte"}
{"choice":"Få barnet ditt med på laget","confidence":0.95,"id":"tvillinger@/"}
{"choice":"Få hjelp med treningsavgiften","confidence":0.95,"id":"tvillinger@/foresatte"}
{"choice":"Få barnet ditt med på laget","confidence":0.95,"id":"alenefar@/"}
{"choice":"Få hjelp med treningsavgiften","confidence":0.95,"id":"alenefar@/foresatte"}
{"choice":"Få barnet ditt med på laget","confidence":0.85,"id":"permittert@/"}
{"choice":"Få hjelp med treningsavgiften","confidence":0.85,"id":"permittert@/foresatte"}
{"choice":"Få barnet ditt med på laget","confidence":0.95,"id":"pensjonist@/"}
{"choice":"Bidra med det du kan","confidence":0.85,"id":"pensjonist@/bidra"}
{"choice":"Få barnet ditt med på laget","confidence":0.95,"id":"stor-bil@/"}
{"choice":"Bidra med det du kan","confidence":0.95,"id":"stor-bil@/bidra"}
{"choice":"Få barnet ditt med på laget","confidence":0.95,"id":"rorlegger@/"}
{"choice":"Støtt fotballen på bygda","confidence":0.95,"id":"rorlegger@/bidra"}
{"choice":"Hjelp til eller støtt klubben","confidence":0.85,"id":"kafeen@/"}
{"choice":"Bidra med det du kan","confidence":0.95,"id":"kafeen@/bidra"}
@@ -0,0 +1,16 @@
{"choice":"Få barnet ditt med på laget","confidence":0.95,"id":"ny-i-bygda@/"}
{"choice":"Meld ungen din på laget","confidence":0.95,"id":"ny-i-bygda@/foresatte"}
{"choice":"Få barnet ditt med på laget","confidence":0.95,"id":"tvillinger@/"}
{"choice":"Få hjelp med treningsavgiften","confidence":0.95,"id":"tvillinger@/foresatte"}
{"choice":"Få barnet ditt med på laget","confidence":0.95,"id":"alenefar@/"}
{"choice":"Få hjelp med treningsavgiften","confidence":0.95,"id":"alenefar@/foresatte"}
{"choice":"Få barnet ditt med på laget","confidence":0.95,"id":"permittert@/"}
{"choice":"Få hjelp med treningsavgiften","confidence":0.85,"id":"permittert@/foresatte"}
{"choice":"Hjelp til eller støtt klubben","confidence":0.85,"id":"pensjonist@/"}
{"choice":"Bidra med det du kan","confidence":0.95,"id":"pensjonist@/bidra"}
{"choice":"Hjelp til eller støtt klubben","confidence":0.85,"id":"stor-bil@/"}
{"choice":"Bidra med det du kan","confidence":0.95,"id":"stor-bil@/bidra"}
{"choice":"Få barnet ditt med på laget","confidence":0.95,"id":"rorlegger@/"}
{"choice":"Støtt fotballen på bygda","confidence":0.95,"id":"rorlegger@/bidra"}
{"choice":"Hjelp til eller støtt klubben","confidence":0.95,"id":"kafeen@/"}
{"choice":"Bidra med det du kan","confidence":0.95,"id":"kafeen@/bidra"}
+702
View File
@@ -0,0 +1,702 @@
{
"needs": [
{
"id": "innmelding",
"who": "en forelder som vil ha ungen med på et lag",
"wants": "at barnet får plass på laget for sitt årskull",
"enters_as": null,
"lands_in": "innmeldinger",
"handled_by": "trenere",
"done_when": [
"betalt",
"trukket"
],
"success": [
"betalt"
],
"steps": [
{
"page": "/",
"question": "Hva vil du gjøre hos oss?",
"context": "Fotball for ungene i bygda: Rundt hundre og tjue unger fra seks til seksten år spiller fotball hos oss, fordelt på lag etter årskull. Få hjelp med treningsavgiften: Sliter du med treningsavgiften, kan vi se på en avtale. Meld barnet på et lag: Meld ungen på laget for sitt årskull.",
"options": [
{
"name": "Få barnet ditt med på laget",
"description": "Meld på ungen, spør om treningsavgiften, eller si fra om noe på banen."
},
{
"name": "Hjelp til eller støtt klubben",
"description": "Vi trenger trenere, lagledere, sjåfører og folk på dugnad – og bedrifter som vil støtte laget."
}
],
"expect": [
"Få barnet ditt med på laget"
],
"alternative": "Få barnet ditt med på laget",
"fields": []
},
{
"page": "/foresatte",
"question": "Vil du melde på ungen din, eller trenger dere hjelp med avgiften?",
"context": "",
"options": [
{
"name": "Meld ungen din på laget",
"description": "Meld ungen din på laget for sitt årskull, så tar trenerne det derfra."
},
{
"name": "Få hjelp med treningsavgiften",
"description": "Vi finner en løsning sammen, enten det er å dele opp betalingen eller søke om støtte. Ingen unger skal stå utenfor på grunn av avgiften."
}
],
"expect": [
"Meld ungen din på laget"
],
"alternative": "Meld ungen din på laget",
"fields": [
{
"name": "barnets_navn",
"label": "Barnets navn",
"type": "text",
"optional": false,
"options": []
},
{
"name": "fodselsar",
"label": "Fødselsår",
"type": "select",
"optional": false,
"options": [
"2010",
"2011",
"2012",
"2013",
"2014",
"2015",
"2016",
"2017",
"2018",
"2019",
"2020"
]
},
{
"name": "foresatt",
"label": "Ditt navn",
"type": "text",
"optional": false,
"options": []
},
{
"name": "telefon",
"label": "Telefon",
"type": "tel",
"optional": false,
"options": []
},
{
"name": "email",
"label": "E-post",
"type": "email",
"optional": false,
"options": []
},
{
"name": "spilt_for",
"label": "Spilt for tidligere",
"type": "text",
"optional": true,
"options": []
}
]
}
]
},
{
"id": "avgiftssak",
"who": "en forelder som sliter med treningsavgiften",
"wants": "å dele den opp, eller slippe den",
"enters_as": null,
"lands_in": "avgiftssaker",
"handled_by": "styret",
"done_when": [
"innvilget",
"avslatt"
],
"success": [
"innvilget"
],
"steps": [
{
"page": "/",
"question": "Hva vil du gjøre hos oss?",
"context": "Fotball for ungene i bygda: Rundt hundre og tjue unger fra seks til seksten år spiller fotball hos oss, fordelt på lag etter årskull. Få hjelp med treningsavgiften: Sliter du med treningsavgiften, kan vi se på en avtale. Meld barnet på et lag: Meld ungen på laget for sitt årskull.",
"options": [
{
"name": "Få barnet ditt med på laget",
"description": "Meld på ungen, spør om treningsavgiften, eller si fra om noe på banen."
},
{
"name": "Hjelp til eller støtt klubben",
"description": "Vi trenger trenere, lagledere, sjåfører og folk på dugnad – og bedrifter som vil støtte laget."
}
],
"expect": [
"Få barnet ditt med på laget"
],
"alternative": "Få barnet ditt med på laget",
"fields": []
},
{
"page": "/foresatte",
"question": "Vil du melde på ungen din, eller trenger dere hjelp med avgiften?",
"context": "",
"options": [
{
"name": "Meld ungen din på laget",
"description": "Meld ungen din på laget for sitt årskull, så tar trenerne det derfra."
},
{
"name": "Få hjelp med treningsavgiften",
"description": "Vi finner en løsning sammen, enten det er å dele opp betalingen eller søke om støtte. Ingen unger skal stå utenfor på grunn av avgiften."
}
],
"expect": [
"Få hjelp med treningsavgiften"
],
"alternative": "Få hjelp med treningsavgiften",
"fields": [
{
"name": "barnets_navn",
"label": "Barnets navn",
"type": "text",
"optional": false,
"options": []
},
{
"name": "foresatt",
"label": "Ditt navn",
"type": "text",
"optional": false,
"options": []
},
{
"name": "hva_gjelder_det",
"label": "Hva gjelder det",
"type": "textarea",
"optional": false,
"options": []
},
{
"name": "telefon",
"label": "Telefon",
"type": "tel",
"optional": true,
"options": []
}
]
}
]
},
{
"id": "frivillig",
"who": "en som vil hjelpe til, som trener, lagleder, sjåfør eller på dugnad",
"wants": "å bli brukt der det trengs",
"enters_as": null,
"lands_in": "frivillige",
"handled_by": "styret",
"done_when": [
"plassert",
"avslatt"
],
"success": [
"plassert"
],
"steps": [
{
"page": "/",
"question": "Hva vil du gjøre hos oss?",
"context": "Fotball for ungene i bygda: Rundt hundre og tjue unger fra seks til seksten år spiller fotball hos oss, fordelt på lag etter årskull. Få hjelp med treningsavgiften: Sliter du med treningsavgiften, kan vi se på en avtale. Meld barnet på et lag: Meld ungen på laget for sitt årskull.",
"options": [
{
"name": "Få barnet ditt med på laget",
"description": "Meld på ungen, spør om treningsavgiften, eller si fra om noe på banen."
},
{
"name": "Hjelp til eller støtt klubben",
"description": "Vi trenger trenere, lagledere, sjåfører og folk på dugnad – og bedrifter som vil støtte laget."
}
],
"expect": [
"Hjelp til eller støtt klubben"
],
"alternative": "Hjelp til eller støtt klubben",
"fields": []
},
{
"page": "/bidra",
"question": "Vil du hjelpe til eller støtte klubben?",
"context": "",
"options": [
{
"name": "Bidra med det du kan",
"description": "Trenere, lagledere, sjåfører og folk på dugnad - vi trenger alltid flere hender."
},
{
"name": "Støtt fotballen på bygda",
"description": "Er du fra en bedrift i bygda som vil støtte fotballgruppa? Vi tar gjerne en prat om hva dere kan bidra med."
}
],
"expect": [
"Bidra med det du kan"
],
"alternative": "Bidra med det du kan",
"fields": [
{
"name": "navn",
"label": "Navn",
"type": "text",
"optional": false,
"options": []
},
{
"name": "telefon",
"label": "Telefon",
"type": "tel",
"optional": false,
"options": []
},
{
"name": "hva_kan_du",
"label": "Hva kan du bidra med?",
"type": "select",
"optional": false,
"options": [
"Trene et lag",
"Være lagleder",
"Kjøre til kamper",
"Dugnad",
"Annet"
]
}
]
}
]
},
{
"id": "sponsor",
"who": "en bedrift i bygda som vil støtte klubben",
"wants": "en prat om hva de kan bidra med, og en avtale",
"enters_as": null,
"lands_in": "sponsorer",
"handled_by": "styret",
"done_when": [
"avtalt",
"avslatt"
],
"success": [
"avtalt"
],
"steps": [
{
"page": "/",
"question": "Hva vil du gjøre hos oss?",
"context": "Fotball for ungene i bygda: Rundt hundre og tjue unger fra seks til seksten år spiller fotball hos oss, fordelt på lag etter årskull. Få hjelp med treningsavgiften: Sliter du med treningsavgiften, kan vi se på en avtale. Meld barnet på et lag: Meld ungen på laget for sitt årskull.",
"options": [
{
"name": "Få barnet ditt med på laget",
"description": "Meld på ungen, spør om treningsavgiften, eller si fra om noe på banen."
},
{
"name": "Hjelp til eller støtt klubben",
"description": "Vi trenger trenere, lagledere, sjåfører og folk på dugnad – og bedrifter som vil støtte laget."
}
],
"expect": [
"Hjelp til eller støtt klubben"
],
"alternative": "Hjelp til eller støtt klubben",
"fields": []
},
{
"page": "/bidra",
"question": "Vil du hjelpe til eller støtte klubben?",
"context": "",
"options": [
{
"name": "Bidra med det du kan",
"description": "Trenere, lagledere, sjåfører og folk på dugnad - vi trenger alltid flere hender."
},
{
"name": "Støtt fotballen på bygda",
"description": "Er du fra en bedrift i bygda som vil støtte fotballgruppa? Vi tar gjerne en prat om hva dere kan bidra med."
}
],
"expect": [
"Støtt fotballen på bygda"
],
"alternative": "Støtt fotballen på bygda",
"fields": [
{
"name": "bedrift",
"label": "Bedrift",
"type": "text",
"optional": false,
"options": []
},
{
"name": "kontaktperson",
"label": "Kontaktperson",
"type": "text",
"optional": false,
"options": []
},
{
"name": "telefon",
"label": "Telefon",
"type": "tel",
"optional": false,
"options": []
},
{
"name": "hva_tenker_dere",
"label": "Hva tenker dere å bidra med?",
"type": "textarea",
"optional": true,
"options": []
}
]
}
]
},
{
"id": "baneproblem",
"who": "en trener som ser at noe på anlegget ikke er i orden",
"wants": "at styret får vite det og ordner det",
"enters_as": "trenere",
"lands_in": "baneproblemer",
"handled_by": "styret",
"done_when": [
"ordnet"
],
"success": [
"ordnet"
],
"steps": [
{
"page": "/trenere/baneproblem",
"question": "Har du sett noe på anlegget som bør ordnes?",
"context": "",
"options": [
{
"name": "Meld fra om noe som ikke er i orden",
"description": "Ser du noe på banen eller anlegget som ikke er i orden? Gi beskjed til styret, så tar de tak i det."
}
],
"expect": [
"Meld fra om noe som ikke er i orden"
],
"alternative": "Meld fra om noe som ikke er i orden",
"fields": [
{
"name": "hvor",
"label": "Hvor på anlegget?",
"type": "text",
"optional": false,
"options": []
},
{
"name": "hva",
"label": "Hva gjelder det?",
"type": "textarea",
"optional": false,
"options": []
}
]
}
]
}
],
"buckets": {
"innmeldinger": {
"initial": "open",
"transitions": {
"godkjent": [
"betalt",
"trukket"
],
"open": [
"godkjent",
"trukket"
]
},
"words": {
"betalt": "betalt",
"godkjent": "godkjent av treneren",
"open": "mottatt",
"trukket": "trukket"
},
"desks": [
{
"page": "/kasserer",
"group": "kasserer",
"moves": [
{
"from": "godkjent",
"to": "betalt",
"label": "Merk som betalt"
}
]
},
{
"page": "/trenere",
"group": "trenere",
"moves": [
{
"from": "godkjent",
"to": "trukket",
"label": "Trekk påmeldingen"
},
{
"from": "open",
"to": "godkjent",
"label": "Godkjenn plass"
},
{
"from": "open",
"to": "trukket",
"label": "Avvis påmeldingen"
}
]
}
],
"self_moves": []
},
"avgiftssaker": {
"initial": "open",
"transitions": {
"vurdert": [
"innvilget",
"avslatt"
],
"open": [
"vurdert",
"avslatt"
]
},
"words": {
"avslatt": "avslått",
"innvilget": "innvilget",
"open": "mottatt",
"vurdert": "vurdert"
},
"desks": [
{
"page": "/styret",
"group": "styret",
"moves": [
{
"from": "open",
"to": "vurdert",
"label": "Merk som vurdert"
},
{
"from": "open",
"to": "avslatt",
"label": "Avslå søknaden"
},
{
"from": "vurdert",
"to": "innvilget",
"label": "Innvilg søknaden"
},
{
"from": "vurdert",
"to": "avslatt",
"label": "Avslå søknaden"
}
]
}
],
"self_moves": []
},
"frivillige": {
"initial": "open",
"transitions": {
"kontaktet": [
"plassert",
"avslatt"
],
"open": [
"kontaktet",
"avslatt"
]
},
"words": {
"avslatt": "takket nei",
"kontaktet": "kontaktet",
"open": "mottatt",
"plassert": "satt opp"
},
"desks": [
{
"page": "/styret",
"group": "styret",
"moves": [
{
"from": "kontaktet",
"to": "plassert",
"label": "Merk som plassert"
},
{
"from": "kontaktet",
"to": "avslatt",
"label": "Avslå henvendelsen"
},
{
"from": "open",
"to": "kontaktet",
"label": "Merk som kontaktet"
},
{
"from": "open",
"to": "avslatt",
"label": "Avslå henvendelsen"
}
]
}
],
"self_moves": []
},
"sponsorer": {
"initial": "open",
"transitions": {
"open": [
"i_dialog",
"avslatt"
],
"i_dialog": [
"avtalt",
"avslatt"
]
},
"words": {
"avslatt": "avslått",
"avtalt": "avtalt",
"i_dialog": "i dialog",
"open": "mottatt"
},
"desks": [
{
"page": "/styret",
"group": "styret",
"moves": [
{
"from": "i_dialog",
"to": "avtalt",
"label": "Merk som avtalt"
},
{
"from": "i_dialog",
"to": "avslatt",
"label": "Avslå henvendelsen"
},
{
"from": "open",
"to": "i_dialog",
"label": "Start dialog"
},
{
"from": "open",
"to": "avslatt",
"label": "Avslå henvendelsen"
}
]
}
],
"self_moves": []
},
"baneproblemer": {
"initial": "open",
"transitions": {
"open": [
"tatt_tak_i"
],
"tatt_tak_i": [
"ordnet"
]
},
"words": {
"open": "mottatt",
"ordnet": "ordnet",
"tatt_tak_i": "tatt tak i"
},
"desks": [
{
"page": "/styret",
"group": "styret",
"moves": [
{
"from": "open",
"to": "tatt_tak_i",
"label": "Ta tak i saken"
},
{
"from": "tatt_tak_i",
"to": "ordnet",
"label": "Merk som ordnet"
}
]
}
],
"self_moves": []
}
},
"personas": [
{
"id": "ny-i-bygda",
"need": "innmelding",
"text": "Vi flyttet hit i sommer og sønnen vår på ni har spilt fotball før. Hvordan får vi ham med på et lag her?"
},
{
"id": "tvillinger",
"need": "innmelding",
"text": "Jeg har tvillingjenter på sju som maser om å begynne. Er det plass, og hva koster det?"
},
{
"id": "alenefar",
"need": "avgiftssak",
"text": "Jeg er alene med tre unger og treningsavgiften for alle tre blir for mye på en gang. Går det an å dele den opp?"
},
{
"id": "permittert",
"need": "avgiftssak",
"text": "Jeg ble permittert i vinter. Kan dattera mi fortsette å spille selv om vi ikke klarer avgiften akkurat nå?"
},
{
"id": "pensjonist",
"need": "frivillig",
"text": "Jeg er pensjonert og spilte selv i mange år. Har dere bruk for en som kan ta de minste et par kvelder i uka?"
},
{
"id": "stor-bil",
"need": "frivillig",
"text": "Jeg kan ikke trene noen, men jeg har stor bil og kan kjøre til bortekamper."
},
{
"id": "rorlegger",
"need": "sponsor",
"text": "Jeg driver rørleggerfirma her i bygda og vil gjerne ha logoen vår på draktene til et lag. Hvem snakker jeg med?"
},
{
"id": "kafeen",
"need": "sponsor",
"text": "Vi har kafé i sentrum og kan bidra med noe til cupen i mai, kanskje vafler eller litt penger."
},
{
"id": "lyset-slukker",
"need": "baneproblem",
"text": "Lyset på kunstgresset slår seg av halv åtte og vi trener til åtte. Ungene løper i mørket."
}
]
}
@@ -0,0 +1,259 @@
{
"avgiftssak": {
"pages": [
{
"control": {
"asked": 0,
"next": null,
"where": 0,
"which": 0
},
"control_ok": true,
"followup_shown": false,
"lix": 28.98039215686275,
"options": 2,
"overloaded": false,
"page": "/",
"personas": 2,
"required_fields": 0,
"understanding": {
"asked": 2,
"next": null,
"where": 2,
"which": 2
}
},
{
"control": {
"asked": 0,
"next": 0,
"where": 1,
"which": 0
},
"control_ok": false,
"followup_shown": true,
"lix": 29.669950738916256,
"options": 2,
"overloaded": false,
"page": "/foresatte",
"personas": 2,
"required_fields": 3,
"understanding": {
"asked": 2,
"next": 2,
"where": 2,
"which": 1
}
}
],
"steps": 2
},
"baneproblem": {
"pages": [
{
"control": {
"asked": 0,
"next": 0,
"where": 0,
"which": 0
},
"control_ok": true,
"followup_shown": true,
"lix": 20.090909090909093,
"options": 1,
"overloaded": false,
"page": "/trenere/baneproblem",
"personas": 1,
"required_fields": 2,
"understanding": {
"asked": 1,
"next": 1,
"where": 1,
"which": 1
}
}
],
"steps": 1
},
"desk /styret avgiftssaker": {
"mistaken": [],
"of": 4,
"right": 4
},
"desk /styret frivillige": {
"mistaken": [
"open>avslatt as \"Merk som kontaktet\""
],
"of": 4,
"right": 3
},
"desk /styret sponsorer": {
"mistaken": [],
"of": 4,
"right": 4
},
"desk /trenere innmeldinger": {
"mistaken": [],
"of": 2,
"right": 2
},
"frivillig": {
"pages": [
{
"control": {
"asked": 0,
"next": null,
"where": 0,
"which": 0
},
"control_ok": true,
"followup_shown": false,
"lix": 28.98039215686275,
"options": 2,
"overloaded": false,
"page": "/",
"personas": 2,
"required_fields": 0,
"understanding": {
"asked": 2,
"next": null,
"where": 2,
"which": 2
}
},
{
"control": {
"asked": 0,
"next": 0,
"where": 2,
"which": 0
},
"control_ok": false,
"followup_shown": true,
"lix": 29.606653620352247,
"options": 2,
"overloaded": false,
"page": "/bidra",
"personas": 2,
"required_fields": 3,
"understanding": {
"asked": 2,
"next": 2,
"where": 2,
"which": 2
}
}
],
"steps": 2
},
"innmelding": {
"pages": [
{
"control": {
"asked": 0,
"next": null,
"where": 1,
"which": 0
},
"control_ok": false,
"followup_shown": false,
"lix": 28.98039215686275,
"options": 2,
"overloaded": false,
"page": "/",
"personas": 2,
"required_fields": 0,
"understanding": {
"asked": 2,
"next": null,
"where": 2,
"which": 2
}
},
{
"control": {
"asked": 0,
"next": 0,
"where": 1,
"which": 0
},
"control_ok": false,
"followup_shown": true,
"lix": 31.454545454545453,
"options": 2,
"overloaded": false,
"page": "/foresatte",
"personas": 2,
"required_fields": 5,
"understanding": {
"asked": 2,
"next": 2,
"where": 2,
"which": 2
}
}
],
"steps": 2
},
"mail innmeldinger:betalt": {
"lix": 30.017543859649123,
"words": 40
},
"mail innmeldinger:godkjent": {
"lix": 39.333333333333336,
"words": 37
},
"mail innmeldinger:open": {
"lix": 31.4,
"words": 33
},
"sponsor": {
"pages": [
{
"control": {
"asked": 0,
"next": null,
"where": 0,
"which": 0
},
"control_ok": true,
"followup_shown": false,
"lix": 28.98039215686275,
"options": 2,
"overloaded": false,
"page": "/",
"personas": 2,
"required_fields": 0,
"understanding": {
"asked": 2,
"next": null,
"where": 2,
"which": 2
}
},
{
"control": {
"asked": 0,
"next": 0,
"where": 1,
"which": 0
},
"control_ok": false,
"followup_shown": true,
"lix": 26.20779220779221,
"options": 2,
"overloaded": false,
"page": "/bidra",
"personas": 2,
"required_fields": 3,
"understanding": {
"asked": 2,
"next": 2,
"where": 2,
"which": 2
}
}
],
"steps": 2
}
}
@@ -0,0 +1,118 @@
aggregates:
- bucket: avgiftssaker
initial: open
states:
avslatt:
event: avslatt
innvilget:
event: innvilget
open:
event: received
vurdert:
event: vurdert
transitions:
open:
- vurdert
- avslatt
vurdert:
- innvilget
- avslatt
- bucket: baneproblemer
initial: open
states:
open:
event: received
ordnet:
event: ordnet
tatt_tak_i:
event: tatt_tak_i
transitions:
open:
- tatt_tak_i
tatt_tak_i:
- ordnet
- bucket: frivillige
initial: open
states:
avslatt:
event: avslatt
kontaktet:
event: kontaktet
open:
event: received
plassert:
event: plassert
transitions:
kontaktet:
- plassert
- avslatt
open:
- kontaktet
- avslatt
- bucket: innmeldinger
initial: open
states:
betalt:
event: betalt
mail:
body: |-
Hei!
Vi har mottatt betalingen for {chain}. Da er alt i orden, og barnet er klart for sesongen.
Takk for at dere er med i Lia IL Fotball!
Hilsen Lia IL Fotball
subject: Betaling mottatt - velkommen til Lia IL Fotball
to: submitter
godkjent:
event: godkjent
mail:
body: |-
Hei!
Barnet er godkjent på laget for sitt årskull. Nå gjenstår kun betaling av treningsavgiften, så er plassen sikret.
Dere hører fra trenerne om oppstart og praktiske detaljer.
Hilsen Lia IL Fotball
subject: Godkjent - klar for laget
to: submitter
open:
event: received
mail:
body: |-
Hei!
Vi har mottatt påmeldingen for {chain}. Trenerne ser på den og gir beskjed så snart barnet har fått plass på laget for sitt årskull.
Hilsen Lia IL Fotball
subject: Vi har mottatt påmeldingen
to: submitter
trukket:
event: trukket
transitions:
godkjent:
- betalt
- trukket
open:
- godkjent
- trukket
- bucket: sponsorer
initial: open
states:
avslatt:
event: avslatt
avtalt:
event: avtalt
i_dialog:
event: i_dialog
open:
event: received
transitions:
i_dialog:
- avtalt
- avslatt
open:
- i_dialog
- avslatt
@@ -0,0 +1,149 @@
needs:
- also_moved_by:
- kasserer
done_when:
- betalt
- trukket
enters: /
handled_by: trenere
id: innmelding
lands_in: innmeldinger
max_fields: 5
max_steps: 2
stage_words:
betalt: betalt
godkjent: godkjent av treneren
open: mottatt
trukket: trukket
stages:
- open
- godkjent
- betalt
- trukket
success:
- betalt
via: Få barnet ditt med på laget
wants: at barnet får plass på laget for sitt årskull
who: en forelder som vil ha ungen med på et lag
- done_when:
- innvilget
- avslatt
enters: /
handled_by: styret
id: avgiftssak
lands_in: avgiftssaker
max_fields: 3
max_steps: 2
stage_words:
avslatt: avslått
innvilget: innvilget
open: mottatt
vurdert: vurdert
stages:
- open
- vurdert
- innvilget
- avslatt
success:
- innvilget
via: Få barnet ditt med på laget
wants: å dele den opp, eller slippe den
who: en forelder som sliter med treningsavgiften
- done_when:
- plassert
- avslatt
enters: /
handled_by: styret
id: frivillig
lands_in: frivillige
max_fields: 3
max_steps: 2
stage_words:
avslatt: takket nei
kontaktet: kontaktet
open: mottatt
plassert: satt opp
stages:
- open
- kontaktet
- plassert
- avslatt
success:
- plassert
via: Hjelp til eller støtt klubben
wants: å bli brukt der det trengs
who: en som vil hjelpe til, som trener, lagleder, sjåfør eller på dugnad
- done_when:
- avtalt
- avslatt
enters: /
handled_by: styret
id: sponsor
lands_in: sponsorer
max_fields: 3
max_steps: 2
stage_words:
avslatt: avslått
avtalt: avtalt
i_dialog: i dialog
open: mottatt
stages:
- open
- i_dialog
- avtalt
- avslatt
success:
- avtalt
via: Hjelp til eller støtt klubben
wants: en prat om hva de kan bidra med, og en avtale
who: en bedrift i bygda som vil støtte klubben
- done_when:
- ordnet
enters: /trenere/baneproblem
enters_as: trenere
handled_by: styret
id: baneproblem
lands_in: baneproblemer
max_fields: 2
max_steps: 1
stage_words:
open: mottatt
ordnet: ordnet
tatt_tak_i: tatt tak i
stages:
- open
- tatt_tak_i
- ordnet
success:
- ordnet
via: Meld fra om noe som ikke er i orden
wants: at styret får vite det og ordner det
who: en trener som ser at noe på anlegget ikke er i orden
personas:
- id: ny-i-bygda
need: innmelding
text: Vi flyttet hit i sommer og sønnen vår på ni har spilt fotball før. Hvordan får vi ham med på et lag her?
- id: tvillinger
need: innmelding
text: Jeg har tvillingjenter på sju som maser om å begynne. Er det plass, og hva koster det?
- id: alenefar
need: avgiftssak
text: Jeg er alene med tre unger og treningsavgiften for alle tre blir for mye på en gang. Går det an å dele den opp?
- id: permittert
need: avgiftssak
text: Jeg ble permittert i vinter. Kan dattera mi fortsette å spille selv om vi ikke klarer avgiften akkurat nå?
- id: pensjonist
need: frivillig
text: Jeg er pensjonert og spilte selv i mange år. Har dere bruk for en som kan ta de minste et par kvelder i uka?
- id: stor-bil
need: frivillig
text: Jeg kan ikke trene noen, men jeg har stor bil og kan kjøre til bortekamper.
- id: rorlegger
need: sponsor
text: Jeg driver rørleggerfirma her i bygda og vil gjerne ha logoen vår på draktene til et lag. Hvem snakker jeg med?
- id: kafeen
need: sponsor
text: Vi har kafé i sentrum og kan bidra med noe til cupen i mai, kanskje vafler eller litt penger.
- id: lyset-slukker
need: baneproblem
text: Lyset på kunstgresset slår seg av halv åtte og vi trener til åtte. Ungene løper i mørket.
@@ -0,0 +1,78 @@
alternatives:
- action: /received/frivillig
consequence:
- Meld deg
description: Trenere, lagledere, sjåfører og folk på dugnad - vi trenger alltid flere hender.
encouragements:
- Du binder deg ikke til noe ved å sende dette - vi tar en prat om hva som passer.
features:
- description: Styret tar kontakt med deg, og sammen finner dere hvor du passer inn - som trener, lagleder, sjåfør eller på dugnad.
icon: lucide:route
name: Hva skjer videre
- description: Styret leser meldingen din - du kan også ringe Kari på kari@liail.example i mellomtiden.
icon: lucide:users
name: Hvem leser dette
- description: Fortell litt om deg selv, så finner vi ut hvor du trengs mest.
icon: lucide:hand-helping
name: Bli frivillig
requirements:
- label: Navn
name: navn
placeholder: Ola Nordmann
type: text
- label: Telefon
name: telefon
placeholder: 123 45 678
type: tel
- label: Hva kan du bidra med?
name: hva_kan_du
options:
- Trene et lag
- Være lagleder
- Kjøre til kamper
- Dugnad
- Annet
type: select
name: Bidra med det du kan
record_as: frivillige
- action: /received/sponsor
consequence:
- Ta kontakt
description: Er du fra en bedrift i bygda som vil støtte fotballgruppa? Vi tar gjerne en prat om hva dere kan bidra med.
encouragements:
- Det koster ingenting å spørre - vi finner en løsning som passer dere.
features:
- description: Styret tar kontakt for en prat om hva som passer, og dere blir enige om en avtale.
icon: lucide:route
name: Hva skjer videre
- description: Styret leser henvendelsen - du kan også ringe Kari på kari@liail.example i mellomtiden.
icon: lucide:users
name: Hvem leser dette
- description: Skriv litt om hva dere ser for dere, så tar vi kontakt.
icon: lucide:handshake
name: Bli sponsor
requirements:
- label: Bedrift
name: bedrift
placeholder: Bygdas Byggvarer AS
type: text
- label: Kontaktperson
name: kontaktperson
placeholder: Kari Nordmann
type: text
- label: Telefon
name: telefon
placeholder: 123 45 678
type: tel
- label: Hva tenker dere å bidra med?
name: hva_tenker_dere
optional: true
placeholder: Vil gjerne sponse draktene, eller bidra med noe annet
type: textarea
name: Støtt fotballen på bygda
record_as: sponsorer
description: Klubben går rundt fordi foreldre og lokale bedrifter stiller opp. Her kan du melde deg som frivillig eller som sponsor.
name: Vil du hjelpe til eller støtte klubben?
responsible:
contact: kari@liail.example
name: Kari Lien
@@ -0,0 +1,97 @@
alternatives:
- action: /received/innmelding
consequence:
- Meld inn
description: Meld ungen din på laget for sitt årskull, så tar trenerne det derfra.
encouragements:
- Det tar bare et par minutter, og du hører fra treneren så snart plassen er klar.
features:
- description: Trenerne godkjenner påmeldingen og setter barnet på riktig lag. Når det er gjort, betaler du avgiften, og ungen er klar til å spille.
icon: lucide:check-circle
name: Hva skjer videre
- description: Trenerne for årskullet leser påmeldingen, og du kan ringe Kari om du lurer på noe underveis.
icon: lucide:user-check
name: Hvem leser dette
- description: Ha gjerne fødselsår og eventuell tidligere klubb klart.
icon: lucide:footprints
name: Meld på ungen
requirements:
- label: Barnets navn
name: barnets_navn
placeholder: Ola Nordmann
type: text
- label: Fødselsår
name: fodselsar
options:
- '2010'
- '2011'
- '2012'
- '2013'
- '2014'
- '2015'
- '2016'
- '2017'
- '2018'
- '2019'
- '2020'
type: select
- label: Ditt navn
name: foresatt
placeholder: Kari Nordmann
type: text
- label: Telefon
name: telefon
placeholder: 912 34 567
type: tel
- label: E-post
name: email
placeholder: kari@epost.no
type: email
- label: Spilt for tidligere
name: spilt_for
optional: true
placeholder: Har ikke spilt fotball før
type: text
name: Meld ungen din på laget
record_as: innmeldinger
- action: /received/avgiftssak
consequence:
- Send inn
description: Vi finner en løsning sammen, enten det er å dele opp betalingen eller søke om støtte. Ingen unger skal stå utenfor på grunn av avgiften.
encouragements:
- Dette blir behandlet fortrolig, og du hører fra oss så fort styret har sett på saken.
features:
- description: Saken din blir sett på, og du får svar på om dere kan få en ordning eller ikke. Vi gir beskjed uansett hva svaret blir.
icon: lucide:clipboard-list
name: Hva skjer videre
- description: Styret leser dette selv, og du kan alltids ta direkte kontakt med Kari i mellomtiden.
icon: lucide:users
name: Hvem leser dette
- description: Fortell kort hva saken gjelder, så tar vi kontakt.
icon: lucide:wallet
name: Om avgiften
requirements:
- label: Barnets navn
name: barnets_navn
placeholder: Ola Nordmann
type: text
- label: Ditt navn
name: foresatt
placeholder: Kari Nordmann
type: text
- label: Hva gjelder det
name: hva_gjelder_det
placeholder: Vi ønsker å dele opp avgiften over flere måneder
type: textarea
- label: Telefon
name: telefon
optional: true
placeholder: 912 34 567
type: tel
name: Få hjelp med treningsavgiften
record_as: avgiftssaker
description: Skal ungen din spille fotball hos oss, eller sliter dere med å få treningsavgiften til å gå opp? Her finner du fram.
name: Vil du melde på ungen din, eller trenger dere hjelp med avgiften?
responsible:
contact: kari@liail.example
name: Kari Lien
@@ -0,0 +1,33 @@
alternatives:
- description: Rundt hundre og tjue unger fra seks til seksten år spiller fotball hos oss, fordelt på lag etter årskull.
features:
- description: Sliter du med treningsavgiften, kan vi se på en avtale.
icon: lucide:wallet
name: Få hjelp med treningsavgiften
- description: Meld ungen på laget for sitt årskull.
icon: lucide:user-plus
name: Meld barnet på et lag
name: Fotball for ungene i bygda
- action: /foresatte
consequence:
- Meld på barnet
description: Meld på ungen, spør om treningsavgiften, eller si fra om noe på banen.
features:
- description: ''
icon: lucide:baby
name: Deg som har en unge som spiller, eller vil begynne
name: Få barnet ditt med på laget
- action: /bidra
consequence:
- Meld interesse
description: Vi trenger trenere, lagledere, sjåfører og folk på dugnad – og bedrifter som vil støtte laget.
features:
- description: ''
icon: lucide:hand-helping
name: Deg som vil bidra, eller din bedrift
name: Hjelp til eller støtt klubben
description: Vi er fotballgruppa til Lia IL – et sted der ungene får spille på lag med jevnaldrende, trent av foreldre fra bygda.
name: Hva vil du gjøre hos oss?
responsible:
contact: kari@liail.example
name: Kari Lien
@@ -0,0 +1 @@
qualifies: kasserer
@@ -0,0 +1,56 @@
alternatives:
- action: /kasserer
consequence:
- Bekreft
description: Alle påmeldinger til lagene, sortert etter hvor de står i løpet.
features:
- description: ''
name: ''
resource:
requires_group: kasserer
source:
bucket: innmeldinger
kind: kv
transitions:
- from: godkjent
label: Merk som betalt
to: betalt
name: Se hvem som vil spille
- action: /kasserer
consequence:
- Send invitasjon
description: Gi noen tilgang til å hjelpe deg med kassererarbeidet, som avgifter og innbetalinger.
features:
- description: ''
name: Inviter en kasserer
requirements:
- label: Navn
name: name
- label: E-postadresse
name: email
type: email
invite:
group: kasserer
name: Få hjelp med kassa
- action: /kasserer
consequence:
- Bekreft
description: Folk du har bedt om å hjelpe til med kassereroppgaver, og om de har tatt imot invitasjonen ennå.
features:
- description: ''
name: ''
resource:
requires_group: kasserer
source:
bucket: portal_invites
kind: kv
transitions:
- from: open
label: Tatt imot
to: done
name: Følg med på invitasjonene dine
description: Her har du oversikt over innmeldinger, avgiftssaker og folk du har invitert til å hjelpe med kassa.
name: Hva trenger kassa hjelp med akkurat nå?
responsible:
contact: kari@liail.example
name: Kari Lien
@@ -0,0 +1,10 @@
alternatives:
- description: Styret behandler saker fortløpende og gir deg beskjed på e-post eller telefon når de har landet på en løsning.
name: Styret tar kontakt med et svar
- action: /
consequence:
- Tilbake til forsiden
description: ''
name: Tilbake til forsiden
description: Vi har fått søknaden din om treningsavgiften. Styret ser på den og svarer deg så snart de kan.
name: Hva skjer nå med søknaden min?
@@ -0,0 +1,10 @@
alternatives:
- description: Styret ser gjennom hva klubben trenger akkurat nå, og finner en oppgave som passer for deg.
name: Styret finner riktig oppgave til deg
- action: /
consequence:
- Tilbake til forsiden
description: ''
name: Tilbake til forsiden
description: Meldingen din har gått til styret. De tar kontakt for å høre hvor du passer inn.
name: Hva skjer nå som jeg har meldt meg?
@@ -0,0 +1,10 @@
alternatives:
- description: Trenerne går gjennom påmeldingen og gir barnet plass på laget for sitt årskull. Dere hører fra dem når det er avklart.
name: Trenerne ser på påmeldingen
- action: /
consequence:
- Tilbake til forsiden
description: ''
name: Tilbake til forsiden
description: Meldingen er sendt til trenerne for laget. De tar kontakt så snart de har sett gjennom påmeldingen.
name: Hva skjer nå som jeg har meldt på barnet?
@@ -0,0 +1,10 @@
alternatives:
- description: Styret svarer så fort de kan, som regel i løpet av noen dager, og avtaler et sted å prate videre.
name: Styret tar kontakt for en prat
- action: /
consequence:
- Tilbake til forsiden
description: ''
name: Tilbake til forsiden
description: Takk for at dere vil støtte Lia IL Fotball. Noen fra styret ser gjennom henvendelsen og tar kontakt for en prat om hva dere kan bidra med.
name: Har henvendelsen vår kommet fram?
@@ -0,0 +1 @@
qualifies: styret
@@ -0,0 +1,137 @@
alternatives:
- action: /styret
consequence:
- Bekreft
description: Familier som sliter med å betale treningsavgiften, og trenger en avtale om betaling.
features:
- description: ''
name: ''
resource:
requires_group: styret
source:
bucket: avgiftssaker
kind: kv
transitions:
- from: open
label: Merk som vurdert
to: vurdert
- from: open
label: Avslå søknaden
to: avslatt
- from: vurdert
label: Innvilg søknaden
to: innvilget
- from: vurdert
label: Avslå søknaden
to: avslatt
name: Søknader om redusert eller delt avgift
- action: /styret
consequence:
- Bekreft
description: Ting trenere har meldt fra om på anlegget, som styret må ta tak i.
features:
- description: ''
name: ''
resource:
requires_group: styret
source:
bucket: baneproblemer
kind: kv
transitions:
- from: open
label: Ta tak i saken
to: tatt_tak_i
- from: tatt_tak_i
label: Merk som ordnet
to: ordnet
name: Meldinger om anlegget
- action: /styret
consequence:
- Bekreft
description: Foreldre og andre som har meldt seg til å hjelpe til, klare for å bli satt i sving.
features:
- description: ''
name: ''
resource:
requires_group: styret
source:
bucket: frivillige
kind: kv
transitions:
- from: kontaktet
label: Merk som plassert
to: plassert
- from: kontaktet
label: Avslå henvendelsen
to: avslatt
- from: open
label: Merk som kontaktet
to: kontaktet
- from: open
label: Avslå henvendelsen
to: avslatt
name: Folk som vil bidra
- action: /styret
consequence:
- Bekreft
description: Bedrifter på bygda som vil støtte klubben, og som venter på en prat om avtale.
features:
- description: ''
name: ''
resource:
requires_group: styret
source:
bucket: sponsorer
kind: kv
transitions:
- from: i_dialog
label: Merk som avtalt
to: avtalt
- from: i_dialog
label: Avslå henvendelsen
to: avslatt
- from: open
label: Start dialog
to: i_dialog
- from: open
label: Avslå henvendelsen
to: avslatt
name: Bedrifter som vil sponse
- action: /styret
consequence:
- Send invitasjon
description: Gi et nytt styremedlem tilgang til denne siden med en engangslenke.
features:
- description: ''
name: Inviter til styret
requirements:
- label: Navn
name: name
- label: E-post
name: email
type: email
invite:
group: styret
name: Inviter noen inn i styret
- action: /styret
consequence:
- Bekreft
description: Styremedlemmer som har fått invitasjon, og om de har tatt den i bruk.
features:
- description: ''
name: ''
resource:
requires_group: styret
source:
bucket: portal_invites
kind: kv
transitions:
- from: open
label: Tatt i bruk
to: done
name: Inviterte styremedlemmer
description: Her holder styret oversikt over avgiftssaker, baneproblemer, frivillige og sponsorer.
name: Hva trenger styret å følge opp nå?
responsible:
contact: kari@liail.example
name: Kari Lien
@@ -0,0 +1 @@
qualifies: trenere
@@ -0,0 +1,10 @@
alternatives:
- description: Styret tar tak i saken og fikser det som trengs, eller sier fra hvis det tar tid.
name: Styret følger opp saken
- action: /trenere
consequence:
- Tilbake til forsiden
description: ''
name: Tilbake til forsiden
description: Meldingen om baneproblemet er sendt til styret.
name: Hva skjer nå?
@@ -0,0 +1,34 @@
alternatives:
- action: /trenere/baneproblem-sent
consequence:
- Meld fra om feil
description: Ser du noe på banen eller anlegget som ikke er i orden? Gi beskjed til styret, så tar de tak i det.
encouragements:
- Du hører fra styret så snart de har sett på saken.
features:
- description: Meldingen går til styret, som tar tak i saken og ordner det som trengs.
icon: lucide:wrench
name: Slik følges det opp
- description: Styret leser meldingen og følger opp; haster det, ring Kari Lien i mellomtiden.
icon: lucide:users
name: Hvem leser dette
- description: Beskriv hva du så, og hvor det var.
icon: lucide:alert-triangle
name: Meld baneproblem
requirements:
- label: Hvor på anlegget?
name: hvor
placeholder: Bane 2, ved siden av klubbhuset
type: text
- label: Hva gjelder det?
name: hva
placeholder: Løs plate på tribunen, hull i nettet på mål A
type: textarea
name: Meld fra om noe som ikke er i orden
record_as: baneproblemer
description: Se du noe på treningsfeltet, banen eller anlegget som bør fikses? Send en kort melding, så følger styret det opp.
followup: false
name: Har du sett noe på anlegget som bør ordnes?
responsible:
contact: kari@liail.example
name: Kari Lien
@@ -0,0 +1,67 @@
alternatives:
- action: /trenere
consequence:
- Bekreft
description: Meldinger fra foreldre som vil ha ungen sin med på et lag.
features:
- description: ''
name: ''
resource:
requires_group: trenere
source:
bucket: innmeldinger
kind: kv
transitions:
- from: godkjent
label: Trekk påmeldingen
to: trukket
- from: open
label: Godkjenn plass
to: godkjent
- from: open
label: Avvis påmeldingen
to: trukket
name: Nye påmeldinger til laget
- action: /trenere/baneproblem
consequence:
- Meld fra
description: Si ifra til styret om noe på anlegget ikke er i orden.
name: Meld fra om noe på anlegget
- action: /trenere
consequence:
- Send invitasjon
description: Inviter en ny trener til å få tilgang som trener på laget.
features:
- description: ''
name: Inviter trener
requirements:
- label: Navn
name: name
- label: E-post
name: email
type: email
invite:
group: trenere
name: Få inn en ny trener
- action: /trenere
consequence:
- Bekreft
description: Trenere du har invitert, og om de har tatt imot invitasjonen.
features:
- description: ''
name: ''
resource:
requires_group: trenere
source:
bucket: portal_invites
kind: kv
transitions:
- from: open
label: Har startet
to: done
name: Trenere du har invitert
description: Her ser du påmeldinger til lagene, sender invitasjon til nye trenere og melder fra om baneproblem.
name: Hva trenger jeg å følge opp for laget mitt?
responsible:
contact: kari@liail.example
name: Kari Lien
@@ -0,0 +1,5 @@
lang: no
mail:
from: Liail IL <post@liail.example>
reply_to: kari@liail.example
title: Lia IL Fotball
@@ -0,0 +1,377 @@
{
"aggregates.yaml": {
"innmeldinger": {
"betalt": {
"body": "Hei!\n\nVi har mottatt betalingen for {chain}. Da er alt i orden, og barnet er klart for sesongen.\n\nTakk for at dere er med i Lia IL Fotball!\n\nHilsen Lia IL Fotball",
"subject": "Betaling mottatt - velkommen til Lia IL Fotball"
},
"godkjent": {
"body": "Hei!\n\nBarnet er godkjent på laget for sitt årskull. Nå gjenstår kun betaling av treningsavgiften, så er plassen sikret.\n\nDere hører fra trenerne om oppstart og praktiske detaljer.\n\nHilsen Lia IL Fotball",
"subject": "Godkjent - klar for laget"
},
"open": {
"body": "Hei!\n\nVi har mottatt påmeldingen for {chain}. Trenerne ser på den og gir beskjed så snart barnet har fått plass på laget for sitt årskull.\n\nHilsen Lia IL Fotball",
"subject": "Vi har mottatt påmeldingen"
}
}
},
"questions/bidra/index.yaml": {
"description": "Klubben går rundt fordi foreldre og lokale bedrifter stiller opp. Her kan du melde deg som frivillig eller som sponsor.",
"needs": {
"frivillig": {
"button": "Meld deg",
"description": "Trenere, lagledere, sjåfører og folk på dugnad - vi trenger alltid flere hender.",
"encouragement": "Du binder deg ikke til noe ved å sende dette - vi tar en prat om hva som passer.",
"form_description": "Fortell litt om deg selv, så finner vi ut hvor du trengs mest.",
"form_title": "Bli frivillig",
"heading": "Bidra med det du kan",
"hints": {
"hva_kan_du": "Kan trene, kjøre til bortekamper, eller stille på dugnad",
"navn": "Ola Nordmann",
"telefon": "123 45 678"
},
"icon": "hand-helping",
"labels": {
"hva_kan_du": "Hva kan du bidra med?",
"navn": "Navn",
"telefon": "Telefon"
},
"road_description": "Styret tar kontakt med deg, og sammen finner dere hvor du passer inn - som trener, lagleder, sjåfør eller på dugnad.",
"road_icon": "route",
"road_title": "Hva skjer videre",
"who_description": "Styret leser meldingen din - du kan også ringe Kari på kari@liail.example i mellomtiden.",
"who_icon": "users",
"who_title": "Hvem leser dette"
},
"sponsor": {
"button": "Ta kontakt",
"description": "Er du fra en bedrift i bygda som vil støtte fotballgruppa? Vi tar gjerne en prat om hva dere kan bidra med.",
"encouragement": "Det koster ingenting å spørre - vi finner en løsning som passer dere.",
"form_description": "Skriv litt om hva dere ser for dere, så tar vi kontakt.",
"form_title": "Bli sponsor",
"heading": "Støtt fotballen på bygda",
"hints": {
"bedrift": "Bygdas Byggvarer AS",
"hva_tenker_dere": "Vil gjerne sponse draktene, eller bidra med noe annet",
"kontaktperson": "Kari Nordmann",
"telefon": "123 45 678"
},
"icon": "handshake",
"labels": {
"bedrift": "Bedrift",
"hva_tenker_dere": "Hva tenker dere å bidra med?",
"kontaktperson": "Kontaktperson",
"telefon": "Telefon"
},
"road_description": "Styret tar kontakt for en prat om hva som passer, og dere blir enige om en avtale.",
"road_icon": "route",
"road_title": "Hva skjer videre",
"who_description": "Styret leser henvendelsen - du kan også ringe Kari på kari@liail.example i mellomtiden.",
"who_icon": "users",
"who_title": "Hvem leser dette"
}
},
"question": "Vil du hjelpe til eller støtte klubben?"
},
"questions/foresatte/index.yaml": {
"description": "Skal ungen din spille fotball hos oss, eller sliter dere med å få treningsavgiften til å gå opp? Her finner du fram.",
"needs": {
"avgiftssak": {
"button": "Send inn",
"description": "Vi finner en løsning sammen, enten det er å dele opp betalingen eller søke om støtte. Ingen unger skal stå utenfor på grunn av avgiften.",
"encouragement": "Dette blir behandlet fortrolig, og du hører fra oss så fort styret har sett på saken.",
"form_description": "Fortell kort hva saken gjelder, så tar vi kontakt.",
"form_title": "Om avgiften",
"heading": "Få hjelp med treningsavgiften",
"hints": {
"barnets_navn": "Ola Nordmann",
"foresatt": "Kari Nordmann",
"hva_gjelder_det": "Vi ønsker å dele opp avgiften over flere måneder",
"telefon": "912 34 567"
},
"icon": "wallet",
"labels": {
"barnets_navn": "Barnets navn",
"foresatt": "Ditt navn",
"hva_gjelder_det": "Hva gjelder det",
"telefon": "Telefon"
},
"road_description": "Saken din blir sett på, og du får svar på om dere kan få en ordning eller ikke. Vi gir beskjed uansett hva svaret blir.",
"road_icon": "clipboard-list",
"road_title": "Hva skjer videre",
"who_description": "Styret leser dette selv, og du kan alltids ta direkte kontakt med Kari i mellomtiden.",
"who_icon": "users",
"who_title": "Hvem leser dette"
},
"innmelding": {
"button": "Meld inn",
"description": "Meld ungen din på laget for sitt årskull, så tar trenerne det derfra.",
"encouragement": "Det tar bare et par minutter, og du hører fra treneren så snart plassen er klar.",
"form_description": "Ha gjerne fødselsår og eventuell tidligere klubb klart.",
"form_title": "Meld på ungen",
"heading": "Meld ungen din på laget",
"hints": {
"barnets_navn": "Ola Nordmann",
"email": "kari@epost.no",
"fodselsar": "2016",
"foresatt": "Kari Nordmann",
"spilt_for": "Har ikke spilt fotball før",
"telefon": "912 34 567"
},
"icon": "footprints",
"labels": {
"barnets_navn": "Barnets navn",
"email": "E-post",
"fodselsar": "Fødselsår",
"foresatt": "Ditt navn",
"spilt_for": "Spilt for tidligere",
"telefon": "Telefon"
},
"road_description": "Trenerne godkjenner påmeldingen og setter barnet på riktig lag. Når det er gjort, betaler du avgiften, og ungen er klar til å spille.",
"road_icon": "check-circle",
"road_title": "Hva skjer videre",
"who_description": "Trenerne for årskullet leser påmeldingen, og du kan ringe Kari om du lurer på noe underveis.",
"who_icon": "user-check",
"who_title": "Hvem leser dette"
}
},
"question": "Vil du melde på ungen din, eller trenger dere hjelp med avgiften?"
},
"questions/index.yaml": {
"description": "Vi er fotballgruppa til Lia IL – et sted der ungene får spille på lag med jevnaldrende, trent av foreldre fra bygda.",
"doors": {
"bidra": {
"button": "Meld interesse",
"description": "Vi trenger trenere, lagledere, sjåfører og folk på dugnad – og bedrifter som vil støtte laget.",
"for_whom": "Deg som vil bidra, eller din bedrift",
"heading": "Hjelp til eller støtt klubben",
"icon": "hand-helping"
},
"foresatte": {
"button": "Meld på barnet",
"description": "Meld på ungen, spør om treningsavgiften, eller si fra om noe på banen.",
"for_whom": "Deg som har en unge som spiller, eller vil begynne",
"heading": "Få barnet ditt med på laget",
"icon": "baby"
}
},
"needs": {},
"opener": {
"description": "Rundt hundre og tjue unger fra seks til seksten år spiller fotball hos oss, fordelt på lag etter årskull.",
"features": {
"avgiftssak": {
"description": "Sliter du med treningsavgiften, kan vi se på en avtale.",
"heading": "Få hjelp med treningsavgiften",
"icon": "wallet"
},
"innmelding": {
"description": "Meld ungen på laget for sitt årskull.",
"heading": "Meld barnet på et lag",
"icon": "user-plus"
}
},
"heading": "Fotball for ungene i bygda"
},
"question": "Hva vil du gjøre hos oss?",
"shopping": {
"description": "Se hvilke lag vi har, og hvordan årskullene er delt inn.",
"heading": "Se lagene våre",
"items": {}
}
},
"questions/kasserer/index.yaml": {
"buckets": {
"innmeldinger": {
"description": "Alle påmeldinger til lagene, sortert etter hvor de står i løpet.",
"heading": "Se hvem som vil spille",
"moves": {
"godkjent->betalt": "Merk som betalt"
}
}
},
"confirm": "Bekreft",
"description": "Her har du oversikt over innmeldinger, avgiftssaker og folk du har invitert til å hjelpe med kassa.",
"invited": {
"description": "Folk du har bedt om å hjelpe til med kassereroppgaver, og om de har tatt imot invitasjonen ennå.",
"done": "Tatt imot",
"heading": "Følg med på invitasjonene dine"
},
"invites": {
"kasserer": {
"button": "Send invitasjon",
"description": "Gi noen tilgang til å hjelpe deg med kassererarbeidet, som avgifter og innbetalinger.",
"form_title": "Inviter en kasserer",
"heading": "Få hjelp med kassa",
"labels": {
"email": "E-postadresse",
"name": "Navn"
}
}
},
"links": {},
"question": "Hva trenger kassa hjelp med akkurat nå?"
},
"questions/received/avgiftssak.yaml": {
"back": "Tilbake til forsiden",
"description": "Vi har fått søknaden din om treningsavgiften. Styret ser på den og svarer deg så snart de kan.",
"next_description": "Styret behandler saker fortløpende og gir deg beskjed på e-post eller telefon når de har landet på en løsning.",
"next_heading": "Styret tar kontakt med et svar",
"question": "Hva skjer nå med søknaden min?"
},
"questions/received/frivillig.yaml": {
"back": "Tilbake til forsiden",
"description": "Meldingen din har gått til styret. De tar kontakt for å høre hvor du passer inn.",
"next_description": "Styret ser gjennom hva klubben trenger akkurat nå, og finner en oppgave som passer for deg.",
"next_heading": "Styret finner riktig oppgave til deg",
"question": "Hva skjer nå som jeg har meldt meg?"
},
"questions/received/innmelding.yaml": {
"back": "Tilbake til forsiden",
"description": "Meldingen er sendt til trenerne for laget. De tar kontakt så snart de har sett gjennom påmeldingen.",
"next_description": "Trenerne går gjennom påmeldingen og gir barnet plass på laget for sitt årskull. Dere hører fra dem når det er avklart.",
"next_heading": "Trenerne ser på påmeldingen",
"question": "Hva skjer nå som jeg har meldt på barnet?"
},
"questions/received/sponsor.yaml": {
"back": "Tilbake til forsiden",
"description": "Takk for at dere vil støtte Lia IL Fotball. Noen fra styret ser gjennom henvendelsen og tar kontakt for en prat om hva dere kan bidra med.",
"next_description": "Styret svarer så fort de kan, som regel i løpet av noen dager, og avtaler et sted å prate videre.",
"next_heading": "Styret tar kontakt for en prat",
"question": "Har henvendelsen vår kommet fram?"
},
"questions/styret/index.yaml": {
"buckets": {
"avgiftssaker": {
"description": "Familier som sliter med å betale treningsavgiften, og trenger en avtale om betaling.",
"heading": "Søknader om redusert eller delt avgift",
"moves": {
"open->avslatt": "Avslå søknaden",
"open->vurdert": "Merk som vurdert",
"vurdert->avslatt": "Avslå søknaden",
"vurdert->innvilget": "Innvilg søknaden"
}
},
"baneproblemer": {
"description": "Ting trenere har meldt fra om på anlegget, som styret må ta tak i.",
"heading": "Meldinger om anlegget",
"moves": {
"open->tatt_tak_i": "Ta tak i saken",
"tatt_tak_i->ordnet": "Merk som ordnet"
}
},
"frivillige": {
"description": "Foreldre og andre som har meldt seg til å hjelpe til, klare for å bli satt i sving.",
"heading": "Folk som vil bidra",
"moves": {
"kontaktet->avslatt": "Avslå henvendelsen",
"kontaktet->plassert": "Merk som plassert",
"open->avslatt": "Avslå henvendelsen",
"open->kontaktet": "Merk som kontaktet"
}
},
"sponsorer": {
"description": "Bedrifter på bygda som vil støtte klubben, og som venter på en prat om avtale.",
"heading": "Bedrifter som vil sponse",
"moves": {
"i_dialog->avslatt": "Avslå henvendelsen",
"i_dialog->avtalt": "Merk som avtalt",
"open->avslatt": "Avslå henvendelsen",
"open->i_dialog": "Start dialog"
}
}
},
"confirm": "Bekreft",
"description": "Her holder styret oversikt over avgiftssaker, baneproblemer, frivillige og sponsorer.",
"invited": {
"description": "Styremedlemmer som har fått invitasjon, og om de har tatt den i bruk.",
"done": "Tatt i bruk",
"heading": "Inviterte styremedlemmer"
},
"invites": {
"styret": {
"button": "Send invitasjon",
"description": "Gi et nytt styremedlem tilgang til denne siden med en engangslenke.",
"form_title": "Inviter til styret",
"heading": "Inviter noen inn i styret",
"labels": {
"email": "E-post",
"name": "Navn"
}
}
},
"links": {},
"question": "Hva trenger styret å følge opp nå?"
},
"questions/trenere/baneproblem-sent.yaml": {
"back": "Tilbake til forsiden",
"description": "Meldingen om baneproblemet er sendt til styret.",
"next_description": "Styret tar tak i saken og fikser det som trengs, eller sier fra hvis det tar tid.",
"next_heading": "Styret følger opp saken",
"question": "Hva skjer nå?"
},
"questions/trenere/baneproblem.yaml": {
"button": "Meld fra om feil",
"description": "Ser du noe på banen eller anlegget som ikke er i orden? Gi beskjed til styret, så tar de tak i det.",
"encouragement": "Du hører fra styret så snart de har sett på saken.",
"form_description": "Beskriv hva du så, og hvor det var.",
"form_title": "Meld baneproblem",
"heading": "Meld fra om noe som ikke er i orden",
"hints": {
"hva": "Løs plate på tribunen, hull i nettet på mål A",
"hvor": "Bane 2, ved siden av klubbhuset"
},
"icon": "alert-triangle",
"labels": {
"hva": "Hva gjelder det?",
"hvor": "Hvor på anlegget?"
},
"page_description": "Se du noe på treningsfeltet, banen eller anlegget som bør fikses? Send en kort melding, så følger styret det opp.",
"question": "Har du sett noe på anlegget som bør ordnes?",
"road_description": "Meldingen går til styret, som tar tak i saken og ordner det som trengs.",
"road_icon": "wrench",
"road_title": "Slik følges det opp",
"who_description": "Styret leser meldingen og følger opp; haster det, ring Kari Lien i mellomtiden.",
"who_icon": "users",
"who_title": "Hvem leser dette"
},
"questions/trenere/index.yaml": {
"buckets": {
"innmeldinger": {
"description": "Meldinger fra foreldre som vil ha ungen sin med på et lag.",
"heading": "Nye påmeldinger til laget",
"moves": {
"godkjent->trukket": "Trekk påmeldingen",
"open->godkjent": "Godkjenn plass",
"open->trukket": "Avvis påmeldingen"
}
}
},
"confirm": "Bekreft",
"description": "Her ser du påmeldinger til lagene, sender invitasjon til nye trenere og melder fra om baneproblem.",
"invited": {
"description": "Trenere du har invitert, og om de har tatt imot invitasjonen.",
"done": "Har startet",
"heading": "Trenere du har invitert"
},
"invites": {
"trenere": {
"button": "Send invitasjon",
"description": "Inviter en ny trener til å få tilgang som trener på laget.",
"form_title": "Inviter trener",
"heading": "Få inn en ny trener",
"labels": {
"email": "E-post",
"name": "Navn"
}
}
},
"links": {
"baneproblem": {
"button": "Meld fra",
"description": "Si ifra til styret om noe på anlegget ikke er i orden.",
"heading": "Meld fra om noe på anlegget"
}
},
"question": "Hva trenger jeg å følge opp for laget mitt?"
}
}
+19
View File
@@ -0,0 +1,19 @@
#!/bin/sh
# The noise floor: answer one run's tasks with several seeds and print
# each seed's score, so a change can be told from the visitor's mood.
# runs/spread.sh runs/<run> [seeds...] (default seeds: 1 2 3)
set -eu
run=${1:?usage: spread.sh runs/<run> [seeds...]}; shift
seeds=${*:-1 2 3}
IRIS=/var/local/cargo-target/release/iris
T=/var/local/cargo-target/release/portal-trainer
LLM="MODEL=qwen3:8b $(cd "$(dirname "$0")/.." && pwd)/engines/ollama.sh"
cd "$run"
for mode in full skim; do
skim=""; [ "$mode" = skim ] && skim="--skim"
for s in $seeds; do
$T answer --tasks tasks-$mode.jsonl --repo site --llm "$LLM" --seed "$s" > answers-$mode-seed$s.jsonl
printf "%s seed %s: " "$mode" "$s"
$IRIS check --path site/questions --needs-tasks tasks-$mode.jsonl $skim --needs-score answers-$mode-seed$s.jsonl 2>&1 | grep -E "^wording:"
done
done
@@ -0,0 +1,16 @@
{"id":"ny-i-bygda@/","persona":"ny-i-bygda","need":"innmelding","page":"/","state":{"body":"Vi flyttet hit i sommer og sønnen vår på ni har spilt fotball før. Hvordan får vi ham med på et lag her?","page":"Fotball for ungene i bygda: Rundt hundre og tjue unger fra seks til seksten år spiller fotball hos oss, fordelt på lag etter årskull. Få hjelp med treningsavgiften: Sliter du med treningsavgiften, kan vi se på en avtale. Meld barnet på et lag: Meld ungen på laget for sitt årskull."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Hva vil du gjøre hos oss?\". Which alternative do they choose?","criteria":{"Få barnet ditt med på laget":"Meld på ungen, spør om treningsavgiften, eller si fra om noe på banen.","Hjelp til eller støtt klubben":"Vi trenger trenere, lagledere, sjåfører og folk på dugnad – og bedrifter som vil støtte laget."}}},"expect":["Få barnet ditt med på laget"]}
{"id":"ny-i-bygda@/foresatte","persona":"ny-i-bygda","need":"innmelding","page":"/foresatte","state":{"body":"Vi flyttet hit i sommer og sønnen vår på ni har spilt fotball før. Hvordan får vi ham med på et lag her?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Vil du melde på ungen din, eller trenger dere hjelp med avgiften?\". Which alternative do they choose?","criteria":{"Få hjelp med treningsavgiften":"Vi finner en løsning sammen, enten det er å dele opp betalingen eller søke om støtte. Ingen unger skal stå utenfor på grunn av avgiften.","Meld ungen din på laget":"Meld ungen din på laget for sitt årskull, så tar trenerne det derfra."}}},"expect":["Meld ungen din på laget"]}
{"id":"tvillinger@/","persona":"tvillinger","need":"innmelding","page":"/","state":{"body":"Jeg har tvillingjenter på sju som maser om å begynne. Er det plass, og hva koster det?","page":"Fotball for ungene i bygda: Rundt hundre og tjue unger fra seks til seksten år spiller fotball hos oss, fordelt på lag etter årskull. Få hjelp med treningsavgiften: Sliter du med treningsavgiften, kan vi se på en avtale. Meld barnet på et lag: Meld ungen på laget for sitt årskull."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Hva vil du gjøre hos oss?\". Which alternative do they choose?","criteria":{"Få barnet ditt med på laget":"Meld på ungen, spør om treningsavgiften, eller si fra om noe på banen.","Hjelp til eller støtt klubben":"Vi trenger trenere, lagledere, sjåfører og folk på dugnad – og bedrifter som vil støtte laget."}}},"expect":["Få barnet ditt med på laget"]}
{"id":"tvillinger@/foresatte","persona":"tvillinger","need":"innmelding","page":"/foresatte","state":{"body":"Jeg har tvillingjenter på sju som maser om å begynne. Er det plass, og hva koster det?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Vil du melde på ungen din, eller trenger dere hjelp med avgiften?\". Which alternative do they choose?","criteria":{"Få hjelp med treningsavgiften":"Vi finner en løsning sammen, enten det er å dele opp betalingen eller søke om støtte. Ingen unger skal stå utenfor på grunn av avgiften.","Meld ungen din på laget":"Meld ungen din på laget for sitt årskull, så tar trenerne det derfra."}}},"expect":["Meld ungen din på laget"]}
{"id":"alenefar@/","persona":"alenefar","need":"avgiftssak","page":"/","state":{"body":"Jeg er alene med tre unger og treningsavgiften for alle tre blir for mye på en gang. Går det an å dele den opp?","page":"Fotball for ungene i bygda: Rundt hundre og tjue unger fra seks til seksten år spiller fotball hos oss, fordelt på lag etter årskull. Få hjelp med treningsavgiften: Sliter du med treningsavgiften, kan vi se på en avtale. Meld barnet på et lag: Meld ungen på laget for sitt årskull."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Hva vil du gjøre hos oss?\". Which alternative do they choose?","criteria":{"Få barnet ditt med på laget":"Meld på ungen, spør om treningsavgiften, eller si fra om noe på banen.","Hjelp til eller støtt klubben":"Vi trenger trenere, lagledere, sjåfører og folk på dugnad – og bedrifter som vil støtte laget."}}},"expect":["Få barnet ditt med på laget"]}
{"id":"alenefar@/foresatte","persona":"alenefar","need":"avgiftssak","page":"/foresatte","state":{"body":"Jeg er alene med tre unger og treningsavgiften for alle tre blir for mye på en gang. Går det an å dele den opp?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Vil du melde på ungen din, eller trenger dere hjelp med avgiften?\". Which alternative do they choose?","criteria":{"Få hjelp med treningsavgiften":"Vi finner en løsning sammen, enten det er å dele opp betalingen eller søke om støtte. Ingen unger skal stå utenfor på grunn av avgiften.","Meld ungen din på laget":"Meld ungen din på laget for sitt årskull, så tar trenerne det derfra."}}},"expect":["Få hjelp med treningsavgiften"]}
{"id":"permittert@/","persona":"permittert","need":"avgiftssak","page":"/","state":{"body":"Jeg ble permittert i vinter. Kan dattera mi fortsette å spille selv om vi ikke klarer avgiften akkurat nå?","page":"Fotball for ungene i bygda: Rundt hundre og tjue unger fra seks til seksten år spiller fotball hos oss, fordelt på lag etter årskull. Få hjelp med treningsavgiften: Sliter du med treningsavgiften, kan vi se på en avtale. Meld barnet på et lag: Meld ungen på laget for sitt årskull."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Hva vil du gjøre hos oss?\". Which alternative do they choose?","criteria":{"Få barnet ditt med på laget":"Meld på ungen, spør om treningsavgiften, eller si fra om noe på banen.","Hjelp til eller støtt klubben":"Vi trenger trenere, lagledere, sjåfører og folk på dugnad – og bedrifter som vil støtte laget."}}},"expect":["Få barnet ditt med på laget"]}
{"id":"permittert@/foresatte","persona":"permittert","need":"avgiftssak","page":"/foresatte","state":{"body":"Jeg ble permittert i vinter. Kan dattera mi fortsette å spille selv om vi ikke klarer avgiften akkurat nå?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Vil du melde på ungen din, eller trenger dere hjelp med avgiften?\". Which alternative do they choose?","criteria":{"Få hjelp med treningsavgiften":"Vi finner en løsning sammen, enten det er å dele opp betalingen eller søke om støtte. Ingen unger skal stå utenfor på grunn av avgiften.","Meld ungen din på laget":"Meld ungen din på laget for sitt årskull, så tar trenerne det derfra."}}},"expect":["Få hjelp med treningsavgiften"]}
{"id":"pensjonist@/","persona":"pensjonist","need":"frivillig","page":"/","state":{"body":"Jeg er pensjonert og spilte selv i mange år. Har dere bruk for en som kan ta de minste et par kvelder i uka?","page":"Fotball for ungene i bygda: Rundt hundre og tjue unger fra seks til seksten år spiller fotball hos oss, fordelt på lag etter årskull. Få hjelp med treningsavgiften: Sliter du med treningsavgiften, kan vi se på en avtale. Meld barnet på et lag: Meld ungen på laget for sitt årskull."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Hva vil du gjøre hos oss?\". Which alternative do they choose?","criteria":{"Få barnet ditt med på laget":"Meld på ungen, spør om treningsavgiften, eller si fra om noe på banen.","Hjelp til eller støtt klubben":"Vi trenger trenere, lagledere, sjåfører og folk på dugnad – og bedrifter som vil støtte laget."}}},"expect":["Hjelp til eller støtt klubben"]}
{"id":"pensjonist@/bidra","persona":"pensjonist","need":"frivillig","page":"/bidra","state":{"body":"Jeg er pensjonert og spilte selv i mange år. Har dere bruk for en som kan ta de minste et par kvelder i uka?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Vil du hjelpe til eller støtte klubben?\". Which alternative do they choose?","criteria":{"Bidra med det du kan":"Trenere, lagledere, sjåfører og folk på dugnad - vi trenger alltid flere hender.","Støtt fotballen på bygda":"Er du fra en bedrift i bygda som vil støtte fotballgruppa? Vi tar gjerne en prat om hva dere kan bidra med."}}},"expect":["Bidra med det du kan"]}
{"id":"stor-bil@/","persona":"stor-bil","need":"frivillig","page":"/","state":{"body":"Jeg kan ikke trene noen, men jeg har stor bil og kan kjøre til bortekamper.","page":"Fotball for ungene i bygda: Rundt hundre og tjue unger fra seks til seksten år spiller fotball hos oss, fordelt på lag etter årskull. Få hjelp med treningsavgiften: Sliter du med treningsavgiften, kan vi se på en avtale. Meld barnet på et lag: Meld ungen på laget for sitt årskull."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Hva vil du gjøre hos oss?\". Which alternative do they choose?","criteria":{"Få barnet ditt med på laget":"Meld på ungen, spør om treningsavgiften, eller si fra om noe på banen.","Hjelp til eller støtt klubben":"Vi trenger trenere, lagledere, sjåfører og folk på dugnad – og bedrifter som vil støtte laget."}}},"expect":["Hjelp til eller støtt klubben"]}
{"id":"stor-bil@/bidra","persona":"stor-bil","need":"frivillig","page":"/bidra","state":{"body":"Jeg kan ikke trene noen, men jeg har stor bil og kan kjøre til bortekamper."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Vil du hjelpe til eller støtte klubben?\". Which alternative do they choose?","criteria":{"Bidra med det du kan":"Trenere, lagledere, sjåfører og folk på dugnad - vi trenger alltid flere hender.","Støtt fotballen på bygda":"Er du fra en bedrift i bygda som vil støtte fotballgruppa? Vi tar gjerne en prat om hva dere kan bidra med."}}},"expect":["Bidra med det du kan"]}
{"id":"rorlegger@/","persona":"rorlegger","need":"sponsor","page":"/","state":{"body":"Jeg driver rørleggerfirma her i bygda og vil gjerne ha logoen vår på draktene til et lag. Hvem snakker jeg med?","page":"Fotball for ungene i bygda: Rundt hundre og tjue unger fra seks til seksten år spiller fotball hos oss, fordelt på lag etter årskull. Få hjelp med treningsavgiften: Sliter du med treningsavgiften, kan vi se på en avtale. Meld barnet på et lag: Meld ungen på laget for sitt årskull."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Hva vil du gjøre hos oss?\". Which alternative do they choose?","criteria":{"Få barnet ditt med på laget":"Meld på ungen, spør om treningsavgiften, eller si fra om noe på banen.","Hjelp til eller støtt klubben":"Vi trenger trenere, lagledere, sjåfører og folk på dugnad – og bedrifter som vil støtte laget."}}},"expect":["Hjelp til eller støtt klubben"]}
{"id":"rorlegger@/bidra","persona":"rorlegger","need":"sponsor","page":"/bidra","state":{"body":"Jeg driver rørleggerfirma her i bygda og vil gjerne ha logoen vår på draktene til et lag. Hvem snakker jeg med?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Vil du hjelpe til eller støtte klubben?\". Which alternative do they choose?","criteria":{"Bidra med det du kan":"Trenere, lagledere, sjåfører og folk på dugnad - vi trenger alltid flere hender.","Støtt fotballen på bygda":"Er du fra en bedrift i bygda som vil støtte fotballgruppa? Vi tar gjerne en prat om hva dere kan bidra med."}}},"expect":["Støtt fotballen på bygda"]}
{"id":"kafeen@/","persona":"kafeen","need":"sponsor","page":"/","state":{"body":"Vi har kafé i sentrum og kan bidra med noe til cupen i mai, kanskje vafler eller litt penger.","page":"Fotball for ungene i bygda: Rundt hundre og tjue unger fra seks til seksten år spiller fotball hos oss, fordelt på lag etter årskull. Få hjelp med treningsavgiften: Sliter du med treningsavgiften, kan vi se på en avtale. Meld barnet på et lag: Meld ungen på laget for sitt årskull."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Hva vil du gjøre hos oss?\". Which alternative do they choose?","criteria":{"Få barnet ditt med på laget":"Meld på ungen, spør om treningsavgiften, eller si fra om noe på banen.","Hjelp til eller støtt klubben":"Vi trenger trenere, lagledere, sjåfører og folk på dugnad – og bedrifter som vil støtte laget."}}},"expect":["Hjelp til eller støtt klubben"]}
{"id":"kafeen@/bidra","persona":"kafeen","need":"sponsor","page":"/bidra","state":{"body":"Vi har kafé i sentrum og kan bidra med noe til cupen i mai, kanskje vafler eller litt penger."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Vil du hjelpe til eller støtte klubben?\". Which alternative do they choose?","criteria":{"Bidra med det du kan":"Trenere, lagledere, sjåfører og folk på dugnad - vi trenger alltid flere hender.","Støtt fotballen på bygda":"Er du fra en bedrift i bygda som vil støtte fotballgruppa? Vi tar gjerne en prat om hva dere kan bidra med."}}},"expect":["Støtt fotballen på bygda"]}