Gå til innholdet

Kølapper

En kølapp er en oppføring i en kø som utstedes til en kunde når vedkommende stiller seg i køen. Den er kjerneenheten i køsystemet — alt fra skjermen til skrankegrensesnittet dreier seg om kølapper.

  • Kønummer — et fortløpende heltall som er synlig for kunden, vises på kioskkvitteringen, vises på skjermen, og er synlig i skrankens venteliste. Numrene gjelder per kø og øker monotont — de nullstilles aldri.
  • Kølapphash — en 22-tegns tilfeldig streng med 128 bits entropi. Denne hashen er kundens anonyme legitimasjon (se nedenfor).
  • Status — en av seks verdier (se nedenfor).
  • — køen kølappen tilhører.
  • Tidsstempler — når kølappen ble opprettet, ropt opp, fullført osv.
  • Merknader (valgfritt) — metadata registrert av personalet: kundenavn, antall personer og en fritekstnotat. Se Kølappmerknader.

En kølapp går gjennom følgende statuser i løpet av livssyklusen:

StatusEndelig?Betydning
WAITINGNeiKunden er i køen og venter på å bli ropt opp.
CALLEDNeiEn skranke har ropt opp denne kølappen; kunden bør komme til disken.
SKIPPEDNeiSkranken hoppet over denne kølappen. Kan ropes opp igjen — personalet kan flytte den tilbake til WAITING.
COMPLETEDJaSkranken markerte betjeningen som ferdig.
CANCELEDJaKunden avbrøt sin egen plass i køen.
NO_SHOWJaSkranken bekreftet at kunden er fraværende. Telles separat fra SKIPPED i statistikken.
WAITING → CALLED → COMPLETED
↘ SKIPPED → WAITING (skranken roper opp kunden igjen)
↘ NO_SHOW (skranken bekrefter fravær)
↘ CANCELED (kunden avbryter sin utsatte plass)
WAITING → CANCELED (kundeinitiert)
CALLED → CANCELED (kundeinitiert)
SKIPPED → CANCELED (kundeinitiert — fjernes fra puljen som kan ropes opp igjen)

SKIPPED er en utsettelse som kan ropes opp igjen — kunden ble hoppet over, men kølappen er fortsatt aktiv. Personalet kan rope kunden opp igjen med handlingen Tilbake i køen i skrankens oppslagsvisning, eller ved å trykke Angre innen 5 sekunder etter hoppingen. Push-abonnementet til en hoppet-over kunde holdes aktivt, slik at push-varselet ved nytt opprop når frem selv om kølappsiden er lukket.

NO_SHOW er et bekreftet, endelig fravær. Kølappen fjernes fra puljen som kan ropes opp igjen, og telles separat i statistikken. Bruk dette når du er sikker på at kunden har gått.

Se Håndtere uteblivelser for hele skranke-arbeidsflyten.

Personalet kan feste enkle metadata til en hvilken som helst kølapp med handlingen Legg til notat på skranken:

  • Kundenavn — vises på skranken til enhver tid. Vises på skjermen kun hvis innstillingen Rop opp ved navn for køen er på, og selv da kun i forkortet form («Fornavn E.») — aldri fullt navn.
  • Antall personer — vises alltid på skranken og kringkastes til skjermen (et tall med lav sensitivitet).
  • Notat — fritekst internt notat. Kun på skranken; sendes aldri til skjermen eller kunden.

En årsak til hopping (angitt i feltet Årsak til at du hopper over (valgfritt) når en kølapp hoppes over) lagres i kølappens notatfelt og er synlig i skrankens oppslagsvisning.

Merknader kan legges til eller oppdateres når som helst mens kølappen ikke har endelig status.

En kølapp med status WAITING kan overføres til en annen kø på samme sted med knappen Flytt på skranken. Dette er nyttig når en kunde har stilt seg i feil kø, eller når en vurdering viser at kunden trenger en annen tjeneste.

Regler for overføring:

  • Bare kølapper med status WAITING kan overføres. Kølapper med status CALLED må først fullføres, hoppes over, eller markeres som uteblivelse.
  • Kilde- og målkøen må være på samme sted.
  • Målkøen må ha status ACTIVE.
  • Skranken må være tilordnet både kilde- og målkøen.
  • Et aktivt abonnement er påkrevd.

