Bus ticket booking app

Our client needed native mobile apps, for both Android and iOS users. These mobile apps should help passengers plan their journeys and purchase bus tickets online.

Project background

According to recent research, the revenue of the online train and bus ticket booking segment has grown by 12.8 %  in the UK from 2017 to 2022. Owning an online booking system, our client, a UK-based multinational public transport company, wanted to build a better service with a unique mobile experience. 

The main idea of the product is based on users’ location, so they can:

– plan their journeys;

– track buses in real-time; and 

– buy m-tickets from their smartphones. 

Our client needed mobile apps for both Android and iOS platforms. So, they were looking for a well-built development team to start the work fast.

  • Duration: July 2021 - December 2021
  • Location: the UK
  • Industry: Travel and booking
  • Services:
  • Native mobile app development

Business needs

Owning an online booking system, our client wanted to build a better service offering their users a unique mobile experience. Based on their location, users can plan their journeys, track buses in real-time, and buy m-tickets right from their smartphones.
 Our client was looking for:  

– Improved application security;  

– The well-built development team of Android and iOS developers to start fast;

– Stable bus ticket booking apps versions.

Product features

  1. Sign up. Sign up with basic details, when geolocation is enabled
  2. Search. Search for needed destinations nearby
  3. Locations. Input user’s home and destination locations
  4. Journey date. Select the date of a journey
  5. Booking. Book bus tickets in a few clicks
  6. Bus services. Choose from available bus services in the user’s route
  7. Passenger information. Update passenger information in the bus booking app
  8. Payment. Choose which secure payment method suits you best: Apple Pay or Google Pay
  9. ‘My tickets’ tab. The booked tickets are saved as m-tickets in the app in ‘My tickets’ tab
  10. Expired tickets. See all expired tickets and buy again in one tab
  11. Live chat. Use 24/7 live chat for support


This project is based on reactive programming (RxSwift). Such programming saved us from having to re-check states and manually putting conditions in our code. Moreover, the CHI Software mobile unit worked within the Redux architecture. Redux allows the user to manage the state of an app in a single place and keep changes in the app more predictable and traceable.

– We ensured the bus ticket booking app security against reverse engineering, hacking, and generating user data

– We carried out the whole development cycle using the latest trends in tech stacks, automation (CI \ CD), etc

– Our team conducted daily meetings with the client to be on the same page and maintain effective communication

– We have successfully combined out-of-the-box solutions and our custom ones

– We conducted different tests for the stability of the bus reservation applications

Our technology stack

  • Swift
  • MVVM
  • Kotlin
  • Retrofit
  • RxJava
  • Dagger 2
  • Redux
  • RxSwift
  • CCrypto

Client values

  1. We gathered a big mobile development team fast, within 3 weeks.
  2. Our mobile team delivered apps for Android and iOS users within estimated deadlines.
  3. To ensure high security of the buss booking applications, we did many tests.
  4. We offered stable solutions on both Android and iOS platforms for the apps’ end-users.

Employee testimonial

Vlad Kosyi Solution Architect

I’m a Solution Architect at CHI Software. One of my core responsibilities is to make sure that the customer and the development team are on the same page. I was glad to join this project since I’m a big fan of traveling and booking tools. And being an active user of similar apps, I knew pretty well what average bus booking apps miss and what’s more important, how to make really cool and helpful apps for our client’s end-users. To cut the long story short, we wanted to make everything smart. And that’s why we chose modern architecture. I’m glad that our client trusted us, followed our advice, and allowed us to implement everything we planned.

Let’s bring your idea to
life together!

    Successfully applied!