iOS & Android

Your entire event in one native app — even without signal

Not a web page in a wrapper, but a real, native app for iPhone and Android. Scan tickets at the gate, manage your events on the go, and check people in where no other ticketing app survives: without internet. Built with the latest techniques, down to the smallest detail.

Works offline 100% native 2FA & Face ID
Two platforms, one experience

Truly native — not just a website in a jacket

The app is built from the ground up in each platform's native language. That means a fluid camera, instant haptic feedback, and an interface that feels exactly the way a phone should.

iOS

SwiftUI · iOS 26 · Swift 6

Written in Swift 6 with strict concurrency and Apple's latest Liquid Glass design. Camera via AVFoundation for the lowest possible scan latency, Face ID locking, and background sync that keeps running with the app closed.

Android

Kotlin · Jetpack Compose · Material 3

Built in Kotlin with Jetpack Compose and Material 3. QR recognition via CameraX and ML Kit, biometric locking with fingerprint or face, and the exact same offline architecture as on iOS.

The ticket parser runs identically in three languages — PHP on the server, Swift on iOS, Kotlin on Android — and is always tested together. One source of truth, proven three times over.

The reason this app exists

Scanning that keeps working — even when the network drops

A packed festival, a remote field in Drenthe, a hall full of visitors all posting a story at once: that is exactly where cell towers buckle and the wifi stutters. Other ticketing apps freeze and the queue grows. MijnEvent does not.

The inspector downloads the complete visitor list to the device beforehand with a single tap. From that moment every scan is lightning fast — and the network is optional.

Server-first, with instant fallback

Every scan tries the server first. If it does not respond within 2.5 seconds, or there is no connection, the app validates against the local list instantly and lets the visitor through. The inspector never has to think about connection status.

Smart background synchronisation

As soon as there is signal again, the app pushes offline check-ins to the server in batches and pulls in changes from other devices at the same time. On iOS that sync even continues with the app closed.

Conflicts are surfaced, never hidden

A ticket scanned offline on two devices at once? The visitor is already inside — that is operational reality. The app keeps the first check-in and shows the conflict neatly in a list with who, where and when.

A connection indicator that keeps you calm

A subtle dot continuously shows how good the signal is: good, fair, poor or offline. Purely informational — scanning works regardless.

Scan-instellingen met de offline-lijst: download de bezoekerslijst voor offline gebruik.
Download the list beforehand — after that everything scans locally.
Eventlijst met onderin een subtiele verbindingsindicator.
The connection indicator keeps you calm: scanning works either way.

Ideal for remote sites and overloaded cell towers

At large or remote events a stuttering network is not the exception but the norm. With offline mode you check people in at every gate, even in the middle of a field or a concrete hall — no queues, no stress, not a single missed guest.

Checking at the gate

One tap, a clear card, the next guest

The camera recognises the QR in a blink. Each scan shows a large, unambiguous card — green for welcome, amber for already used, red for denied — with sound and vibration. Flow comes naturally.

Welcome

Valid ticket — visitor and ticket type shown instantly, a short friendly beep, and through.

Already used

Instantly shows what time, where and by which inspector the ticket was scanned before. No argument at the gate.

Denied

Invalid, wrong day or another organisation — a hard, unmissable error tone and a red card.

Scan geslaagd: groene Welkom-kaart met naam en tickettype.
Valid: welcome, on to the next.
Al gebruikt-kaart met tijd, locatie en controleur van de eerdere check-in.
Already used — with time, location and inspector.
Verzamel-QR met samenvatting per tickettype en knop Laat 3 door.
Group QR: "Let 3 through" in a single tap.

Group QR for orders

One QR for a whole order? The app shows a breakdown per ticket type, who is already inside, and a "Let N through" button that checks in the remaining tickets at once.

Everything an inspector needs

  • A required location per entrance ("Main entrance"), with recent spots as quick picks.
  • Flashlight, manual code entry and a live session counter.
  • Scan sounds audible even with the phone on silent — a missed error tone must never happen.
  • Haptic feedback, and feedback that never relies on colour alone.
Realtime & intelligence

Live visibility at the gate — and an app that thinks along

The app knows what is happening on site and acts on it. Live occupancy, access zones and logging in with a single scan: everything to keep the entrance smooth and smart.

