Problemet
Enligt Polisens egna uppgifter från augusti 2026, som Passakuten hänvisar till, går omkring 2,4 miljoner pass ut under 2027. Det är ungefär en halv miljon fler än ett vanligt år. När många ska förnya samtidigt blir väntan till en ledig tid lång. Tider blir lediga när andra avbokar, men för att få tag på dem måste man logga in och söka gång på gång.
Den uppgiften ville vi automatisera, samtidigt som bokningen skulle göras som Polisen kräver: med kundens egen e-legitimation och i kundens eget namn. Passakuten är en fristående tjänst och inte en del av Polisen. Vi säljer inga tider. Vi hjälper kunden att hitta och boka en tidigare tid i sitt eget namn.
Vad vi byggde
Kunden väljer upp till fyra passexpeditioner och ett datumintervall. Sedan lägger hen till de personer som ska med, upp till åtta i samma bokning. Kunden betalar en gång och loggar in med sitt eget BankID. Tjänsten bevakar sedan lediga tider och bokar när en tidigare tid blir ledig, och kunden får ett SMS. Bevakningen pågår tills en tid är bokad eller tills slutdatumet har passerat.
Enligt sajten kostar det 199 kr för en person och 299 kr för en familj med 2–8 sökande. Båda är engångsköp utan prenumeration, och tjänsten täcker alla 111 polisstationer med pass i Sverige.
Tekniska utmaningar och hur vi löste dem
Samma grund, bättre struktur
Uppkörningstid hade redan visat att mönstret håller: BankID-inloggning, en kö, bakgrundsjobb, SMS och admin. Men Passakuten fick ett eget repo i stället för en plats i det gamla, så att en ändring i den ena tjänsten aldrig kan välta den andra. Vi tog också chansen att göra om det vi ville ändra:
- Workern är en egen container och inte inbäddad i webbappen. Den skalas och driftsätts för sig, och om webben kraschar påverkas inte de pågående bevakningarna.
- Logiken för bokningssystemet ligger i ett eget paket med ett litet och tydligt gränssnitt för att söka, reservera och boka. Det gör den testbar och lätt att byta ut om källan ändras.
- Notiser ligger i ett eget paket, med SMS och e-post via Resend. Delade regler för telefonnummer, tidsfönster och kryptering ligger i ett gemensamt paket.
- Driften är versionerad. Webb, worker, databas och Redis körs i Docker Compose, och databasmigreringen körs som ett eget engångsjobb vid driftsättning.
Bevakning i kundens namn
Sedan 2022 kräver Polisen att den som bokar använder sin egen e-legitimation. Därför bygger tjänsten på att kunden loggar in med sitt eget BankID, och all bokning sker i kundens session och namn. Vi bokar aldrig på företagets legitimation och köper aldrig tider i förväg för att sälja vidare. Personnummer lagras krypterade. Ett gallringsjobb avslutar inloggningar när bevakningen är klar och raderar personnumren inom 30 dagar, så som integritetspolicyn anger. Kontroller för samma expedition samordnas mellan kunder i stället för att köras en gång per kund.
Engångsköp och konsumentregler
Uppkörningstid har prenumeration, men Passakuten säljs som ett engångsköp. Det passar bättre för något man gör en gång vart tionde år. Vi bygger egna Stripe Checkout-sessioner i betalningsläge, och en webhook hanterar slutförda och misslyckade betalningar samt återbetalningar. Enligt distansavtalslagen ska kunden aktivt godkänna att tjänsten börjar direkt och förstå hur ångerrätten fungerar. Därför fick den frågan en tydlig plats i kassan i stället för en ifylld ruta.
SEO från dag ett
Efterfrågan väntas toppa under 2027. Därför började SEO-arbetet samtidigt som utvecklingen, så att sajten hinner indexeras och få ålder. Varje passexpedition får en egen sida under /passtider/, byggd från en katalog med adress, öppettider och uppgift om expeditionen tar emot ansökningar. Till det kommer guider, en sitemap, llms.txt och delningsbilder. Sidorna ska vara användbara för sig själva och inte bara mallsidor med ett nytt ortnamn.
Admin och drift
Admin har vyer för bevakningar, användare, ekonomi, statistik, support och drift. Workern har en hälsokontroll som driftövervakningen läser av. Det mesta återanvändes från Uppkörningstid, och därför kunde vi lägga tiden på det som är unikt för pass.
Vad vi lärde oss
- Återanvändning går snabbare andra gången. Vi kunde bygga en ny tjänst på en beprövad grund i stället för att börja om.
- Affärsmodellen påverkar tekniken. Engångsköp eller prenumeration avgör betalflöde, återbetalningar, villkor och kassan.
- Juridik och tydliga texter ska in från början. Kunden ska aldrig tro att hen köper en tid eller att vi är en myndighet.
- SEO behöver tid. Bästa tillfället att börja är innan efterfrågan kommer, inte när den redan är här.
Vad det betyder för dig som kund
Passakuten visar hur vi arbetar när vi tar fram en ny produkt. Vi börjar med att undersöka marknad, regler och teknik, återanvänder det som fungerar och skriver nytt där det behövs. SEO-arbetet startar samtidigt som bygget. Behöver du en webbtjänst med BankID, Stripe-betalningar, bakgrundsjobb eller ortsidor som ska ranka? Läs mer om webbutveckling, SEO och betalningar och BankID, eller mejla info@luxegroup.se.