Hoppa till innehåll

Biljetter

En biljett är en post i en kö som utfärdas till en kund när de går med. Det är köns centrala enhet — allt från skärmen till kassans gränssnitt kretsar kring biljetter.

  • Biljettnummer — ett löpande heltal synligt för kunden, visas på kioskkvittot, på skärmen och i kassans väntelista. Nummer är avgränsade till en kö och ökar monotont — de återställs aldrig.
  • Biljetthash — en 22-tecken lång slumpsträng med 128 bitars entropi. Denna hash är kundens anonyma legitimation (se nedan).
  • Status — ett av sex värden (se nedan).
  • — kön biljetten tillhör.
  • Tidsstämplar — när biljetten skapades, ropades upp, slutfördes osv.
  • Anteckningar (valfritt) — metadata inmatad av personal: kundnamn, antal personer och en fritextanteckning. Se Biljettanteckningar.

En biljett rör sig genom följande statusar under sin livscykel:

StatusSlutgiltig?Betydelse
WAITINGNejKunden är i kön och väntar på att bli uppropad.
CALLEDNejEn kassa har ropat upp biljetten; kunden bör gå fram till disken.
SKIPPEDNejKassan hoppade över biljetten. Kan ropas upp igen — personal kan flytta den till WAITING.
COMPLETEDJaKassan markerade betjäningen som klar.
CANCELEDJaKunden avbokade själv sin plats i kön.
NO_SHOWJaKassan bekräftade att kunden är frånvarande. Räknas separat i analys från SKIPPED.
WAITING → CALLED → COMPLETED
↘ SKIPPED → WAITING (kassan ropar upp kunden igen)
↘ NO_SHOW (kassan bekräftar frånvaro)
↘ CANCELED (kunden avbokar sin uppskjutna plats)
WAITING → CANCELED (kundinitierad)
CALLED → CANCELED (kundinitierad)
SKIPPED → CANCELED (kundinitierad — tas bort ur poolen som kan ropas upp igen)

SKIPPED är en uppskjutning som kan ropas upp igen — kunden hoppades över men biljetten är fortfarande aktiv. Personal kan ropa upp kunden igen med åtgärden Kalla tillbaka till kön i kassans uppslagsvy, eller genom att trycka på Ångra inom 5 sekunder efter att ha hoppat över. En överhoppad kunds push-notisprenumeration hålls varm, så push-notisen för återuppropning når fram även om biljettsidan har stängts.

NO_SHOW är en bekräftad, slutgiltig frånvaro. Biljetten tas bort ur poolen som kan ropas upp igen och räknas separat i analys. Använd detta när du är säker på att kunden har lämnat platsen.

Se Hantera uteblivna besök för hela kassans arbetsflöde.

Personal kan lägga till lättviktig metadata på vilken biljett som helst med åtgärden Anteckna vid kassan:

  • Kundnamn — visas vid kassan hela tiden. Visas på skärmen bara om köns inställning Kalla med namn är aktiverad, och då bara i en förminskad form (“Förnamn E.”) — aldrig hela namnet.
  • Antal personer — visas alltid vid kassan och sänds till skärmen (en lågkänslig räkning).
  • Anteckning — fritextanteckning för internt bruk. Endast vid kassan; skickas aldrig till skärmen eller kunden.

En anledning till att biljetten hoppades över (angiven i fältet Anledning till överhoppning (valfritt) när en biljett hoppas över) lagras i biljettens anteckningsfält och är synlig i kassans uppslagsvy.

Anteckningar kan läggas till eller uppdateras när som helst medan biljetten inte är i ett slutgiltigt tillstånd.

En biljett i WAITING-tillstånd kan flyttas till en annan kö på samma plats med knappen Flytta vid kassan. Detta är användbart när en kund har gått med i fel kö eller när en triagering visar att de behöver en annan tjänst.

Regler för flytt:

  • Bara biljetter i WAITING-tillstånd kan flyttas. Biljetter i CALLED-tillstånd måste först slutföras, hoppas över eller markeras som uteblivna.
  • Käll- och målkön måste vara på samma plats.
  • Målkön måste vara ACTIVE.
  • Kassan måste vara tilldelad både käll- och målkön.
  • En aktiv prenumeration krävs.

