Ga naar inhoud

Tickets

Een ticket is een vermelding in een wachtrij, uitgegeven aan een klant zodra deze aansluit. Het is de kerneenheid van het wachtrijsysteem — alles van het display tot de balie-interface draait om tickets.

  • Ticketnummer — een oplopend geheel getal dat zichtbaar is voor de klant, wordt weergegeven op het kioskbonnetje, wordt getoond op het display en zichtbaar is in de wachtlijst van de balie. Nummers zijn gebonden aan een wachtrij en lopen monotoon op — ze worden nooit gereset.
  • Tickethash — een willekeurige string van 22 tekens met 128 bits entropie. Deze hash is de anonieme referentie van de klant (zie hieronder).
  • Status — een van zes waarden (zie hieronder).
  • Wachtrij — de wachtrij waartoe het ticket behoort.
  • Tijdstempels — wanneer het ticket is aangemaakt, opgeroepen, afgerond, enz.
  • Annotaties (optioneel) — door het personeel ingevoerde metadata: klantnaam, groepsgrootte en een vrije notitie. Zie Ticketannotaties.

Een ticket doorloopt de volgende statussen tijdens zijn levenscyclus:

StatusDefinitief?Betekenis
WAITINGNeeDe klant staat in de wachtrij, wachtend om te worden opgeroepen.
CALLEDNeeEen balie heeft dit ticket opgeroepen; de klant moet naar de balie komen.
SKIPPEDNeeDe balie heeft dit ticket overgeslagen. Terug te roepen — personeel kan het terugzetten naar WAITING.
COMPLETEDJaDe balie heeft de service als afgerond gemarkeerd.
CANCELEDJaDe klant heeft zijn eigen plek in de wachtrij geannuleerd.
NO_SHOWJaDe balie heeft bevestigd dat de klant afwezig is. Wordt apart geteld in analyses ten opzichte van SKIPPED.
WAITING → CALLED → COMPLETED
↘ SKIPPED → WAITING (balie roept de klant terug)
↘ NO_SHOW (balie bevestigt afwezigheid)
↘ CANCELED (klant annuleert zijn uitgestelde plek)
WAITING → CANCELED (door klant geïnitieerd)
CALLED → CANCELED (door klant geïnitieerd)
SKIPPED → CANCELED (door klant geïnitieerd — verwijdert uit de terugroepbare pool)

SKIPPED is een terugroepbaar uitstel — de klant is overgeslagen, maar het ticket is nog steeds actief. Personeel kan de klant terugroepen met de actie Terugzetten in wachtrij in de opzoekweergave van de balie, of door binnen 5 seconden na het overslaan op Ongedaan maken te drukken. Het pushabonnement van een overgeslagen klant blijft actief, zodat de pushmelding van terugroepen → oproepen hem bereikt, zelfs als de ticketpagina is gesloten.

NO_SHOW is een bevestigde, definitieve afwezigheid. Het ticket wordt verwijderd uit de terugroepbare pool en apart geteld in analyses. Gebruik dit wanneer je zeker weet dat de klant is vertrokken.

Zie No-shows afhandelen voor de volledige workflow voor de balie.

Personeel kan lichte metadata aan elk ticket koppelen via de actie Notitie toevoegen bij de balie:

  • Klantnaam — altijd getoond bij de balie. Alleen getoond op het display als de instelling Oproepen op naam van de wachtrij aanstaat, en dan alleen in geminimaliseerde vorm (“Voornaam A.”) — nooit de volledige naam.
  • Groepsgrootte — altijd getoond bij de balie en uitgezonden naar het display (een aantal met lage gevoeligheid).
  • Notitie — vrije notitie voor achter de schermen. Alleen bij de balie; nooit verzonden naar het display of de klant.

Een reden voor overslaan (ingevoerd in het veld Reden voor overslaan (optioneel) wanneer een ticket wordt overgeslagen) wordt opgeslagen in het notitieveld van het ticket en is zichtbaar in de opzoekweergave van de balie.

Annotaties kunnen op elk moment worden toegevoegd of bijgewerkt zolang het ticket niet definitief is.

Een WAITING-ticket kan worden overgezet naar een andere wachtrij binnen dezelfde locatie met de knop Verplaatsen bij de balie. Dit is handig wanneer een klant bij de verkeerde wachtrij is aangesloten of wanneer triage aan het licht brengt dat hij een andere service nodig heeft.

Overzetregels:

  • Alleen WAITING-tickets kunnen worden overgezet. CALLED-tickets moeten eerst worden afgerond, overgeslagen of als no-show gemarkeerd.
  • De bron- en doelwachtrij moeten zich in dezelfde locatie bevinden.
  • De doelwachtrij moet ACTIVE zijn.
  • De balie moet zijn toegewezen aan zowel de bron- als de doelwachtrij.
  • Een actief abonnement is vereist.