Scanner met live bezettingsteller: een overzicht van hoeveel bezoekers er al binnen zijn.
Live occupancy: "X of Y inside", right under the counter.
Scan-instellingen met de keuze voor een toegangszone en een waarschuwing over een afwijkende telefoonklok.
Choosing access zones — plus the warning for a skewed clock.
Inlogscherm dat een uitnodigings-QR scant om de controleur direct in te loggen.
Logging in by scanning the invitation QR.
Blokkerend updatescherm met een directe link naar de app store.
An important update? The app points the way calmly.

Live occupancy: see who is inside

Below the session counter it shows "X of Y inside" — current after every scan and updated in real time from the other entrances. If the network drops, the app simply keeps counting locally.

Access zones per ticket type

Backstage, VIP deck or campsite: link zones to ticket types and pick which zone you guard per scan session. A ticket for the wrong zone is denied — with the valid zones shown — online and offline.

Log in with a single QR scan

The organiser shows an invitation QR, the inspector scans it and is logged in instantly — no email, no code. The QR is single-use and valid for five minutes.

Live scan counter on the lock screen

During a session you see the counter and the entrance without opening the app: on iOS in a Live Activity and the Dynamic Island, on Android in a persistent notification.

Conflicts surfaced instantly

Is a ticket scanned elsewhere while you are working? A calm, tappable banner appears above the viewfinder — non-blocking, yet immediately clear.

A warning for a skewed clock

If the phone clock drifts more than five minutes from the server, the app flags it beforehand — so offline check-in times stay reliable.

The list is fresh in time

When an event starts within 24 hours, the app refreshes the downloaded list automatically in the background. In the morning you never wait on a download.

Always the right version

When there is an important update, the app points you to it calmly with a direct store link — and never blocks an inspector standing offline at the gate.

Organiser mode

Your whole organisation in your pocket

The app is far more than a scanner. Log in as an organiser and you have nearly your entire MijnEvent environment with you — on the road, on the train or backstage.

Dashboard

The same key figures as online: events, tickets sold, revenue and visitors, plus your upcoming events and recent orders.

Manage events fully

Create and edit down to the details: date and time, sales period, waiting list, service fees, confirmation email, ticket types and donations.

Ticket types & days

Set prices, capacity and resale, and for multi-day events the valid days per ticket type.

Invite inspectors

Invite or remove inspectors per event — seamlessly linked to the scanning side of the app.

Review orders

View orders with tickets, payments and the full refund history. Refunding deliberately stays on the web.

Visitors & statistics

Visitors with GDPR-masked emails (revealing is logged), key figures and a complete activity feed.

Organisator-dashboard met events, verkochte tickets, omzet en bezoekers.
Your key figures at a glance.
Eventdetail met status, ticketsoorten, dagen en controleurs.
Manage an event fully — status, ticket types, days, inspectors.
Eventformulier met alle velden en validatie per veld.
All event fields, with per-field validation.
Bestellingen read-only met betalingen en refund-historie.
Orders read-only, with payments and refunds.

Publish with a payment path

Publish an event straight from the app. On prepaid plans the Mollie payment path opens neatly in a built-in payment sheet.

New for organisers

More grip on your night — live and remotely

You do not have to stand at the gate to know how your event is going. Follow check-in live, add guests without payment and keep an eye on your sales — all from your phone.

Guest list without payment

Press, sponsors or guests at the door? Create free tickets without a payment step. With an email address the regular ticket email goes out; without one you show the QR right on the screen. Optionally check the guest in immediately.

Live check-in progress

Follow in real time how many people are inside: percentage, scans per hour and the split per entrance. Refreshes every 15 seconds and runs live with every scan.

Charts in your statistics

Revenue and tickets sold per day in clear charts — Swift Charts on iOS, a lightweight in-house chart on Android. See at a glance how sales are going.

Sales milestones

A notifications feed captures the highlights: the first sale, 25/50/75% sold and sold out. Exactly one notification per milestone, no noise.

Resend the confirmation email

Has a visitor lost their ticket? Resend the confirmation email with a single tap, straight from the order detail.

A dashboard that keeps working

