Unwire Mobile Ticketing System

Highly configurable and scalable so it can grow in conjunction with the evolution of Transit Agency’s transit needs. The proposed system addresses:

  • Easy and convenient usage by the customer;
  • Reduction of the overall cost of revenue service;
  • Collection of data for improved transit operations and customer service, while preserving customer privacy and reducing internal PCI compliance requirements;
  • Ability to buy and use mobile tickets via visual authentication, QR code scanning or NFC;
  • Ability to view real-time passenger information and plan trips;
  • Integrated Fare Enforcement tools.

Operating System (OS) Support

Apple iOS

  • iOS target is currently 12 (most recent)
  • Minimum support is target -2 (10)
  • Target and minimum support increase as new iOS versions are released
  • App views are optimized for the most important devices in the market and are designed for mobile phone layouts (not tablets)

Google Android

  • Android target is currently 9 (most recent)
  • Minimum support is 5.0
  • Minimum is increased as OS share stops below 5% of installed users
  • App views are optimized for the manufacturers with largest market share and are designed for mobile phone layouts (not tablets)

Language selection

The app can be featured in multiple languages. Agency shall provide translation files for all languages required. The app will detect the language of the device, and automatically set the language within the app. If the device is set to a featured language, then this will be the default for the app, otherwise the default is English.


The operating systems (iOS and Android) offer several development tools to make an application accessible, thereby making use of the app easier for persons with disabilities such as vision or hearing impairments. Alignment to ADA requirements is mainly done by the Apple and Google and the tools the operating system software development kits provide to the application developers.

Out of the box iOS Accessibility features by Apple are provided here:


Out of the box Android Accessibility features are provided here:


In addition to the standard operating system provided accessibility, Unwire will for both Android and Apple make the App accessible by:

  • Following iOS and Android best practices in design
  • Provide dedicated text-to-speech/voice over optimizations to declared accessibility elements in the user interface, meaning adding text strings to the application that are read out loud (if enabled by user).

App Notifications

Notifications can be used to send information to all, segments or specific end-users. This efficiently delivers information such as notice about tickets expiring soon, transit warnings and updates, app relevant information and updates, as well as other promotions to the end-user. Certain notifications will be rule based and automatic, whereas others will be composed, configured, and sent via the back office.

Both Android and iOS app provide the possibility of receiving and viewing app notifications. The user experience, however, is governed by difference in implementations and the possibilities the platforms and versions of the operating system offers. Two types of notifications can be presented to the end-user.

  • In-app messages, i.e. notifications shown while app is open.
  • Remote notifications i.e. notifications provided if app is not in foreground.

Remote notifications received through the notification centre of the operating systems will be received and received displayed to the end-user even if the app is closed or running in the background. How they appear differs per user notification settings and the operating system and version of the device in use.

For the end-user to receive notifications the app must be presently installed, and the end-user must have agreed on receiving notifications from the app.

The customer can at any time opt in or out to receiving notifications. This is done in the control centers of the respective operating systems.

Note: Google Messaging Services and Apple Notification Centers are “best effort” services and offer as of current no guarantees of notification delivery or feedback to track delivery.

My Inbox

My Inbox is a form of app inbox, allowing end-users to view the notifications and access additional message content of the notification at own convenience. Content can vary from simple text messages and alerts received via app notifications to rich media messages (images and multimedia content) with instance service announcements and updates, offers from agency and partners, distribution of coupons, feedback forms and surveys.

App notifications and messages will persist in the inbox and will be shown when the user opens the app and goes to My Inbox. The messages can be viewed multiple times and doesn’t have the same size limitations as native notifications. Messages can be deleted by the user.

A notification icon and badge (counter) is shown in the app and notifies users when new content is available in My Inbox. When a notification item in the inbox is tapped, a detailed message view will open.

App Experience and Functionalities

This section presents details of the app experience in all key functionality areas. The structure of the chapter takes the user journey from first time use, when app is opened, through registration and then the next main features of “Home”, “Plan”, “Buy”, “Wallet” and “More”.