Positionering na overzetting — het ticket behoudt het oorspronkelijke aansluittijdstip van de klant plus een straftijd van 5 minuten. Dit behoudt de wachttijd die hij al heeft opgebouwd, terwijl wordt voorkomen dat hij voordringt op klanten die al langer wachten in de doelwachtrij.

De tickethash blijft behouden — de URL van de ticketpagina van de klant blijft geldig. Het ticket krijgt een nieuw oplopend nummer in de doelwachtrij. Realtime updates worden onmiddellijk naar beide wachtrijen uitgezonden.

Zie de sectie Een ticket overzetten naar een andere wachtrij van de baliegids voor stapsgewijze instructies.

Klanten zijn anoniem — er is geen login of account vereist om aan te sluiten bij een wachtrij. In plaats daarvan dient de tickethash van 22 tekens als eigendomsbewijs van de klant. Deze is ingebed in de URL van de ticketpagina:

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

Het kennen van de hash bewijst dat je eigenaar bent van dat ticket. De API gebruikt de hash om te autoriseren:

  • ticketByHash — je ticket en positie opzoeken
  • cancelTicket — je eigen ticket annuleren (werkt voor tickets met status WAITING, CALLED en SKIPPED)

Dit ontwerp is bewust: het haalt alle wrijving weg bij het aansluiten bij een wachtrij. Geen account, geen app, geen wachtwoord — alleen een URL.

De hash heeft 128 bits entropie (gelijk aan een UUID v4), waardoor het rekenkundig onhaalbaar is om de tickethash van een andere klant te raden.

Aansluiten blijft wrijvingsloos bij normaal gebruik. Als antimisbruikmaatregel kan het zijn dat, als één wachtrij in een kort tijdsbestek een abnormaal hoge piek aan aansluitingen krijgt, klanten die via het web aansluiten (QR-code of link) wordt gevraagd een snelle “ik ben een mens”-verificatie te voltooien voordat hun ticket wordt uitgegeven. De meeste legitieme bezoekers doorlopen dit onzichtbaar. Dit verschijnt alleen tijdens pieken — bij normaal verkeer wordt geen verificatie getoond — en het geldt nooit voor de kiosk ter plekke, waarvan de aansluitingen worden vertrouwd via apparaatreferentie.

Wanneer een ticket in de status WAITING staat, toont de ticketpagina van de klant een geschatte wachttijd. Dezelfde schatting wordt getoond op het bevestigingsscherm van de kiosk na het aansluiten, zodat de klant de kiosk verlaat met een nummer om te onthouden. Dit is een indicatieve schatting, geen garantie.

De schatting wordt berekend op basis van recente service-intervallen bij die wachtrij: als er in de afgelopen 90 minuten genoeg afgeronde tickets zijn, leidt de server een mediane servicetijd af en vermenigvuldigt deze met de positie van de klant in de wachtrij (mensen ervoor + 0,5). Wanneer de klant als eerste aan de beurt is (nul mensen ervoor), wordt de schatting als nul gerapporteerd. Wanneer recente geschiedenis schaars is, wordt de ingestelde Verwachte servicetijd van de wachtrij als terugvaloptie gebruikt. De schatting draagt een betrouwbaarheidsindicator (high wanneer afgeleid van live gegevens of wanneer de klant als eerste aan de beurt is, low bij terugvallen op de ingestelde standaardwaarde).

De schatting wordt alleen getoond voor WAITING-tickets in een ACTIVE-wachtrij. Deze wordt niet getoond wanneer de wachtrij is gepauzeerd, en verdwijnt zodra het ticket wordt opgeroepen.

  1. Klant sluit aan via QR-code of kiosk → ticket uitgegeven in status WAITING.
  2. Klant opent de ticketpagina → ziet zijn positie in de wachtrij en, indien beschikbaar, een geschatte wachttijd in realtime.
  3. Wanneer de balie zijn nummer oproept, gaat het ticket over naar CALLED → de pagina van de klant werkt onmiddellijk bij.
  4. Klant gaat naar de balie. Na de service markeert de balie het als COMPLETED.
  5. Als de klant niet reageert, kan de balie:
    • Overslaan → ticket gaat over naar SKIPPED (terugroepbaar uitstel). Het scherm van de klant toont dat hij is overgeslagen, met opties om te wachten of opnieuw aan te sluiten.
    • Niet aanwezig → ticket gaat over naar NO_SHOW (definitief). Analyses tellen dit apart van overgeslagen tickets.
  6. Een overgeslagen klant kan door het personeel worden teruggeroepen (gaat terug naar WAITING vooraan in de rij), of kan zijn plek annuleren en achteraan opnieuw aansluiten.