Tokora
A take-a-number queue with a kiosk, a waiting-room board that speaks, and texts through your own Twilio.
For walk-in counters and front desks. Often replaces Qminder, Qtrac (now Frontlion), Skiplino or Waitwhile.
Single license $69 · Extended license $149 · paid once, yours for good
What it does
A chime and a spoken call-out, in your language and your own words, through the screen's own speakers. No extra hardware.
Visitors take their own number from a self-serve kiosk page, or from a QR code on the board. No staff needed to issue tickets.
Each ticket page shows how many are ahead and an estimated wait from today's pace. The 'you are next' text says it too.
Visitors can be texted when they are nearly up and when they are called. Off by default, your own Twilio account, each alert sent once.
Write the two texts yourself, with the visitor's number, the counter, your name and the wait filled in. Leave them empty for Tokora's words.
Bind a counter to one service or any service; it pulls the oldest waiter first. Call next, mark served, no-show or recall.
Transfer a ticket from reception to the next service and the visitor keeps the same number.
A short note to their ticket page, such as 'please bring your prescription', and they can reply.
Kiosk, ticket page, board and texts in English, French, German, Spanish or Polish. Each visitor's choice follows their ticket.
Per counter and per member of staff: called, served, no-shows and average handling time.
Switch it on and A-058 yesterday is followed by A-059 this morning. No number is reused between days.
Issued, served, no-shows, still waiting and average wait per service, as a PDF and a CSV.
Also: daily-reset numbers per service, a follow-along ticket page on the phone, and an installable phone app.
What Tokora deliberately doesn’t do.
- The display board is a web page you open on a screen you already own — no signage hardware, ticket printer or audio caller is included, and none is driven.
- The spoken call-out uses the display screen's own browser voice; sound starts after one tap on the board.
- Optional text alerts need your own Twilio account — Tokora ships no messaging account, and there is no email, push or WhatsApp.
- A live walk-in queue, not an appointment book: nothing here reserves a future slot.
- Single-tenant: one organization per installation (staff get their own accounts, roles and 2FA).
What renting costs instead
1 month of Qminder costs what Tokora costs once.
Read Sep 3, 2026 · source3 months of Waitwhile costs what Tokora costs once.
Read Sep 3, 2026 · source1 month of Skiplino costs what Tokora costs once.
Read Sep 3, 2026 · sourceThe full comparison: every rival, what each does better, and who should stay with them →
Replacing one of these? Qminder alternative · Waitwhile alternative · Skiplino alternative · Qtrac (now Frontlion) alternative
Release history
For Tokora, 4.1 makes two changes that every app gets. What’s new in 4.1 →
For Tokora, 4.0 means updates from inside the app: the Updates page checks for a new release with your license key, verifies Ownware's signature, takes a backup and… What’s new in 4.0 →
For Tokora, 3.3 lets you write the "you are next" and "go to the counter" texts yourself, with the visitor's number, the counter, your name and the estimated wait… What’s new in 3.3 →
For Tokora, 3.2 gave the waiting room a voice: the board calls each number out loud in your language, a QR code takes or follows a ticket from a phone, and the ticket…
The 3.1 wave gave the catalog a way to reach the other side of the transaction: counterparty email through your own SMTP server, calendar feeds your own calendar…
Call-next is now atomic: exactly one counter can win a ticket, so two desks can never announce the same person while the real next visitor is skipped in silence.
Tokora 2.0 adds the 2.0 owner layer.
What’s in the zip
The tree as the zip ships it — the working leftovers the packager deletes are not listed
- .htaccess
- API.md
- Dockerfile
- LICENSE.txt
- QUICKSTART.txt
- README.md
- assets/
- bin/
- config.sample.php
- controllers/
- deploy/
- index.php
- install/
- manifest.json
- offline.html
- router.php
- src/
- sw.js
- tests/
- views/
src/I18n.php: a real module, the first 24 of 364 lines
Chosen as the largest module in src/ that is not one of the shared cores — this product's own logic, not a file every product carries.
<?php
/**
* I18n.php — 3.2: the visitor's screens and texts in their language.
*
* Only what a VISITOR reads is translated: the kiosk, their ticket page, the waiting-room board,
* the messages that appear on those pages, and the text messages. The staff side stays in English.
* Names the owner types (services, counters, the board notice) are shown exactly as typed.
*
* The owner picks the visitors' default language (the board uses it) and which others the kiosk
* offers. A visitor who picks one at the kiosk keeps it on their ticket page and in their texts
* (tokens.lang). English is the source and the fallback: a key missing in a language shows the
* English words, never a blank or a key name. Plurals follow each language's rule (Polish has three).
*/
declare(strict_types=1);
final class I18n
{
/** Each language by its own name, as a visitor looks for it. */
public const LANGS = ['en' => 'English', 'fr' => 'Français', 'de' => 'Deutsch', 'es' => 'Español', 'pl' => 'Polski'];
/** The language in use for this request. */
public static string $lang = 'en';
/** A supported language code, or 'en'. "fr-FR" -> "fr". */Runs on: 2-minute web installer, plain PHP 8.1+ with MySQL (or SQLite for a trial), no Composer or build step — Docker image included. Tested on PHP 8.3. Or run it in Docker: the Dockerfile is in the zip.
Technical owners can install it with one line and their license key: curl -fsSL https://ownware.io/install.sh | sh -s -- tokora <your license key>
Nothing is obfuscated or encoded; what you read is what runs. Manual · API · the test run
Which license do I need?
It comes down to how many installations you need. Running your own business on one site is the Single license. A second domain of your own, or sites you build or run for other people, is the Extended license.
- Install it on one domain or subdomain you own or operate
- Change the source however you like for that installation
- Run your own business on it commercially, client work included
- Re-download the current build any time from your buyer portal
- A second site, or an installation you hand to a client as theirs, needs the Extended license
- No reselling, redistributing or sublicensing the source
- Not for offering it to other people as a hosted service
- Everything the Single license grants
- Install it on as many domains as you own or operate — no cap on the number
- Up to ten client installations, one per client project, handed over or hosted for each client; for more, buy another Extended license
- White-label: remove or replace the product name and logo in the screens of client installations
- Still no reselling or redistributing the source itself
- Running it as a multi-tenant service others sign up for needs a SaaS agreement
Every download carries the full terms as LICENSE.txt. The complete wording is on the terms page.
After you buy
The app’s Updates page installs a new release with your license key, with the release’s signature checked and a backup taken first. Your download link always serves the current build. Download again any time from your order page or the buyer portal; there is no renewal fee.
Email support for installation and for defects in the code as delivered: a person reads and answers every message. It does not cover custom development or server administration. What support covers
Refunds are handled by Lemon Squeezy as merchant of record, case by case. EU consumers keep the statutory 14-day right until delivery starts. Refund terms
It keeps running: your server, the full PHP source, no license check that can fail. If no stable release is published for 365 days, the domain limit lifts; after three such years your copy becomes MIT-licensed. The terms have the exact wording: continuity.
Questions
Do I need special hardware or a ticket printer?
How do the numbers reset?
Does it store any patient or personal health data?
MySQL or SQLite?
What if the developer disappears?
Can visitors get a text when it is their turn?
Is Tokora a subscription?
Queue systems are usually sold per counter or per screen. What changes?
What exactly do I get for the money?
Can I get the queue history out?
Covered in these guides
- What's new in Own It 3.3
- What's new in Own It 3.2
- The Retail Suite: what a shop floor actually runs on
- Open source is not the same as owned
- What's new in Own It 3.1
- "You Own Your Data" Is Only True If You Can Restore It
Also covered in: What's new in Own It 3.0 · The best self-hosted queue systems in 2026 — a category with a strange shape · A self-hosted queue system that isn't $789 a month.
More about Tokora
Self-hosted queue & token display — issue numbers, call them to counters, run the waiting-room board.
The problem it solves
Clinics, pharmacies, service desks, and council offices still run their waiting rooms on a paper pad and a raised voice — visitors don't know their place in line, staff lose track of who's next, and there's no record of how long anyone actually waited. Cloud queue systems fix it, but they charge per branch every month and often want a special ticket printer or display appliance.
- No fair, visible order — just names called across a noisy room
- No idea which counter is free or how long the queue really is
- A monthly per-branch fee (and vendor hardware) for what is a numbered list
Every feature
- Text alerts from your own Twilio. A visitor can leave their number on their own ticket page and be texted when they are nearly up and when they are called. Off by default, your own Twilio credentials, endpoint hard-coded to Twilio's API, each alert sent once — and in the demo it never sends at all.
- Services with daily-reset tokens. Each service issues its own prefixed numbers (A-001, B-014) that reset automatically every day — no cron job, computed on view.
- Staffed counters. Bind a counter to one service or set it to 'any service' and it pulls the oldest waiter first — call next, mark served, no-show, or recall.
- Public ticket kiosk. Visitors take their own number from a self-serve kiosk page, protected by a honeypot and per-IP rate limiting — no staff needed to issue tickets.
- Live waiting-room display board. A now-serving-per-counter board with queue lengths that any screen can show, auto-refreshing with an offline meta-refresh plus a tiny polling script — no CDN, no appliance.
- Per-ticket status page. Each visitor gets a public page they can watch on their phone to see their number approach — so they don't have to hover at the counter.
- Daily report + hardened exports. Issued, served, no-shows, still-waiting, and average wait per service, exported as a dependency-free PDF and a formula-injection-hardened CSV.
- Installable mobile app (PWA). Add it to a phone or tablet home screen straight from the browser — a full-screen app served from your own server, with no app store involved. Business data is not stored offline on the device; what you see is read live.
- "How long will I wait?", answered. Each ticket page shows how many people are ahead and an estimated wait from the pace of today's calls, and the "you are next" text says it too.
- The board that speaks. A chime and a spoken call-out, "Ticket A 14, please go to Counter 2", in your language and your own words, through the screen's own speakers. No extra hardware.
- Join or follow from a phone. A QR code on the board to take a ticket, and a QR on the kiosk's ticket to follow it on your phone.
- Service flows. Transfer a ticket from reception to the next service and the visitor keeps the same number.
- Staff numbers. Per counter and per member of staff: called, served, no-shows, average handling time.
- Message a visitor. A short note to their ticket page ("please bring your prescription"), and they can reply.
- In their language. Kiosk, ticket page, board and texts in English, French, German, Spanish or Polish; you choose which the kiosk offers, and each visitor's choice follows their ticket.
- Texts in your own words. Write the "you are next" and "go to the counter" texts yourself, with the visitor's number, the counter, your name and the estimated wait filled in. Leave them empty and Tokora's words are sent, in each visitor's language.
- Numbers that carry on. Switch on "Carry numbers on from day to day" and A-058 yesterday is followed by A-059 this morning, so a number is never reused between days.
- Updates from inside the app. The Updates page installs a new release with your license key: Ownware's signature is checked, a backup is taken first, and the app puts the previous version back by itself if the update is interrupted or the database step or start-up check of the new version fails. It never checks by itself.
- Backups by themselves. Automatic backups, an optional copy to S3-compatible storage you own, and a weekly check that the latest backup reads back. The Health page names anything that needs attention.
- Own It 4.0.1 — fixes and an up-to-date manual. For Tokora, 4.0.1 fixes an installer that had lost its styling, a rollback that a page opened during an update could stop and a command-line update that ended in an error after putting the previous version back. Its manual, FAQ and QUICKSTART now cover everything 4.0 added, including two Nginx rules that keep the data folder private. Your license covers it: press Check for updates on the Updates page, or download it from your order page.
- Own It 4.0.2 — the installer opens on every host. For Tokora, 4.0.2 fixes a fresh install on an Apache host: the one-page setup at /install/ looped back to itself and never opened, and now it opens. Your license covers it: press Check for updates on the Updates page, or download it from your order page.
Release notes in full
- Own It 4.1: client installations and your other tools. For Tokora, 4.1 makes two changes that every app gets. An Extended license bought from October 4, 2026 covers up to ten client installations, one per client project: hand each one over to the client or host it for them, with the client's logo and colors from the app's branding settings. The API reference now shows how to connect Tokora to Zapier, Make or n8n, using its own webhooks and API key. Your license covers the update: press Check for updates on the Updates page, or download it from your order page.
- Own It 4.0: it updates and backs itself up. For Tokora, 4.0 means updates from inside the app: the Updates page checks for a new release with your license key, verifies Ownware's signature, takes a backup and puts the previous version back by itself if the update is interrupted or the database step or start-up check of the new version fails. A new install can start with a sample business and remove it in one click; backups run by themselves, with an optional offsite copy and a weekly check that the latest one reads back; and the Health page says whether the install is looking after itself.
- Own It 3.3: the texts in your own words. For Tokora, 3.3 lets you write the "you are next" and "go to the counter" texts yourself, with the visitor's number, the counter, your name and the estimated wait filled in. Leave them empty and Tokora's words are sent, in each visitor's language.
- Own It 3.2: the board that speaks, and the ticket that predicts. For Tokora, 3.2 gave the waiting room a voice: the board calls each number out loud in your language, a QR code takes or follows a ticket from a phone, and the ticket page says roughly how long the wait will be. A ticket can move on to the next service with the same number, the desk can message a visitor, visitor screens come in five languages, and numbers can carry on from day to day.
- Own It 3.1: it writes to the people you serve. The 3.1 wave gave the catalog a way to reach the other side of the transaction: counterparty email through your own SMTP server, calendar feeds your own calendar subscribes to, attachments filed where the paperwork belongs, and export presets other people's software imports. Each outbound feature ships switched off and runs on your own credentials; a failed send is recorded, and the action that triggered it stands. What this app gained is listed at the top of this section.
- Own It 3.0: works for your AI, not just for you. Call-next is now atomic: exactly one counter can win a ticket, so two desks can never announce the same person while the real next visitor is skipped in silence. Agents read the queue over MCP under the same rules.
- Own It 2.0: API, 2FA, backups, dark mode. Tokora 2.0 adds the 2.0 owner layer. Upgrade by replacing the files — the database migrates itself, and it is still the same one-time purchase.
Browse self-hosted: Front-office software · Salon & clinic software · Retail & shop software · Event & venue software