Gå til indhold

Billetter

En billet er en post i en kø, som udstedes til en kunde, når vedkommende stiller sig i kø. Det er kø-systemets centrale enhed — alt fra skærmen til skranke-grænsefladen drejer sig om billetter.

  • Kønummer — et fortløbende heltal, synligt for kunden, vist på kiosk-kvitteringen, vist på skærmen og synligt i skrankens venteliste. Numre er afgrænset til en kø og stiger monotont — de nulstilles aldrig.
  • Billet-hash — en 22-tegns tilfældig streng med 128 bits entropi. Denne hash er kundens anonyme legitimationsoplysning (se nedenfor).
  • Status — én af seks værdier (se nedenfor).
  • — den kø, billetten hører til.
  • Tidsstempler — hvornår billetten blev oprettet, kaldt, afsluttet osv.
  • Annotationer (valgfrit) — metadata indtastet af personalet: kundenavn, antal personer og en fritekstnote. Se Billet-annotationer.

En billet gennemgår følgende status i sin livscyklus:

StatusEndelig?Betydning
WAITINGNejKunden er i køen og venter på at blive kaldt.
CALLEDNejEn skranke har kaldt denne billet; kunden bør gå hen til skranken.
SKIPPEDNejSkranken sprang denne billet over. Kan kaldes op igen — personalet kan flytte den tilbage til WAITING.
COMPLETEDJaSkranken markerede betjeningen som afsluttet.
CANCELEDJaKunden annullerede selv sin plads i køen.
NO_SHOWJaSkranken bekræftede, at kunden er udeblevet. Tælles separat i analyser fra SKIPPED.
WAITING → CALLED → COMPLETED
↘ SKIPPED → WAITING (skranken kalder kunden op igen)
↘ NO_SHOW (skranken bekræfter udeblivelse)
↘ CANCELED (kunden annullerer sin udskudte plads)
WAITING → CANCELED (kunde-initieret)
CALLED → CANCELED (kunde-initieret)
SKIPPED → CANCELED (kunde-initieret — fjernes fra puljen af genopkaldelige billetter)

SKIPPED er en genopkaldelig udskydelse — kunden blev sprunget over, men billetten er stadig aktiv. Personalet kan kalde kunden op igen med handlingen Kald tilbage til kø i skrankens opslagsvisning, eller ved at trykke på Fortryd inden for 5 sekunder efter overspringelsen. En oversprunget kundes push-abonnement holdes aktivt, så genopkalds-push-notifikationen når kunden, selv hvis billetsiden er blevet lukket.

NO_SHOW er en bekræftet, endelig udeblivelse. Billetten fjernes fra puljen af genopkaldelige billetter og tælles separat i analyser. Brug dette, når du er sikker på, at kunden er gået.

Se Håndter udeblivelser for hele skranke-arbejdsgangen.

Personalet kan knytte let metadata til enhver billet ved hjælp af handlingen Tilføj annotation på skranken:

  • Kundenavn — vises altid på skranken. Vises kun på skærmen, hvis køens indstilling Kald ved navn er slået til, og selv da kun i en forkortet form (“Fornavn E.”) — aldrig det fulde navn.
  • Antal personer — vises altid på skranken og udsendes til skærmen (et lidt følsomt antal).
  • Note — fritekst-baglokalenote. Kun på skranken; sendes aldrig til skærmen eller kunden.

En årsag til overspringelse (indtastet i feltet Årsag til overspringning (valgfrit), når en billet springes over) gemmes i billettens notefelt og er synlig i skrankens opslagsvisning.

Annotationer kan tilføjes eller opdateres når som helst, mens billetten ikke har en endelig status.

En billet i status WAITING kan overføres til en anden kø på samme lokation ved hjælp af knappen Flyt på skranken. Det er nyttigt, når en kunde har stillet sig i den forkerte kø, eller når en vurdering viser, at vedkommende har brug for en anden service.

Overførselsregler:

  • Kun billetter i status WAITING kan overføres. Billetter i status CALLED skal først afsluttes, springes over eller markeres som udeblivelse.
  • Kilde- og målkøen skal være på samme lokation.
  • Målkøen skal være ACTIVE.
  • Skranken skal være tildelt både kilde- og målkøen.
  • Et aktivt abonnement er påkrævet.

