{
 "name": "sakskartet-aas",
 "title": "Sakskartet Ås: avstemninger",
 "description": "Avstemningene i Ås kommunestyre og Ås formannskap, dekodet per person og parti. Ingenting er skrevet av KI, og filene har ingen innleggstekst (den er KI-behandlet talegjenkjenning og ligger bak innlogging i Mitt sakskart).",
 "homepage": "https://aas.sakskart.no/presse/",
 "version": "2026-11-05",
 "created": "2026-11-05",
 "licenses": [
  {
   "name": "CC-BY-4.0",
   "path": "https://creativecommons.org/licenses/by/4.0/deed.no",
   "title": "Creative Commons Navngivelse 4.0"
  }
 ],
 "sources": [
  {
   "title": "Ås kommunes møtearkiv",
   "path": "https://opengov.360online.com/Meetings/AS"
  },
  {
   "title": "KommuneTV",
   "path": "https://as.kommunetv.no"
  }
 ],
 "contributors": [
  {
   "title": "Sakskartet",
   "path": "https://aas.sakskart.no/om/",
   "role": "publisher"
  }
 ],
 "sakskartet": {
  "hva": "Beskrivelse av eksportfilene. Krediter slik: Kilde: Sakskartet (aas.sakskart.no), data fra Ås kommune og KommuneTV. CC BY 4.0.",
  "kommune": "Ås",
  "kommunenummer": "3218",
  "generert": "2026-11-05",
  "utgitt_av": "Sakskartet (aas.sakskart.no) — uavhengig og partinøytral tjeneste, ikke kommunens nettsted",
  "lisens": {
   "navn": "CC BY 4.0",
   "url": "https://creativecommons.org/licenses/by/4.0/deed.no",
   "spdx": "CC-BY-4.0",
   "kreditering": "Kilde: Sakskartet (aas.sakskart.no), data fra Ås kommune og KommuneTV. CC BY 4.0.",
   "merknad": "Protokoller og vedtak fra offentlig myndighet er uten opphavsrettslig vern (åndsverkloven § 14). Lisensen gjelder det Sakskartet selv har laget: sammenstillingen (dekodede stemmer, koblingen sak–avstemning–opptak) og filformatet (åndsverkloven § 24); CC BY 4.0 omfatter også databaserett. Fritt å bruke, også kommersielt, med kreditering. Fila bygger på åpne protokoller og sakstitler slik kommunen har skrevet dem, og kan i enkelte tilfeller nevne privatpersoner; gjelder det deg og du ikke er folkevalgt, skriv til kontakt@sakskart.no, så vurderer vi å ta det ned. Opptak og undertekster kommer fra kommunens KommuneTV; Sakskartet lenker til opptakene og kopierer ikke video eller lyd. Vi har ikke funnet publiserte bruksvilkår for KommuneTV (sist sjekket 2026-10-22)."
  },
  "kilder": [
   {
    "hva": "Saksdokumenter og møteprotokoller",
    "fra": "Ås kommunes møtearkiv",
    "url": "https://opengov.360online.com/Meetings/AS"
   },
   {
    "hva": "Stemmedata, talerlogg og opptak",
    "fra": "KommuneTV",
    "url": "https://as.kommunetv.no",
    "dekning_fra": "2025-10-29"
   }
  ],
  "behandling": {
   "automatisk_strukturert": [
    "Stemmene er dekodet fra KommuneTVs stemmedata, der hver stemme bærer en talerid. Navnet bak id-en står for de fleste i KommuneTVs talerlogg (navn_sikkerhet = talerlogg). For en del vararepresentanter er koblingen utledet (utledet): en KI-assistert tolkning av fremmøtelister og stemmemønster, gjort i arkivarbeidet før dataene ble bygget og kontrollert mot protokollen der den navngir stemmetall (protokoll); ca. 6 % av de navngitte stemmene. Utledede koblinger kan være feil — sjekk protokollen før du siterer en enkelt stemme. Partiet er det representanten hadde på avstemningsdagen.",
    "Avstemningene er knyttet til sak med arkivsaksnummer og tittel; saker uten sikker kobling har tom sak_url.",
    "Utfallet er lest av KommuneTVs resultattekst («Vedtatt 13–0»). Mangler den, er det regnet av stemmetallene og merket i utfall_kilde.",
    "Partikodene er normalisert (kilden skriver «S» for Partiet Sentrum; her står det «PS»)."
   ],
   "ki_generert": "Ingen tekst i denne fila er skrevet eller oppsummert av en språkmodell (KI), og ingen felt er laget av en språkmodell når fila bygges. Kommer et KI-generert felt til, merkes det i selve feltet (navnet begynner med «ki_»), ikke bare her. Koblingen mellom KommuneTVs talerid og navn er håndkuratert i kildetreet; hvordan hver kobling er belagt, står i feltet navn_sikkerhet.",
   "ki_behandlet": "Innleggstekst (transkript) er automatisk teksting fra KommuneTV, det vil si maskinell talegjenkjenning (KI-behandlet) som ingen har kontrollert. Den er ikke sitatsikker. Eksportfilene og de åpne sidene har ingen innleggstekst. Den automatiske tekstingen ligger bak innlogging i Mitt sakskart og er merket der den står."
  },
  "metode": "https://aas.sakskart.no/om/",
  "presse": "https://aas.sakskart.no/presse/",
  "rettelser": "https://aas.sakskart.no/om/#rettelser",
  "forbehold": [
   "Ytringstekstene er automatisk teksting (auto-teksting) og kan inneholde feil — KommuneTV-opptaket og møteprotokollen er de autoritative kildene. Direktesitater må aldri presenteres som eksakte.",
   "Egennavn i ytringstekst er upålitelige (auto-teksting) — talernavn kommer fra KommuneTVs talerlogg, ikke fra transkriptteksten.",
   "Tekstvinduet er typisk ±én setning upresist; kantene kan inneholde naboytringer — medietiden er den autoritative pekeren inn i opptaket.",
   "Opptak, talerlogg og personstemmer finnes fra 29.10.2025, da Ås kommunestyre kom inn i KommuneTV-arkivet. Eldre møter finnes bare som saksdokumenter fra kommunens møteportal, fra 2023. Kommunestyremøtet 21.10.2026 lå ikke i KommuneTV-arkivet per 05.11.2026 og er derfor bare med som dokumenter.",
   "Møtet 2026-03-25 mangler undertekster — innleggene derfra vises uten tekst.",
   "Voteringstallene kommer fra KommuneTV og kan avvike fra protokollen: avbrutte eller omtatte voteringer forekommer, og enkelte punktvoteringer mangler — møteprotokollen er den autoritative kilden for utfall.",
   "Enkelte stemmer kunne ikke knyttes til navn — de vises som «stemmer uten navn», og partifordelingen kan da mangle enkeltstemmer.",
   "Representantlista er et automatisk utkast fra KommuneTVs talerlogg og protokollenes møtehoder, og er ikke kontrollert av et menneske ennå. Stemmer fra representanter som ikke står i noen talerlogg, vises som «stemmer uten navn».",
   "Fravær er implisitt: voteringene inneholder kun de som stemte — «stemte ikke» betyr ikke «mot»."
  ]
 },
 "resources": [
  {
   "name": "voteringer",
   "path": "https://aas.sakskart.no/data/aas/voteringer.csv",
   "title": "Alle avstemninger",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8-sig",
   "dialect": {
    "delimiter": ",",
    "lineTerminator": "\r\n",
    "header": true
   },
   "schema": {
    "fields": [
     {
      "name": "votering_id",
      "type": "string",
      "description": "dato-organ-saksnummer-løpenummer i møtet. Stabil så lenge KommuneTVs data for møtet ikke endres"
     },
     {
      "name": "dato",
      "type": "date",
      "description": "møtedato (ÅÅÅÅ-MM-DD)"
     },
     {
      "name": "organ",
      "type": "string",
      "description": "organet avstemningen skjedde i (kommunestyret eller formannskapet)"
     },
     {
      "name": "saksnummer",
      "type": "string",
      "description": "saksnummer i møtet slik KommuneTV fører det. ⚠ Talerlogg og protokoll har ulike nummerserier: koble på sak_url, ikke på (dato, saksnummer)"
     },
     {
      "name": "sakstittel",
      "type": "string",
      "description": "sakens tittel fra KommuneTV"
     },
     {
      "name": "forslag",
      "type": "string",
      "description": "forslagsteksten som ble stemt over, i full lengde slik kilden har den. Tom når kilden ikke har tekst — da står forslaget i protokollen"
     },
     {
      "name": "avstemning_om_hele_saken",
      "type": "boolean",
      "trueValues": [
       "ja"
      ],
      "falseValues": [
       "nei"
      ],
      "description": "ja = avstemningen om selve innstillingen; nei = endrings- eller tilleggsforslag"
     },
     {
      "name": "resultattekst",
      "type": "string",
      "description": "KommuneTVs egen resultattekst, ordrett"
     },
     {
      "name": "utfall",
      "type": "string",
      "description": "vedtatt / falt / likt / ingen_stemmer_registrert (for + mot = 0; resultatteksten står i resultattekst) — for FORSLAGET. «mot» betyr mot forslaget, ikke nødvendigvis mot saken"
     },
     {
      "name": "utfall_kilde",
      "type": "string",
      "description": "kommunetv_resultattekst eller regnet_av_stemmetall (når resultatteksten mangler)"
     },
     {
      "name": "for",
      "type": "integer",
      "description": "stemmer for, inkludert stemmer uten navn"
     },
     {
      "name": "mot",
      "type": "integer",
      "description": "stemmer mot, inkludert stemmer uten navn"
     },
     {
      "name": "stemmer_uten_navn",
      "type": "integer",
      "description": "stemmer KommuneTV ikke har knyttet til et navn"
     },
     {
      "name": "plasser_i_organet",
      "type": "integer",
      "description": "antall plasser i organet (47 i kommunestyret, 13 i formannskapet)"
     },
     {
      "name": "ikke_registrert",
      "type": "integer",
      "description": "plasser − for − mot: ingen registrert stemme. Er IKKE «mot» — kan være fravær eller manglende registrering"
     },
     {
      "name": "personstemmer",
      "type": "boolean",
      "trueValues": [
       "ja"
      ],
      "falseValues": [
       "nei"
      ],
      "description": "ja = navnene finnes (se stemmer.csv, med navn_sikkerhet per stemme)"
     },
     {
      "name": "sak_url",
      "type": "string",
      "description": "sakssiden hos Sakskartet; tom når koblingen ikke er sikker"
     },
     {
      "name": "opptak_url",
      "type": "string",
      "description": "møtet hos KommuneTV. Spilleren tar ikke tidskode i adressen"
     },
     {
      "name": "opptak_tilgjengelig",
      "type": "boolean",
      "trueValues": [
       "ja"
      ],
      "falseValues": [
       "nei"
      ],
      "description": "nei = KommuneTV har tatt ned opptaket; avstemningen sto like fullt"
     },
     {
      "name": "AP_for",
      "type": "integer",
      "description": "Arbeiderpartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "AP_mot",
      "type": "integer",
      "description": "Arbeiderpartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "FRP_for",
      "type": "integer",
      "description": "Fremskrittspartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "FRP_mot",
      "type": "integer",
      "description": "Fremskrittspartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "H_for",
      "type": "integer",
      "description": "Høyre: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "H_mot",
      "type": "integer",
      "description": "Høyre: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "MDG_for",
      "type": "integer",
      "description": "Miljøpartiet De Grønne: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "MDG_mot",
      "type": "integer",
      "description": "Miljøpartiet De Grønne: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "PS_for",
      "type": "integer",
      "description": "Partiet Sentrum: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "PS_mot",
      "type": "integer",
      "description": "Partiet Sentrum: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "R_for",
      "type": "integer",
      "description": "Rødt: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "R_mot",
      "type": "integer",
      "description": "Rødt: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "SP_for",
      "type": "integer",
      "description": "Senterpartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "SP_mot",
      "type": "integer",
      "description": "Senterpartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "SV_for",
      "type": "integer",
      "description": "Sosialistisk Venstreparti: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "SV_mot",
      "type": "integer",
      "description": "Sosialistisk Venstreparti: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "V_for",
      "type": "integer",
      "description": "Venstre: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "V_mot",
      "type": "integer",
      "description": "Venstre: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "UAVHENGIG_for",
      "type": "integer",
      "description": "Uavhengig representant: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "UAVHENGIG_mot",
      "type": "integer",
      "description": "Uavhengig representant: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     }
    ],
    "primaryKey": "votering_id"
   }
  },
  {
   "name": "voteringer-2025",
   "path": "https://aas.sakskart.no/data/aas/voteringer-2025.csv",
   "title": "Avstemninger, år 2025",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8-sig",
   "dialect": {
    "delimiter": ",",
    "lineTerminator": "\r\n",
    "header": true
   },
   "schema": {
    "fields": [
     {
      "name": "votering_id",
      "type": "string",
      "description": "dato-organ-saksnummer-løpenummer i møtet. Stabil så lenge KommuneTVs data for møtet ikke endres"
     },
     {
      "name": "dato",
      "type": "date",
      "description": "møtedato (ÅÅÅÅ-MM-DD)"
     },
     {
      "name": "organ",
      "type": "string",
      "description": "organet avstemningen skjedde i (kommunestyret eller formannskapet)"
     },
     {
      "name": "saksnummer",
      "type": "string",
      "description": "saksnummer i møtet slik KommuneTV fører det. ⚠ Talerlogg og protokoll har ulike nummerserier: koble på sak_url, ikke på (dato, saksnummer)"
     },
     {
      "name": "sakstittel",
      "type": "string",
      "description": "sakens tittel fra KommuneTV"
     },
     {
      "name": "forslag",
      "type": "string",
      "description": "forslagsteksten som ble stemt over, i full lengde slik kilden har den. Tom når kilden ikke har tekst — da står forslaget i protokollen"
     },
     {
      "name": "avstemning_om_hele_saken",
      "type": "boolean",
      "trueValues": [
       "ja"
      ],
      "falseValues": [
       "nei"
      ],
      "description": "ja = avstemningen om selve innstillingen; nei = endrings- eller tilleggsforslag"
     },
     {
      "name": "resultattekst",
      "type": "string",
      "description": "KommuneTVs egen resultattekst, ordrett"
     },
     {
      "name": "utfall",
      "type": "string",
      "description": "vedtatt / falt / likt / ingen_stemmer_registrert (for + mot = 0; resultatteksten står i resultattekst) — for FORSLAGET. «mot» betyr mot forslaget, ikke nødvendigvis mot saken"
     },
     {
      "name": "utfall_kilde",
      "type": "string",
      "description": "kommunetv_resultattekst eller regnet_av_stemmetall (når resultatteksten mangler)"
     },
     {
      "name": "for",
      "type": "integer",
      "description": "stemmer for, inkludert stemmer uten navn"
     },
     {
      "name": "mot",
      "type": "integer",
      "description": "stemmer mot, inkludert stemmer uten navn"
     },
     {
      "name": "stemmer_uten_navn",
      "type": "integer",
      "description": "stemmer KommuneTV ikke har knyttet til et navn"
     },
     {
      "name": "plasser_i_organet",
      "type": "integer",
      "description": "antall plasser i organet (47 i kommunestyret, 13 i formannskapet)"
     },
     {
      "name": "ikke_registrert",
      "type": "integer",
      "description": "plasser − for − mot: ingen registrert stemme. Er IKKE «mot» — kan være fravær eller manglende registrering"
     },
     {
      "name": "personstemmer",
      "type": "boolean",
      "trueValues": [
       "ja"
      ],
      "falseValues": [
       "nei"
      ],
      "description": "ja = navnene finnes (se stemmer.csv, med navn_sikkerhet per stemme)"
     },
     {
      "name": "sak_url",
      "type": "string",
      "description": "sakssiden hos Sakskartet; tom når koblingen ikke er sikker"
     },
     {
      "name": "opptak_url",
      "type": "string",
      "description": "møtet hos KommuneTV. Spilleren tar ikke tidskode i adressen"
     },
     {
      "name": "opptak_tilgjengelig",
      "type": "boolean",
      "trueValues": [
       "ja"
      ],
      "falseValues": [
       "nei"
      ],
      "description": "nei = KommuneTV har tatt ned opptaket; avstemningen sto like fullt"
     },
     {
      "name": "AP_for",
      "type": "integer",
      "description": "Arbeiderpartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "AP_mot",
      "type": "integer",
      "description": "Arbeiderpartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "FRP_for",
      "type": "integer",
      "description": "Fremskrittspartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "FRP_mot",
      "type": "integer",
      "description": "Fremskrittspartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "H_for",
      "type": "integer",
      "description": "Høyre: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "H_mot",
      "type": "integer",
      "description": "Høyre: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "MDG_for",
      "type": "integer",
      "description": "Miljøpartiet De Grønne: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "MDG_mot",
      "type": "integer",
      "description": "Miljøpartiet De Grønne: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "PS_for",
      "type": "integer",
      "description": "Partiet Sentrum: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "PS_mot",
      "type": "integer",
      "description": "Partiet Sentrum: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "R_for",
      "type": "integer",
      "description": "Rødt: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "R_mot",
      "type": "integer",
      "description": "Rødt: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "SP_for",
      "type": "integer",
      "description": "Senterpartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "SP_mot",
      "type": "integer",
      "description": "Senterpartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "SV_for",
      "type": "integer",
      "description": "Sosialistisk Venstreparti: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "SV_mot",
      "type": "integer",
      "description": "Sosialistisk Venstreparti: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "V_for",
      "type": "integer",
      "description": "Venstre: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "V_mot",
      "type": "integer",
      "description": "Venstre: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "UAVHENGIG_for",
      "type": "integer",
      "description": "Uavhengig representant: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "UAVHENGIG_mot",
      "type": "integer",
      "description": "Uavhengig representant: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     }
    ],
    "primaryKey": "votering_id"
   }
  },
  {
   "name": "voteringer-2026",
   "path": "https://aas.sakskart.no/data/aas/voteringer-2026.csv",
   "title": "Avstemninger, år 2026",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8-sig",
   "dialect": {
    "delimiter": ",",
    "lineTerminator": "\r\n",
    "header": true
   },
   "schema": {
    "fields": [
     {
      "name": "votering_id",
      "type": "string",
      "description": "dato-organ-saksnummer-løpenummer i møtet. Stabil så lenge KommuneTVs data for møtet ikke endres"
     },
     {
      "name": "dato",
      "type": "date",
      "description": "møtedato (ÅÅÅÅ-MM-DD)"
     },
     {
      "name": "organ",
      "type": "string",
      "description": "organet avstemningen skjedde i (kommunestyret eller formannskapet)"
     },
     {
      "name": "saksnummer",
      "type": "string",
      "description": "saksnummer i møtet slik KommuneTV fører det. ⚠ Talerlogg og protokoll har ulike nummerserier: koble på sak_url, ikke på (dato, saksnummer)"
     },
     {
      "name": "sakstittel",
      "type": "string",
      "description": "sakens tittel fra KommuneTV"
     },
     {
      "name": "forslag",
      "type": "string",
      "description": "forslagsteksten som ble stemt over, i full lengde slik kilden har den. Tom når kilden ikke har tekst — da står forslaget i protokollen"
     },
     {
      "name": "avstemning_om_hele_saken",
      "type": "boolean",
      "trueValues": [
       "ja"
      ],
      "falseValues": [
       "nei"
      ],
      "description": "ja = avstemningen om selve innstillingen; nei = endrings- eller tilleggsforslag"
     },
     {
      "name": "resultattekst",
      "type": "string",
      "description": "KommuneTVs egen resultattekst, ordrett"
     },
     {
      "name": "utfall",
      "type": "string",
      "description": "vedtatt / falt / likt / ingen_stemmer_registrert (for + mot = 0; resultatteksten står i resultattekst) — for FORSLAGET. «mot» betyr mot forslaget, ikke nødvendigvis mot saken"
     },
     {
      "name": "utfall_kilde",
      "type": "string",
      "description": "kommunetv_resultattekst eller regnet_av_stemmetall (når resultatteksten mangler)"
     },
     {
      "name": "for",
      "type": "integer",
      "description": "stemmer for, inkludert stemmer uten navn"
     },
     {
      "name": "mot",
      "type": "integer",
      "description": "stemmer mot, inkludert stemmer uten navn"
     },
     {
      "name": "stemmer_uten_navn",
      "type": "integer",
      "description": "stemmer KommuneTV ikke har knyttet til et navn"
     },
     {
      "name": "plasser_i_organet",
      "type": "integer",
      "description": "antall plasser i organet (47 i kommunestyret, 13 i formannskapet)"
     },
     {
      "name": "ikke_registrert",
      "type": "integer",
      "description": "plasser − for − mot: ingen registrert stemme. Er IKKE «mot» — kan være fravær eller manglende registrering"
     },
     {
      "name": "personstemmer",
      "type": "boolean",
      "trueValues": [
       "ja"
      ],
      "falseValues": [
       "nei"
      ],
      "description": "ja = navnene finnes (se stemmer.csv, med navn_sikkerhet per stemme)"
     },
     {
      "name": "sak_url",
      "type": "string",
      "description": "sakssiden hos Sakskartet; tom når koblingen ikke er sikker"
     },
     {
      "name": "opptak_url",
      "type": "string",
      "description": "møtet hos KommuneTV. Spilleren tar ikke tidskode i adressen"
     },
     {
      "name": "opptak_tilgjengelig",
      "type": "boolean",
      "trueValues": [
       "ja"
      ],
      "falseValues": [
       "nei"
      ],
      "description": "nei = KommuneTV har tatt ned opptaket; avstemningen sto like fullt"
     },
     {
      "name": "AP_for",
      "type": "integer",
      "description": "Arbeiderpartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "AP_mot",
      "type": "integer",
      "description": "Arbeiderpartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "FRP_for",
      "type": "integer",
      "description": "Fremskrittspartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "FRP_mot",
      "type": "integer",
      "description": "Fremskrittspartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "H_for",
      "type": "integer",
      "description": "Høyre: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "H_mot",
      "type": "integer",
      "description": "Høyre: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "MDG_for",
      "type": "integer",
      "description": "Miljøpartiet De Grønne: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "MDG_mot",
      "type": "integer",
      "description": "Miljøpartiet De Grønne: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "PS_for",
      "type": "integer",
      "description": "Partiet Sentrum: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "PS_mot",
      "type": "integer",
      "description": "Partiet Sentrum: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "R_for",
      "type": "integer",
      "description": "Rødt: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "R_mot",
      "type": "integer",
      "description": "Rødt: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "SP_for",
      "type": "integer",
      "description": "Senterpartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "SP_mot",
      "type": "integer",
      "description": "Senterpartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "SV_for",
      "type": "integer",
      "description": "Sosialistisk Venstreparti: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "SV_mot",
      "type": "integer",
      "description": "Sosialistisk Venstreparti: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "V_for",
      "type": "integer",
      "description": "Venstre: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "V_mot",
      "type": "integer",
      "description": "Venstre: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "UAVHENGIG_for",
      "type": "integer",
      "description": "Uavhengig representant: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "UAVHENGIG_mot",
      "type": "integer",
      "description": "Uavhengig representant: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     }
    ],
    "primaryKey": "votering_id"
   }
  },
  {
   "name": "voteringer-kommunestyret",
   "path": "https://aas.sakskart.no/data/aas/voteringer-kommunestyret.csv",
   "title": "Avstemninger, kommunestyret",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8-sig",
   "dialect": {
    "delimiter": ",",
    "lineTerminator": "\r\n",
    "header": true
   },
   "schema": {
    "fields": [
     {
      "name": "votering_id",
      "type": "string",
      "description": "dato-organ-saksnummer-løpenummer i møtet. Stabil så lenge KommuneTVs data for møtet ikke endres"
     },
     {
      "name": "dato",
      "type": "date",
      "description": "møtedato (ÅÅÅÅ-MM-DD)"
     },
     {
      "name": "organ",
      "type": "string",
      "description": "organet avstemningen skjedde i (kommunestyret eller formannskapet)"
     },
     {
      "name": "saksnummer",
      "type": "string",
      "description": "saksnummer i møtet slik KommuneTV fører det. ⚠ Talerlogg og protokoll har ulike nummerserier: koble på sak_url, ikke på (dato, saksnummer)"
     },
     {
      "name": "sakstittel",
      "type": "string",
      "description": "sakens tittel fra KommuneTV"
     },
     {
      "name": "forslag",
      "type": "string",
      "description": "forslagsteksten som ble stemt over, i full lengde slik kilden har den. Tom når kilden ikke har tekst — da står forslaget i protokollen"
     },
     {
      "name": "avstemning_om_hele_saken",
      "type": "boolean",
      "trueValues": [
       "ja"
      ],
      "falseValues": [
       "nei"
      ],
      "description": "ja = avstemningen om selve innstillingen; nei = endrings- eller tilleggsforslag"
     },
     {
      "name": "resultattekst",
      "type": "string",
      "description": "KommuneTVs egen resultattekst, ordrett"
     },
     {
      "name": "utfall",
      "type": "string",
      "description": "vedtatt / falt / likt / ingen_stemmer_registrert (for + mot = 0; resultatteksten står i resultattekst) — for FORSLAGET. «mot» betyr mot forslaget, ikke nødvendigvis mot saken"
     },
     {
      "name": "utfall_kilde",
      "type": "string",
      "description": "kommunetv_resultattekst eller regnet_av_stemmetall (når resultatteksten mangler)"
     },
     {
      "name": "for",
      "type": "integer",
      "description": "stemmer for, inkludert stemmer uten navn"
     },
     {
      "name": "mot",
      "type": "integer",
      "description": "stemmer mot, inkludert stemmer uten navn"
     },
     {
      "name": "stemmer_uten_navn",
      "type": "integer",
      "description": "stemmer KommuneTV ikke har knyttet til et navn"
     },
     {
      "name": "plasser_i_organet",
      "type": "integer",
      "description": "antall plasser i organet (47 i kommunestyret, 13 i formannskapet)"
     },
     {
      "name": "ikke_registrert",
      "type": "integer",
      "description": "plasser − for − mot: ingen registrert stemme. Er IKKE «mot» — kan være fravær eller manglende registrering"
     },
     {
      "name": "personstemmer",
      "type": "boolean",
      "trueValues": [
       "ja"
      ],
      "falseValues": [
       "nei"
      ],
      "description": "ja = navnene finnes (se stemmer.csv, med navn_sikkerhet per stemme)"
     },
     {
      "name": "sak_url",
      "type": "string",
      "description": "sakssiden hos Sakskartet; tom når koblingen ikke er sikker"
     },
     {
      "name": "opptak_url",
      "type": "string",
      "description": "møtet hos KommuneTV. Spilleren tar ikke tidskode i adressen"
     },
     {
      "name": "opptak_tilgjengelig",
      "type": "boolean",
      "trueValues": [
       "ja"
      ],
      "falseValues": [
       "nei"
      ],
      "description": "nei = KommuneTV har tatt ned opptaket; avstemningen sto like fullt"
     },
     {
      "name": "AP_for",
      "type": "integer",
      "description": "Arbeiderpartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "AP_mot",
      "type": "integer",
      "description": "Arbeiderpartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "FRP_for",
      "type": "integer",
      "description": "Fremskrittspartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "FRP_mot",
      "type": "integer",
      "description": "Fremskrittspartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "H_for",
      "type": "integer",
      "description": "Høyre: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "H_mot",
      "type": "integer",
      "description": "Høyre: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "MDG_for",
      "type": "integer",
      "description": "Miljøpartiet De Grønne: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "MDG_mot",
      "type": "integer",
      "description": "Miljøpartiet De Grønne: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "PS_for",
      "type": "integer",
      "description": "Partiet Sentrum: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "PS_mot",
      "type": "integer",
      "description": "Partiet Sentrum: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "R_for",
      "type": "integer",
      "description": "Rødt: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "R_mot",
      "type": "integer",
      "description": "Rødt: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "SP_for",
      "type": "integer",
      "description": "Senterpartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "SP_mot",
      "type": "integer",
      "description": "Senterpartiet: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "SV_for",
      "type": "integer",
      "description": "Sosialistisk Venstreparti: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "SV_mot",
      "type": "integer",
      "description": "Sosialistisk Venstreparti: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "V_for",
      "type": "integer",
      "description": "Venstre: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "V_mot",
      "type": "integer",
      "description": "Venstre: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "UAVHENGIG_for",
      "type": "integer",
      "description": "Uavhengig representant: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     },
     {
      "name": "UAVHENGIG_mot",
      "type": "integer",
      "description": "Uavhengig representant: frammøtte fra partiet som stemte for/mot (ikke mandater). Partiet er det representanten hadde på avstemningsdagen"
     }
    ],
    "primaryKey": "votering_id"
   }
  },
  {
   "name": "stemmer",
   "path": "https://aas.sakskart.no/data/aas/stemmer.csv",
   "title": "Hvem stemte hva (én rad per navngitt stemme)",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8-sig",
   "schema": {
    "fields": [
     {
      "name": "votering_id",
      "type": "string",
      "description": "dato-organ-saksnummer-løpenummer i møtet. Stabil så lenge KommuneTVs data for møtet ikke endres"
     },
     {
      "name": "dato",
      "type": "date",
      "description": "møtedato (ÅÅÅÅ-MM-DD)"
     },
     {
      "name": "organ",
      "type": "string",
      "description": "organet avstemningen skjedde i (kommunestyret eller formannskapet)"
     },
     {
      "name": "saksnummer",
      "type": "string",
      "description": "saksnummer i møtet slik KommuneTV fører det. ⚠ Talerlogg og protokoll har ulike nummerserier: koble på sak_url, ikke på (dato, saksnummer)"
     },
     {
      "name": "sakstittel",
      "type": "string",
      "description": "sakens tittel fra KommuneTV"
     },
     {
      "name": "navn",
      "type": "string"
     },
     {
      "name": "parti",
      "type": "string",
      "description": "partiet på avstemningsdagen"
     },
     {
      "name": "stemme",
      "type": "string",
      "description": "for eller mot forslaget"
     },
     {
      "name": "navn_sikkerhet",
      "type": "string",
      "description": "hvordan navnet bak stemmen er belagt: talerlogg (navnet står i KommuneTVs talerlogg), protokoll (protokollens navngitte stemmetall), utledet (KI-assistert tolkning av fremmøte og stemmemønster — kan være feil, sjekk protokollen), ukjent (ikke dokumentert)"
     },
     {
      "name": "representant_url",
      "type": "string"
     }
    ],
    "foreignKeys": [
     {
      "fields": "votering_id",
      "reference": {
       "resource": "voteringer",
       "fields": "votering_id"
      }
     }
    ]
   }
  }
 ]
}