Hoppa till innehållet
Luxe Group

Case · Egen produkt

Passakuten: hitta en tidigare passtid utan att sitta och uppdatera

Passakuten är vår egen tjänst för dig som behöver pass eller nationellt id-kort och inte vill vänta på den första lediga tiden. Tjänsten bevakar lediga tider och bokar en tidigare tid i kundens namn. Vi byggde den på det vi lärt oss av Uppkörningstid.

Uppdaterad · Luxe Group AB

Plattform
Webb (mobilanpassad)
Byggt med
Next.js, Bun, PostgreSQL, Redis, BullMQ
Inloggning
Kundens eget BankID
Betalning
Engångsköp via Stripe (kort och Klarna)
Lansering
Hösten 2026

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.

Vanliga frågor

Är Passakuten en del av Polisen?

Nej. Passakuten är en fristående tjänst som drivs av Luxe Group AB. Kunden loggar in med sitt eget BankID, och bokningen görs i kundens eget namn.

Varför engångsköp i stället för prenumeration?

Man förnyar passet sällan, så en prenumeration passar dåligt. Ett engångsköp via Stripe Checkout är enklare för kunden och ger ett enklare betalflöde med återbetalningar och villkor.

Hur skiljer sig Passakuten från Uppkörningstid tekniskt?

Grunden är densamma: Next.js, en worker med kö, BankID och SMS. Men i Passakuten är workern en egen container, logiken för bokningssystemet ligger i ett eget paket och driften är versionerad med Docker Compose.

Kan ni bygga en liknande tjänst för en annan bransch?

Ofta, ja. Kö, worker, BankID-inloggning, notiser, betalning och admin går att återanvända. Vad som får bevakas och hur bedömer vi i varje enskilt fall.

Läs vidare