Poor signal on site? The dashboard shows the last loaded figures with a clear "figures from HH:mm" stamp instead of an error.

Live check-in-voortgang met percentage, scans per uur en de verdeling per ingang.
Live progress: percentage, per hour and per entrance.
Een gratis gastticket met de QR-code direct op het scherm, zonder betaalstap.
Adding a guest without payment — an instant QR.
Statistieken met grafieken van omzet en verkochte tickets per dag.
Revenue and tickets per day, in a chart.
Dashboard met een offline-banner dat de laatst geladen cijfers toont met een tijdstempel.
No connection? The dashboard shows the last figures, with a stamp.
Down to the details

The details that make the difference

Small things, big difference. A few refinements that push the app just that bit further than the rest.

Apple Watch companion

The scan session mirrors to your Apple Watch: large counter, green or red result and a tap on your wrist. You feel whether a ticket is valid without looking at your phone.

Widget on your home screen

A widget shows your next event with tickets sold and the number inside — on both iOS and Android, without opening the app.

Real time over websockets

Occupancy and check-in progress run live thanks to a lightweight websocket connection. The periodic sync always remains the source of truth.

Smooth updates

Important updates are offered neatly — on Android even with Play in-app updates, so you never have to search the store.

Bank-grade security

Secure to the core — without hassle for the user

Passwordless login, two-factor authentication where it counts, and data that simply is not on the device when it does not need to be.

Log in with email + code

No passwords to leak. You enter your email, receive a one-time code, and you are in. The app automatically finds which organisation(s) you belong to.

Two-factor authentication (TOTP)

Organisers with 2FA get an extra step via their authenticator app or a recovery code — with a cap on failed attempts.

Face ID & biometric locking

Lock the organiser side with Face ID or fingerprint. The app locks the moment it goes to the background and shows a privacy screen in the app switcher.

Encrypted and minimised on the device

The offline list contains no customer email addresses, sensitive tokens are stored encrypted, and the offline database itself is encrypted on the device (Data Protection on iOS, system encryption on Android). What is not needed is not there.

Tweestapsverificatie-scherm met code uit de authenticator-app.
Design & accessibility

Beautiful to look at, usable by everyone

The app carries the same recognisable MijnEvent house style as the web, with a refined motion language — and accessibility that is built in, not bolted on.

Keuzescherm met de drie ingangen: scannen, organisator en registreren.

Dark and light theme

The dark check-in style with lime as the action colour is on by default; the organiser side follows the familiar cream-and-coral house style. Toggle between system, light and dark.

Liquid Glass & subtle motion

Glass effects on the scanner overlay, figures that roll in like a counter, cards that land in sequence — restrained and respectful of anyone who prefers motion off.

Accessible by the rules

Dynamic Type, VoiceOver labels, large touch targets and feedback that never relies on colour alone. Reduce Motion switches animations off cleanly.

Dutch where it belongs

Dates always in Dutch notation — including the date pickers — regardless of the device language. Text is never truncated.

iOS and Android: the same power

Functionally the two apps mirror each other. A few platform-specific refinements:

Topic iOS Android
Offline storage GRDB (SQLite) Room (SQLite)
App lock Face ID / passcode Fingerprint / face / PIN
Camera AVFoundation CameraX + ML Kit
Background sync Yes — with app closed Yes — WorkManager (every 15 min)
Publish payment path In-app payment sheet Via the browser
Live scan session Live Activity + Dynamic Island Persistent notification
Wearable Apple Watch companion Not available
Charts Swift Charts In-house chart component
Store updates Version check + App Store Version check + Play in-app updates
Offline list encryption Data Protection System encryption (FBE)
Hetzelfde organisator-dashboard, draaiend op Android.
The same dashboard, now on Android.
Why this is special

Unique in the Dutch ticketing landscape

Most ticketing platforms offer either a simple scanner, or a web page in an app wrapper that freezes the moment the network stutters. MijnEvent delivers a fully native app for iOS and Android, with genuine offline operation and nearly your complete event management in your pocket.

Built with the very latest techniques — Swift 6, SwiftUI with Liquid Glass, Jetpack Compose — and tested end to end against real logins, real scans and real orders. That is not a luxury, it is the difference between a smooth entrance and a growing queue.