Account Creation – Registration

In order to complete a ticket purchase within the app, the end-user must register an account. The create account flow will be prompted during first time us but can be dismissed and revisited when user trigger certain activities (e.g. pass purchase).

The data registration requirements will be defined by the agency, and the layout for account registration and creation will by default ask for all standard details from the end-user.


The Home View contains a smart content carousel, and content tiles. A content tile is an object of the UI which can take certain content configurations and display to user. The content tiles will be configured to serve suggested ticket types for direct ordering, active tickets, unused tickets, recently expired tickets, events, offers, nearby station information, favourite station information and rider alerts.


The Plan tab bar menu provides a modern, intuitive and goal-oriented set of features for customers to plan travels, obtain travel information (future and real-time) and find an appropriate journey with matching tickets and fare options. It also supports multimodal travel and payment across public transit, micro-transit on demand, TNCs and carpooling.

The Plan main view provides a map view zoomed at a certain zoom level where nearby stations and map POIs served by the travel tools service are visible. The native maps of iOS and Android will be used. Certain elements on the map can be interacted with for e.g. setting a destination, seeing traffic specific information for a station and viewing real-time transit positions. The user can also from this view easily initiate a Trip Plan and obtain view of the transit agencies System Maps.

The Trip Planner offers the user an opportunity to plan their journey from point A to B. The default “Current Location” position of the user will be set to the longitude and latitude location obtained via iOS and Android operating systems. If the position cannot be determined, the user will need to specify by entering an address.

In most cases the user will plan a journey from A to B from a current location and at the current time (aligned with research that users commonly buy tickets right when they are to travel, rather than plan ahead). Therefore, in most instances the user will only need to enter the destination location and not need to adjust time of travel. The entry can be an address or a station.

Buy – Purchasing Products

The app is designed to meet customer needs, and to quickly and easily complete a ticket purchase with as little interaction as possible. The standard flow for the ticket purchase process consists of four main steps, with sub-steps depending on the complexity of the agencies fare structure:

The application is optimized for different typical fare structures. These include:

  • Time limited products
  • Zone-based products
  • Point-2-Point / Destination based products
  • Pre-defined products (e.g. roundtrip, bundles, event/special tickets, etc.)

Upon selecting the desired ticket, the number of tickets for available rider types can be presented. Specific transit lines/zone/area of validity for the ticket can be combined as selections before or after the ticket selection.

Note: Some agency fare structures require user interfaces designs and flows combining the elements of above and can be tailored to fit the specific need.

Reduced Fares

Multiple rider types are supported: Adult, Child, Disabled, Senior. The app can be configured to either use account-based information to show or hide reduced fare tickets or to prompt users for self-declared reduced fare eligibility.

User accounts can be marked as eligible for reduced fares either through and Agency provided feed or via Unwire’s backoffice.


Card on File Payment Checkout Process

Checking product(s) out by paying with a payment card is straightforward. It is particularly easy if this is set as default payment method, as it then will be visible in the checkout view. If not, the user will need to select the card on file from a payment method overview accessible from the checkout view. The user simply presses Buy, and either verification of card on file by use of PIN or fingerprint will be required as only next step.

Apple Pay/ Google Pay

Both Apple pay and Google pay are supported through the chosen PSP meaning all transactions and reconciliation can be performed in one place. Apple Pay and Google Pay are offered as payment methods which can be set by default making for super-fast payments with a fingerprint or face recognition.

App Wallet

The Wallet is the repository for wallet balance (stored value), current tickets, activity history and receipts. It is primarily intended for the user to have one stop to always see if there is enough balance on his/her account, and to have one-click access to current passes (active and unused).

Paying with Wallet for a product purchase process is the fastest checkout process – given user has funds available. Whenever funds are available, Wallet is suggested as preferred payment method in the Checkout view. Clicking Buy will bring up the PIN dialogue or Fingerprint for the user to verify the payment.

Fare capping

