Files
retur/src/data/content.ts

224 lines
18 KiB
TypeScript
Raw Normal View History

2026-07-20 19:45:59 +02:00
import type { Letter, Regulation, Route } from '../types.ts';
export const ROUTES: Record<Route, { label: string; stamp: string; description: string }> = {
deliver: { label: 'VIDAREBEFORDRA', stamp: 'VIDARE', description: 'Adressen är giltig. Låt någon annan få problemet.' },
return: { label: 'ÅTERSÄND', stamp: 'RETUR', description: 'Avsändaren finns och bör få tillbaka sin försändelse.' },
archive: { label: 'ARKIV 9', stamp: 'ARKIV', description: 'Försändelser som gäller det förflutna. Eller kommer därifrån.' },
quarantine: { label: 'KARANTÄN', stamp: 'SPÄRRA', description: 'Öppna inte igen. Särskilt inte om brevet ber snällt.' },
};
export const REGULATIONS: Regulation[] = [
{ id: 'r1', fromDay: 1, number: '1.1', text: 'Fullständig gatuadress och nutida mottagare: vidarebefordra.' },
{ id: 'r2', fromDay: 1, number: '1.4', text: 'Saknad eller uppenbart ogiltig adress: återsänd om avsändare finns.' },
{ id: 'r3', fromDay: 1, number: '2.2', text: 'Poststämplar äldre än femtio år tillhör Arkiv 9.' },
{ id: 'r4', fromDay: 1, number: '3.1', text: 'Försändelser som uttryckligen ber att inte öppnas placeras i karantän.' },
{ id: 'r5', fromDay: 2, number: '4.3', text: 'Mottagare registrerade som avlidna behandlas som historiska ärenden: Arkiv 9.' },
{ id: 'r6', fromDay: 2, number: '4.7', text: 'Om den avlidne själv anges som avsändare gäller karantän.', note: 'Senare föreskrift har företräde.' },
{ id: 'r6b', fromDay: 2, number: '4.9', text: 'Försändelser som saknar både giltig avsändare och adress placeras i karantän.' },
{ id: 'r7', fromDay: 3, number: '5.2', text: 'Adresser med negativt gatunummer är ogiltiga och skall återsändas.' },
{ id: 'r8', fromDay: 3, number: '5.9', text: 'Internpost från Avdelning Noll får alltid vidarebefordras.', note: 'Även när adressen i övrigt är otillåten.' },
{ id: 'r9', fromDay: 4, number: '6.6', text: 'Brev vars text förändras mellan läsningar placeras i karantän.' },
{ id: 'r10', fromDay: 4, number: '6.8', text: 'Tre eller fler svarta stämplar innebär Arkiv 9, utom när §6.6 gäller.' },
{ id: 'r11', fromDay: 5, number: '7.1', text: 'Post från ett framtida datum skall återsändas till avsändaren.' },
{ id: 'r12', fromDay: 5, number: '7.4', text: 'Framtida post som beskriver den pågående arbetsdagen skall sättas i karantän.', note: 'Läs inte sista stycket.' },
];
export const LETTERS: Letter[] = [
{
id: 'l01', day: 1, sender: 'Britta Nilsson', recipient: 'Ture Andersson', address: 'Bokgatan 14, Malmö', postmark: '2026-07-21',
body: 'Ture, din kofta ligger fortfarande här. Jag skickar den inte igen. Hämta den innan torsdag.', marks: ['Porto betalt'],
correctRoute: 'deliver', explanation: 'Fullständig adress och inget annat anmärkningsvärt. Det är nästan misstänkt normalt.',
},
{
id: 'l02', day: 1, sender: 'K. Lund', recipient: 'Den som bor ovanför vinden', address: 'Huset med den gröna dörren', postmark: '2026-07-20',
body: 'Ni har fått fel nyckel. Använd den inte i källardörren.', marks: ['Adress saknas'],
correctRoute: 'return', explanation: 'Adressen är ogiltig och avsändaren finns. Återsänd. Nyckeln nämns inte i föreskrifterna.',
},
{
id: 'l03', day: 1, sender: 'Ester Malm', recipient: 'Oskar Malm', address: 'Södra Förstadsgatan 81', postmark: '1912-11-03',
body: 'Käre Oskar. De knackar under golvet igen. Far säger att huset sätter sig.', marks: ['BLEKINGE BATALJON', 'Öppnat av censuren'],
correctRoute: 'archive', explanation: 'Poststämpeln är äldre än femtio år. Arkiv 9 hanterar resten.',
},
{
id: 'l04', day: 1, sender: 'Fastighetskontoret', recipient: 'Nattvakt 3', address: 'Förvaltningen, internfack 12', postmark: '2026-07-21',
body: 'ÖPPNA INTE I BELYST RUM. Förvaras svalt. Om innehållet börjar nynna, kontakta ingen.', marks: ['ÖPPNA EJ'],
correctRoute: 'quarantine', explanation: 'Brevet säger uttryckligen att det inte skall öppnas. Det var generöst av det.',
},
{
id: 'l05', day: 2, sender: 'Malmö Stad', recipient: 'Signe Persson (18881961)', address: 'Föreningsgatan 32', postmark: '2026-07-22',
body: 'Påminnelse om utebliven närvaro vid den årliga medborgardialogen.', marks: ['ANDRA PÅMINNELSEN'],
correctRoute: 'archive', explanation: 'Mottagaren är registrerad som avliden. Historiskt ärende, trots kommunens optimism.',
},
{
id: 'l06', day: 2, sender: 'Signe Persson (18881961)', recipient: 'Malmö Stad', address: 'August Palms plats 1', postmark: '2026-07-22',
body: 'Jag har fått era båda påminnelser. Jag kommer inte. Vänligen uppdatera era register.', marks: ['JORD UNDER FRIMÄRKET'],
correctRoute: 'quarantine', explanation: 'Den avlidne är avsändare. Den senare föreskriften §4.7 har företräde.',
},
{
id: 'l07', day: 2, sender: 'Lars Dahl', recipient: 'Lars Dahl', address: 'Regementsgatan 19', postmark: '2026-07-22',
body: 'Till mig själv: glöm inte att köpa mjölk. Och svara inte när telefonen ringer 03:14.', marks: ['EGENPOST'],
correctRoute: 'deliver', explanation: 'Självkorrespondens är beklaglig men inte förbjuden.',
},
{
id: 'l08', day: 2, sender: '— SAKNAS —', recipient: 'Föreståndaren', address: '', postmark: '2026-07-22',
body: 'Det finns inget returkontor på plan fyra. Sluta skicka personal dit.', marks: ['AVSÄNDARE SAKNAS'],
correctRoute: 'quarantine', explanation: 'Både giltig avsändare och adress saknas. §4.9 tar över returregeln.',
},
{
id: 'l09', day: 3, sender: 'Asta Berg', recipient: 'Hjalmar Berg', address: 'Kyrkogatan -4, Malmö', postmark: '2026-07-23',
body: 'Trappan fortsätter fyra våningar nedanför källaren. Ta med lampan den här gången.', marks: ['FELVÄNT FRIMÄRKE'],
correctRoute: 'return', explanation: 'Negativa gatunummer är ogiltiga. Var trappan leder är inte ert ansvarsområde.',
},
{
id: 'l10', day: 3, sender: 'Avdelning Noll', recipient: 'Arkivarien', address: 'Korridor -2, dörr 0', postmark: '2026-07-23',
body: 'Inventeringen är slutförd. Vi saknar fortfarande en anställd. Namnet är ditt.', marks: ['INTERNPOST', '0'],
correctRoute: 'deliver', explanation: 'Internpost från Avdelning Noll går alltid vidare, även till negativa adresser.',
},
{
id: 'l11', day: 3, sender: 'PostNord Kundservice', recipient: 'PostNord Kundservice', address: 'Ej utdelningsbart', postmark: '2026-07-23',
body: 'Vi beklagar att ditt brev inte kunde levereras. Ditt ärende är viktigt för oss.', marks: ['AUTOMATISKT SVAR'],
correctRoute: 'return', explanation: 'Ogiltig adress, giltig avsändare. Kretsloppet är inte ert problem.',
},
{
id: 'l12', day: 3, sender: 'Avdelning Noll', recipient: 'Ingen särskild', address: '', postmark: '2026-07-23',
body: 'Vidarebefordra detta. Det behöver inte komma fram.', marks: ['INTERNPOST', '0'],
correctRoute: 'deliver', explanation: '§5.9 säger alltid. Myndigheten har fetmarkerat ordet i originalet.',
},
{
id: 'l13', day: 4, sender: 'M. Ek', recipient: 'M. Ek', address: 'Amiralsgatan 7', postmark: '2026-07-24',
body: 'Första läsningen: Lägg brevet i Arkiv 9. Andra läsningen: Du gjorde inte det.', marks: ['TEXTEN HAR ÄNDRATS'],
correctRoute: 'quarantine', explanation: 'Föränderlig text omfattas av §6.6. Följ inte brevets egen sorteringsinstruktion.',
},
{
id: 'l14', day: 4, sender: 'Riksarkivet', recipient: 'Lokalkontoret', address: 'Arkivgatan 9', postmark: '1948-02-09',
body: 'Överföring av handlingar rörande det rum som avlägsnades ur ritningen.', marks: ['SVART STÄMPEL', 'SVART STÄMPEL', 'SVART STÄMPEL'],
correctRoute: 'archive', explanation: 'Både ålder och tre svarta stämplar pekar mot Arkiv 9. För en gångs skull är reglerna överens.',
},
{
id: 'l15', day: 4, sender: 'Någon bakom dig', recipient: 'Du', address: 'Sorteringsbordet', postmark: '2026-07-24',
body: 'Vänd dig inte om. Texten kommer vara annorlunda när du tittar tillbaka.', marks: ['SVART STÄMPEL', 'SVART STÄMPEL', 'SVART STÄMPEL', 'TEXTEN HAR ÄNDRATS'],
correctRoute: 'quarantine', explanation: '§6.6 undantar brevet från trestämpelregeln. Du vände dig väl inte om?',
},
{
id: 'l16', day: 4, sender: 'Kammarkollegiet', recipient: 'Vederbörande', address: 'Stora Nygatan 1', postmark: '2026-07-24',
body: 'Härmed översändes blankett 14-C. Blanketten bekräftar att blankett 14-C saknas.', marks: ['DIARIEFÖRD'],
correctRoute: 'deliver', explanation: 'Fullständig adress, nutida mottagare, vanlig svensk förvaltning.',
},
{
id: 'l17', day: 5, sender: 'Ture Andersson', recipient: 'Britta Nilsson', address: 'Bokgatan 12, Malmö', postmark: '2037-07-25',
body: 'Skicka inte koftan. Det är så den hittar hit.', marks: ['PORTO GÄLLER FRÅN 2037'],
correctRoute: 'return', explanation: 'Framtida post återsänds. Familjens koftproblem får lösas kronologiskt.',
},
{
id: 'l18', day: 5, sender: 'Du', recipient: 'Du', address: 'Avdelningen för obeställbara försändelser', postmark: '2026-07-26',
body: 'Klockan är 16:42. Du har två brev kvar. Lägg inte detta i returhögen. Det är där handen finns.', marks: ['IMORGON', 'TEXTEN HAR ÄNDRATS'],
correctRoute: 'quarantine', explanation: 'Framtida post som beskriver den pågående arbetsdagen omfattas av §7.4.',
},
{
id: 'l19', day: 5, sender: 'Avdelning Noll', recipient: 'Föreståndaren', address: 'Kontor 4', postmark: '2031-01-01',
body: 'Gratulerar till fem års prickfri tjänst. Beklagar resten.', marks: ['INTERNPOST', '0', 'FRAMTIDA'],
correctRoute: 'deliver', explanation: '§5.9 säger alltid. Avdelning Noll har företräde även framför framtiden.',
},
{
id: 'l20', day: 5, sender: 'Föreståndaren', recipient: 'Ny handläggare', address: 'Sorteringsbordet', postmark: '1956-07-25',
body: 'Om du läser detta har jag fått gå hem. Det händer sällan här. Bordet behöver någon.', marks: ['PERSONALAKT', 'SVART STÄMPEL', 'SVART STÄMPEL', 'SVART STÄMPEL'],
correctRoute: 'archive', explanation: 'Äldre än femtio år och tre svarta stämplar. Arkiv 9 tar hand om företrädaren. Förmodligen.',
},
{
id: 'l21', day: 1, sender: 'MKB Fastighets AB', recipient: 'Boende, lgh 1302', address: 'Grönegatan 8, Malmö', postmark: '2026-07-21',
body: 'Planerat vattenavbrott torsdag 09:0015:00. Knackningar i ledningarna under övrig tid ingår inte i felanmälan.', marks: ['SAMHÄLLSINFORMATION'],
correctRoute: 'deliver', explanation: 'Fullständig adress och nutida mottagare. Fastighetens rörsystem ligger utanför uppdraget.',
correctConsequence: 'Meddelandet gick vidare. Klockan 09:01 på torsdag blev hela huset tyst.',
},
{
id: 'l22', day: 1, sender: 'Havet', recipient: 'Den som öppnade sist', address: '', postmark: '2026-07-21',
body: 'ÖPPNA INTE. Jag har redan kommit in genom kuvertets hörn.', marks: ['SALTFLÄCKAR', 'ÖPPNA EJ'],
correctRoute: 'quarantine', explanation: 'Brevet ber uttryckligen att inte öppnas. §3.1 gäller oavsett avsändarens geografiska omfång.',
correctConsequence: 'Karantänskåpets nedersta låda började droppa. Golvbrunnen tog hand om det mesta.',
wrongConsequences: {
deliver: 'Brevbäraren kom tillbaka genomblöt och utan skugga. Händelsen registrerades som arbetsrelaterad.',
return: 'Kustbevakningen hittade retursäcken flytande utanför Limhamn. Den var varm.',
archive: 'Arkiv 9 stängde för sanering. Din signatur fanns på insidan av samtliga kuvert.',
},
penalty: { deliver: { composure: 2, suspicion: 2 }, return: { suspicion: 2 }, archive: { composure: 2 } },
},
{
id: 'l23', day: 2, sender: 'Folkbokföringen', recipient: 'Karl-Gustav Holm (19011974)', address: 'Rönneholmsvägen 44', postmark: '2026-07-22',
body: 'Bekräftelse av adressändring. Ny folkbokföringsadress: samma plats, cirka två meter längre ned.', marks: ['PERSONBEVIS'],
correctRoute: 'archive', explanation: 'Mottagaren är avliden. Formulärets exakta djup förändrar inte §4.3.',
correctConsequence: 'Arkiv 9 lade handlingen i en mapp märkt FAST BOENDE. Mappen var redan full.',
},
{
id: 'l24', day: 2, sender: 'Karl-Gustav Holm (19011974)', recipient: 'Folkbokföringen', address: 'Kattsundsgatan 7', postmark: '2026-07-22',
body: 'Adressändringen godkänns inte. Det är trångt här nere och grannen spelar radio hela natten.', marks: ['LUKT AV FUKT', 'HANDSKRIVET'],
correctRoute: 'quarantine', explanation: 'En avliden person står som avsändare. §4.7 är den specifika och senare föreskriften.',
correctConsequence: 'Brevet låstes in. Radion hördes ändå svagt från ventilationsgallret resten av dagen.',
wrongConsequences: {
deliver: 'Folkbokföringen registrerade Karl-Gustav som levande. Systemet registrerade samtidigt dig som avliden.',
return: 'Kuvertet återkom med tillägget NEKAS: MOTTAGAREN EJ HEMMA, skrivet med din handstil.',
archive: 'Arkiv 9 vägrade ta emot avsändaren två gånger. Den tredje gången tog de emot budet i stället.',
},
penalty: { deliver: { composure: 1, suspicion: 2 }, return: { composure: 2 }, archive: { suspicion: 2 } },
},
{
id: 'l25', day: 3, sender: 'Avdelning Noll', recipient: 'Vaktmästeriet', address: 'Källarplan -6', postmark: '2026-07-23',
body: 'Byt lampan i korridoren. Den nuvarande belyser sådant som inte längre är anställt.', marks: ['INTERNPOST', '0', 'BRÅDSKANDE'],
correctRoute: 'deliver', explanation: 'Avdelning Nolls internpost skall alltid vidare enligt §5.9, trots det negativa våningsplanet.',
correctConsequence: 'Vaktmästaren tog med en stege och kom tillbaka utan den. Lampan fungerar nu.',
},
{
id: 'l26', day: 3, sender: 'Bostadsrättsföreningen Eken', recipient: 'Innehavaren', address: 'Östra Rönneholmsvägen -1', postmark: '2026-07-23',
body: 'Kallelse till extra föreningsstämma angående den nya lägenheten under tvättstugan.', marks: ['REKOMMENDERAT'],
correctRoute: 'return', explanation: 'Negativa gatunummer är ogiltiga enligt §5.2. Det gäller även bostadsrättsföreningar med expansionsplaner.',
correctConsequence: 'Föreningen strök lägenheten ur röstlängden. Avgiften drogs fortfarande via autogiro.',
wrongConsequences: {
deliver: 'En ny namnskylt dök upp under hissens nedersta knapp. Föreningen kräver nu att du betalar medlemsavgift.',
archive: 'Arkiv 9 registrerade fastigheten. Kommunens karta fick ett hål där kvarteret brukade ligga.',
quarantine: 'Karantänskåpet kallades till föreningsstämman och fick två röster.',
},
penalty: { deliver: { suspicion: 2 }, archive: { composure: 2 }, quarantine: { suspicion: 2 } },
},
{
id: 'l27', day: 4, sender: 'Arkiv 9', recipient: 'Sorteringen', address: 'Internfack 9', postmark: '2026-07-24',
body: 'Den här försändelsen har tre svarta stämplar. Den här försändelsen har fyra svarta stämplar.', marks: ['SVART STÄMPEL', 'SVART STÄMPEL', 'SVART STÄMPEL', 'TEXTEN HAR ÄNDRATS'],
correctRoute: 'quarantine', explanation: 'Textförändring enligt §6.6 har uttryckligt företräde framför trestämpelregeln.',
correctConsequence: 'Skåpet svalde brevet utan att öppnas. En fjärde svart stämpel syntes kort på din handrygg.',
wrongConsequences: {
archive: 'Arkiv 9 skickade tillbaka brevet tillsammans med ett fotografi av dig när du fattade beslutet.',
},
penalty: { archive: { composure: 2, suspicion: 2 } },
},
{
id: 'l28', day: 4, sender: 'Länsstyrelsen', recipient: 'Arkiv 9', address: 'Internleverans', postmark: '2026-07-24',
body: 'Slutrapport rörande tre försvunna brunnar, två felplacerade vittnen och ett godkänt avsteg.', marks: ['SVART STÄMPEL', 'SVART STÄMPEL', 'SVART STÄMPEL'],
correctRoute: 'archive', explanation: 'Tre svarta stämplar innebär Arkiv 9. Texten har inte förändrats, hur mycket man än önskar det.',
correctConsequence: 'Rapporten arkiverades. En av brunnarna ströks från bilagan och från verkligheten.',
},
{
id: 'l29', day: 5, sender: 'Skatteverket 2041', recipient: 'Skatteverket 2026', address: 'Kungsgatan 15', postmark: '2041-03-18',
body: 'Förhandsbesked: dödsboet efter Staten Sverige saknar behörig firmatecknare.', marks: ['FRAMTIDA', 'TJÄNSTEPOST'],
correctRoute: 'return', explanation: 'Framtida post skall återsändas enligt §7.1. Innehållets skattemässiga betydelse är inte ert ansvar.',
correctConsequence: 'Returen accepterades femton år i förväg. Ett automatiskt dröjsmålsbrev skrevs ut omedelbart.',
},
{
id: 'l30', day: 5, sender: 'Föreståndaren, måndag', recipient: 'Du, fredag', address: 'Ditt sorteringsbord', postmark: '2026-07-27',
body: 'Du läser det sista brevet nu. När du har stämplat hör du hissen stanna på plan fyra. Ta inte med nyckeln.', marks: ['NÄSTA VECKA', 'PERSONLIGT'],
correctRoute: 'quarantine', explanation: 'Framtida post som beskriver den pågående arbetsdagen omfattas av §7.4. Det räcker att beskrivningen är korrekt.',
correctConsequence: 'Brevet låstes in. Hissen stannade ändå på plan fyra. Någon därute provade din dörr tre gånger.',
wrongConsequences: {
deliver: 'Du vidarebefordrade brevet till dig själv. Hissen öppnades och nästa arbetsvecka började genast.',
return: 'Föreståndaren tog emot returen i måndags och skrev ditt namn på fredagens frånvarolista.',
archive: 'Arkiv 9 registrerade dagen som redan avslutad. Alla klockor i huset hoppade till 17:01.',
},
penalty: { deliver: { composure: 2, suspicion: 2 }, return: { suspicion: 2 }, archive: { composure: 2 } },
},
2026-07-20 19:45:59 +02:00
];
export const DAY_BRIEFINGS = [
'Vanliga brev. Vanliga regler. Försök att inte vänja dig.',
'Personalregistret har uppdaterats. Några mottagare invände skriftligen.',
'Avdelning Noll har åter öppnat för internpost. Avdelning Noll finns inte.',
'Nattpersonalen rapporterar att vissa brev behöver läsas mer än en gång. Gör inte det.',
'Fredag. Framtiden har börjat svara. Stäng luckan 17:00, oavsett vem som knackar.',
];