Placering efter flytt — biljetten behåller kundens ursprungliga anslutningstid plus ett tidstillägg på 5 minuter. Detta bevarar den väntetid de redan har haft samtidigt som det hindrar dem från att hoppa före kunder som väntat längre i målkön.

Biljetthashen bevaras — kundens biljettsida-URL förblir giltig. Biljetten får ett nytt löpande nummer i målkön. Realtidsuppdateringar sänds till båda köerna omedelbart.

Se avsnittet Flytta en biljett till en annan kö i kassans guide för steg-för-steg-instruktioner.

Kunder är anonyma — ingen inloggning eller konto krävs för att gå med i en kö. I stället fungerar den 22-tecken långa biljetthashen som kundens ägarskapsbevis. Den finns inbäddad i biljettsidans URL:

https://customer.jonot.io/{org}/{location}/{queue}/{ticket-hash}/

Att känna till hashen bevisar att du äger den biljetten. API:et använder hashen för att auktorisera:

  • ticketByHash — slå upp din biljett och din plats i kön
  • cancelTicket — avboka din egen biljett (fungerar för biljetter i WAITING, CALLED och SKIPPED)

Denna design är avsiktlig: den tar bort all friktion från att gå med i en kö. Inget konto, ingen app, inget lösenord — bara en URL.

Hashen har 128 bitars entropi (motsvarande en UUID v4), vilket gör det beräkningsmässigt ogenomförbart att gissa en annan kunds biljetthash.

Att gå med i en kö förblir friktionsfritt vid normal användning. Som ett skydd mot missbruk kan kunder som ansluter via webben (QR-kod eller länk) ibland behöva slutföra en snabb “jag är en människa”-verifiering innan biljetten utfärdas, om en enskild kö får en ovanligt hög våg av anslutningar under ett kort tidsfönster. De flesta legitima besökare klarar den osynligt. Detta visas bara vid vågor — vid normal trafik visas ingen verifiering — och det gäller aldrig kiosken på plats, vars anslutningar litas på via enhetens legitimation.

När en biljett är i WAITING-tillstånd visar kundens biljettsida en uppskattad väntetid. Samma uppskattning visas på kioskens bekräftelseskärm efter anslutning, så kunden lämnar kiosken med ett nummer att komma ihåg. Detta är en bästa uppskattning, inte en garanti.

Uppskattningen beräknas från nyliga betjäningsintervall i den kön: om tillräckligt många slutförda biljetter finns de senaste 90 minuterna härleder servern en medianbetjäningstid och multiplicerar den med kundens plats i kön (personer före + 0,5). När kunden är näst på tur (noll personer före) rapporteras uppskattningen som noll. När den nyliga historiken är begränsad används köns konfigurerade Förväntad servicetid (minuter) som reservvärde. Uppskattningen har en tillförlitlighetsindikator (hög när den härleds från aktuell data eller när kunden är näst på tur, låg när standardvärdet används).

Uppskattningen visas bara för biljetter i WAITING-tillstånd i en ACTIVE-kö. Den visas inte när kön är pausad, och den försvinner så snart biljetten ropas upp.

  1. Kunden går med via QR-kod eller kiosk → biljett utfärdas i WAITING-tillstånd.
  2. Kunden öppnar biljettsidan → ser sin plats i kön och, när tillgängligt, en uppskattad väntetid i realtid.
  3. När kassan ropar upp deras nummer flyttas biljetten till CALLED → kundens sida uppdateras omedelbart.
  4. Kunden går fram till disken. Efter betjäningen markerar kassan den som COMPLETED.
  5. Om kunden inte svarar kan kassan:
    • Hoppa över → biljetten flyttas till SKIPPED (uppskjutning som kan ropas upp igen). Kundens skärm visar att de hoppades över, med alternativ att vänta eller gå med igen.
    • Ej närvarande → biljetten flyttas till NO_SHOW (slutgiltig). Analysen räknar detta separat från överhoppade biljetter.
  6. En överhoppad kund kan ropas upp igen av personal (flyttas tillbaka till WAITING längst fram i kön), eller kan avboka sin plats och gå med igen längst bak.