Knowing the agency fare saving structure can be a complicated struggle for users. Also, not all users can afford the upfront cost of a monthly ticket. Fare capping allows the user to keep purchasing the required products, and the system automatically calculates when the user should be offered reduced-price products.

I.e. purchasing 16 daily passes could trigger a monthly pass lasting until the end of the calendar month.

Wallet Account

Wallet account is a stored value system with individual user accounts connected to the Unwire mobile ticketing platform. It allows end-users to load value (transfer real money) to a holding account from which funds can be applied to app purchases.

The Top Up feature is accessible through the My tap-bar menu. All registered users in the app will be assigned a Wallet account. It is up to each user if the wallet is taken to use or not.

Ticket Design and Validation

After a transaction has been successfully processed, the ticket(s) will be issued to the customer either activated or in an inactivate state. The customer can manually activate the ticket prior to the ride by sliding of a button. Tickets will only give the customer an option to activate in the timeframe for which the ticket type can be used for travel (e.g. an off-peak ticket cannot be activated during peak hours).

The ticket view has been carefully designed by Unwire’s user experience and design team together with ticket inspectors, validation specialist and vehicle operators to optimally serve a spectrum of validation purposes. The ticket uses background animation to signal the state it is in (and to prevent screencopy and distribution) along with powerful colors and fonts. Video can also be played inside the ticket to help identify the agency and ticket type whilst also preventing screenshots. When tapped, the ticket view can be adjusted in several ways including expanding to full screen to allow best possible visual inspection and scanning of a code, or with colour change by tapping. Tickets can also be flipped to a second page where additional information can be provided. The ticket will have different designs depending on the current state of validity. As further described below, a ticket instance in the app will go through the following primary states:

  • Unactivated ticket
  • Recently activated ticket
  • Active ticket
  • Expired ticket


To prevent any fraudulent attempts of reusing, copying, manipulating the mobile tickets, or using fake tickets, the solution has been designed with utilization of secure and efficient ticket validation methodologies. In addition to visual ticket validation by the fare inspectors an electronic validation system can be. Unwire supports various code scanners, as well as validation apps for Android (iOS on request).

Visual Validation

The information typically displayed on a mobile ticket through the ticketing app enables the inspector to visually verify that the transit rider possesses an eligible fare.

Three anti-fraud effects for visual validation are built into the ticket view in addition to the countdown timer. First, the ticket view is animated during the Recently Activated and Active states. A looped video will be shown at the bottom section of the ticket. Second, a tap on the screen on top of the animation will change colour on the bottom animation area as long as press is registered. Finally, rotation of the device to landscape mode (will be forced with rotation lock override) will expand the bottom section of the ticket to a full screen landscape of the video with selected ticket details highly visible, this will secure a fast and easy way for a visual inspection of any ticket within the app.

Electronic validation

Unwire validation apps are tailored to suit random ticket inspection performed by fare inspectors carrying devices running electronic validation software. Handheld scanning devices can be smart phones or a dedicated wireless inspection/scanning device, allowing electronic ticket validation to be performed immediately.

Note: Validation hardware is not included. Unwire does not provide or sell handheld scanning hardware.

Supported devices / operating systems

Unwire provides a standard application compatible with the Motorola MC75 with the SE4400 2D imager. The 2D imager is required for the solution to work.

Optionally the following hardware and operating system combinations can be supported:

  • Apple: Devices compatible with iOS 9 and later
  • Android Compatible with 6 and up (preferably Nexus devices)

The validation client needs to be adapted to the exact hardware it will be running.

Features of the Fare Inspection App

There are four key features provided by the Fare Inspection App

  • Fare Inspector log-in and authentication
  • Ticket code scanning
  • Local/Off-line Validation and Online Validation
  • Call Ticket holder

When a rider presents the Ticket View with a supported machine-readable code (Aztec, QR, +Code etc.) a fare inspector can use the device and inspection app to easily validate the ticket. This is done in the Scan View by simply aligning the camera view over the code as illustrated below.