Plassering etter overføring — kølappen beholder kundens opprinnelige ankomsttidspunkt pluss et 5-minutters tillegg. Dette bevarer ventetiden kunden allerede har lagt ned, samtidig som det hindrer at kunden hopper foran kunder som har ventet lenger i målkøen.

Kølapphashen bevares — URL-en til kundens kølappside forblir gyldig. Kølappen får et nytt fortløpende nummer i målkøen. Sanntidsoppdateringer kringkastes umiddelbart til begge køer.

Se avsnittet Overføre en kølapp til en annen kø i skranke-veiledningen for en trinnvis fremgangsmåte.

Kunder er anonyme — ingen innlogging eller konto kreves for å stille seg i en kø. I stedet fungerer den 22-tegns kølapphashen som kundens eierbevis. Den er innebygd i URL-en til kølappsiden:

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

Å kjenne hashen beviser at du eier den kølappen. API-et bruker hashen til å autorisere:

  • ticketByHash — slå opp kølappen og posisjonen din
  • cancelTicket — avbryt din egen kølapp (fungerer for kølapper med status WAITING, CALLED og SKIPPED)

Denne utformingen er bevisst: den fjerner all friksjon fra det å stille seg i en kø. Ingen konto, ingen app, ingen passord — bare en URL.

Hashen har 128 bits entropi (tilsvarer en UUID v4), noe som gjør det beregningsmessig ugjennomførbart å gjette en annen kundes kølapphash.

Å stille seg i køen forblir friksjonsfritt ved normal bruk. Som en beskyttelse mot misbruk kan kunder som blir med via nettet (QR-kode eller lenke) bli bedt om å fullføre en rask «jeg er et menneske»-verifisering før kølappen utstedes, dersom én enkelt kø mottar en uvanlig høy bølge av nye deltakere i løpet av kort tid. De fleste legitime besøkende består den umerkelig. Dette vises bare under slike bølger — ved normal trafikk vises ingen verifisering — og den gjelder aldri kiosken på stedet, hvis deltakelser er tiltrodd via enhetslegitimasjon.

Når en kølapp har status WAITING, viser kundens kølappside en estimert ventetid. Det samme estimatet vises på kioskens bekreftelsesskjerm etter at kunden har stilt seg i køen, slik at kunden forlater kiosken med et tall å huske. Dette er et beste-forsøk-estimat, ikke en garanti.

Estimatet beregnes fra nylige betjeningsintervaller for den køen: hvis det finnes nok fullførte kølapper i løpet av de siste 90 minuttene, utleder serveren en median betjeningstid og multipliserer den med kundens posisjon i køen (personer foran + 0,5). Når kunden er nestemann (null personer foran), rapporteres estimatet som null. Når nylig historikk er sparsom, brukes køens konfigurerte forventede betjeningstid som reserveløsning. Estimatet har en konfidensindikator (high når det er utledet fra sanntidsdata eller kunden er nestemann, low når det faller tilbake på den konfigurerte standardverdien).

Estimatet vises bare for kølapper med status WAITING i en kø med status ACTIVE. Det vises ikke når køen er satt på pause, og det forsvinner så snart kølappen ropes opp.

  1. Kunden stiller seg i køen via QR-kode eller kiosk → en kølapp utstedes med status WAITING.
  2. Kunden åpner kølappsiden → ser posisjonen sin i køen og, når tilgjengelig, en estimert ventetid i sanntid.
  3. Når skranken roper opp nummeret, går kølappen til status CALLED → kundens side oppdateres umiddelbart.
  4. Kunden går til disken. Etter betjening markerer skranken den som COMPLETED.
  5. Hvis kunden ikke svarer, kan skranken:
    • trykke Hopp over → kølappen går til status SKIPPED (utsettelse som kan ropes opp igjen). Kundens skjerm viser at vedkommende ble hoppet over, med valg om å vente eller stille seg i køen på nytt.
    • trykke Ikke møtt → kølappen går til status NO_SHOW (endelig). Statistikken teller dette separat fra hoppede-over kølapper.
  6. En hoppet-over kunde kan ropes opp igjen av personalet (går tilbake til WAITING fremst i køen), eller kan avbryte plassen sin og stille seg i køen igjen bakerst.