Placering efter overførsel — billetten bevarer kundens oprindelige tilmeldingstidspunkt plus en 5-minutters tidsstraf. Dette bevarer den ventetid, kunden allerede har udstået, samtidig med at det forhindres, at vedkommende springer foran kunder, der har ventet længere i målkøen.

Billet-hashen bevares — kundens billetside-URL forbliver gyldig. Billetten får et nyt fortløbende nummer i målkøen. Realtidsopdateringer sendes straks til begge køer.

Se afsnittet Overfør en billet til en anden kø i skranke-vejledningen for trin-for-trin-instruktioner.

Billet-hashen som legitimationsoplysning

Sektion kaldt “Billet-hashen som legitimationsoplysning”

Kunder er anonyme — der kræves hverken login eller konto for at stille sig i en kø. I stedet fungerer den 22-tegns billet-hash som kundens bevis på ejerskab. Den er indlejret i billetsidens URL:

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

At kende hashen beviser, at billetten er din. API’et bruger hashen til at autorisere:

  • ticketByHash — slå din billet og position op
  • cancelTicket — annullér din egen billet (virker for billetter i WAITING, CALLED og SKIPPED)

Dette design er bevidst: det fjerner al friktion fra det at stille sig i en kø. Ingen konto, ingen app, ingen adgangskode — kun en URL.

Hashen har 128 bits entropi (svarende til en UUID v4), hvilket gør det beregningsmæssigt umuligt at gætte en anden kundes billet-hash.

At stille sig i kø forbliver friktionsfrit ved normal brug. Som en misbrugsbeskyttelse kan kunder, der stiller sig i kø via nettet (QR-kode eller link), blive bedt om at gennemføre en kort “jeg er et menneske”- verificering, før deres billet udstedes, hvis en enkelt kø modtager et usædvanligt højt antal tilmeldinger på kort tid. De fleste legitime besøgende består den usynligt. Den vises kun under sådanne bølger — ved normal trafik vises ingen verificering — og den gælder aldrig for kiosken på stedet, hvis tilmeldinger er betroet via enhedens legitimationsoplysning.

Når en billet er i status WAITING, viser kundens billetside en estimeret ventetid. Det samme estimat vises på kioskens bekræftelsesskærm efter tilmelding, så kunden forlader kiosken med et nummer at huske. Dette er et bedste-forsøg-estimat, ikke en garanti.

Estimatet beregnes ud fra de seneste betjeningsintervaller for den kø: hvis der findes nok afsluttede billetter inden for de sidste 90 minutter, udleder serveren en median betjeningstid og ganger den med kundens position i køen (personer foran + 0,5). Er kunden den næste i rækken (nul personer foran), rapporteres estimatet som nul. Hvis den seneste historik er sparsom, bruges køens konfigurerede forventede betjeningstid som fallback. Estimatet bærer en tillidsindikator (high, når den er udledt af live-data eller kunden er den næste, low, når der falder tilbage til den konfigurerede standard).

Estimatet vises kun for billetter i status WAITING i en kø i status ACTIVE. Det vises ikke, når køen er sat på pause, og det forsvinder, når billetten kaldes.

  1. Kunden stiller sig i kø via QR-kode eller kiosk → en billet udstedes i status WAITING.
  2. Kunden åbner billetsiden → ser sin position i køen og, når det er tilgængeligt, en estimeret ventetid i realtid.
  3. Når skranken kalder vedkommendes nummer, går billetten i status CALLED → kundens side opdateres straks.
  4. Kunden går hen til skranken. Efter betjening markerer skranken den som COMPLETED.
  5. Hvis kunden ikke reagerer, kan skranken:
    • Spring over → billetten går i status SKIPPED (genopkaldelig udskydelse). Kundens skærm viser, at vedkommende blev sprunget over, med mulighed for at vente eller stille sig i kø igen.
    • Ikke mødt → billetten går i status NO_SHOW (endelig). Analyser tæller dette separat fra oversprungne billetter.
  6. En oversprunget kunde kan kaldes op igen af personalet (går tilbage til status WAITING forrest i køen), eller kunden kan annullere sin plads og stille sig i kø igen bagest.