The challenge
Independent cafés, boutique hotels, and event venues across the GTA wanted to offer guest WiFi without (a) handing out their permanent network password, (b) being locked into a single hardware vendor's portal, or (c) letting one guest saturate the bandwidth for everyone else. The off-the-shelf options either tied them to a specific access-point brand, charged a per-AP monthly fee, or didn't support the workflow staff actually wanted — a one-tap printed voucher handed across the counter with the receipt.
The ask: a vendor-neutral, multi-venue managed WiFi platform where one operator could manage unlimited venues from a single console, gateways stayed cheap and replaceable (any MikroTik / RouterOS box), staff could print a time-limited voucher in one tap, per-user bandwidth was enforced at the gateway (not by the honor system), and a high-traffic event night with 1000+ concurrent guests didn't melt the system.
Our solution
We built Logic HotSpot — a Yii2 (PHP) management console + a branded captive portal + a thermal-printer voucher pipeline, all talking to commodity MikroTik / RouterOS gateways through their public API, with per-user bandwidth enforced through RADIUS (FreeRADIUS).
The management console is the operator's command surface. From a single login they manage unlimited venues, define WiFi plans (15-minute trial, 1-hour, 24-hour, 7-day, conference), set per-plan bandwidth caps and concurrent-session rules, brand the captive portal per venue (logo, colors, terms, marketing offer), and watch live sessions in real time — including the ability to kick a misbehaving device with one click. Every action is logged for the operator's own audit trail.
The captive portal is a fast, mobile-first sign-up surface. A guest connects to the venue's SSID, gets the branded portal, picks (or redeems) a plan, and is online — typically in under 5 seconds end-to-end. Payment plans, free-with-survey plans, and printed-voucher plans are all supported from the same portal.
Thermal-printer voucher printing is the workflow that closes the loop with venue staff. The console exposes a one-tap 'Print Voucher' button on a tablet behind the counter; the request hits an ESC/POS thermal-printer integration that prints a receipt-style slip with the venue logo, plan name, time limit, voucher code, and a fresh QR code. The guest scans the QR or types the code on the captive portal and is online in seconds.
Bandwidth enforcement is the part most off-the-shelf portals get wrong. Instead of trusting the captive portal, we authenticate each session through FreeRADIUS — the RouterOS gateway enforces the rate-limit attribute returned by RADIUS at the data plane, so a single guest physically cannot exceed their plan's cap, no matter what their device tries to do. Per-group caps stack on top of per-user caps so an entire event tier can be throttled together.
Everything is multi-tenant by design — one operator, unlimited venues, isolated configuration per venue — running on Nginx + PHP-FPM with Redis caching the session lookups so the captive portal stays sub-second under event-night load.
- Multi-venue management from a single operator console — unlimited venues, isolated configuration per venue
- Vendor-neutral RouterOS / MikroTik gateway integration — any RouterOS box works, no hardware lock-in
- Branded per-venue captive portal (logo, colors, terms, marketing offer) with sub-second sign-up under load
- One-tap ESC/POS thermal-printer voucher printing — venue logo, plan, time limit, voucher code, fresh QR
- Per-user and per-group bandwidth caps enforced at the gateway via FreeRADIUS — not by the honor system
- Real-time session monitor with one-click kick of misbehaving devices
- Plan engine — 15-min trial, 1-hour, 24-hour, 7-day, conference, free-with-survey, paid — all from the same portal
- Multi-tenant SaaS architecture: Nginx + PHP-FPM + Redis caching for event-night load (1000+ concurrent guests)