PassportScan Case Study

How it started

When we travel on vacation, the last thing we want is to spend extra time at the hotel reception desk during the check-in procedure. Now, we have PassportScan, an app that allows travelers to register at hotels seamlessly via mobile devices and tablets. 

The story began when David Palo, CEO of PassportScan, was looking for an answer to a fundamental yet straightforward question “whether to develop an iOS or Android app for an existing software?”. 

To find the answer, he searched the web and came across our blog post on the subject. After reading our article, David still had specific issues that remained unresolved, so he decided to contact us and find out more about the mobile app development process.

Once we got in touch with David, he told us more about his challenges. David already had the existing hotel front desk software for document scanning and classification, but he needed an app for tablets and mobile devices that would automate the rest of the check-in procedures done manually by hotel personnel.

As a result, we started a long-term co-operation and developed a PassportScan app for iPads and Android devices, a web service for hotel employees, and a subscription web portal. 

What is the PassportScan app?

Passportscan app development

PassportScan is a SaaS for hotels, currently used by Mariott, Four Seasons, Hyatt Regency, and Hilton. The app turns the check-in process into a 30-second operation and streamlines data gathering using image scanning tools. 

By using PassportScan, hotel employees can scan a guest’s documents, let guests sign registration cards digitally, manage the information via the app, and send data to the hotel’s property management system or customer relationship management system. 

PassportScan app

PassportScan helps to get rid of paper documentation and reduces the number of human errors in the client’s profile by leveraging optical character recognition (OCR) features and the integrated Address Validation Engine. 

passportscan app

Our goals 

  • Develop an app for iOS and Android. We needed to develop an app for tablets and iPads that would allow managers from different hotels to log-in to the PassportScan system via personal accounts, scan guest documents, and send the data to the hotel’s database. 
  • Integrate the app into the client’s eco-system. Each hotel has its own in-house system to track check-ins and information about guests. Thus, the app should send scanned data and other guest info to the hotel’s database seamlessly and error-free. 
  • Build a data management system. Apart from scanning passports, users need a platform to manage data, set up owner and branch settings, payment information, and user access.
  • Enable user payment. Since PassportScan applies a subscription payment model, we needed to create an e-commerce module for online payments via credit card. 
  • Protect personal data. Since the app deals with sensitive data (customer data, document images, and biometric signature), we needed to apply advanced security measures and make the app compatible with new European regulations regarding personal data privacy, such as GDPR.  

Our solution – PassportScan app 

PassportScan consists of three main parts.

PassportScan Workspace 

Workspace is a web portal designed to manage apartment bookings in hostels and hotels. Workspace stores guest profiles, booking details, ID information, and signed documents. 

PassportScan Workspace keeps data received from

  • A mobile PassportScan app
  • A PassportScan desktop software
  • Hotels PMS (Property Management System)

PassportScan Workspace supports integration with Oracle products, such as Suite 8 and Opera, to import and export data. The web portal also includes the support ticketing system so that hotel employees can get in touch with developers in case of bugs or system failures. 

PassportScan Billing System 

This is a web-based app for PassportScan users to pay their subscriptions via the Stripe payment gateway. Initially, users have a one month trial period. At the end of each month, users receive auto-generated invoices based on the number of scans and signs added to the system, and the number of gigabytes used. 

PassportScan’s billing system includes the following features:

  • Billing details validation
  • Credit card validity checking
  • Online payments via Stripe payment gateway 
  • Editing payment methods
  • “Payment history” with digital invoices 

PassportScan Native Apps for iPads and Android tablets 

Native applications allow hotel employees to scan a guest’s documents with iPads and Android tablets, then send data to the Workspace.

Apps for both platforms include the same feature set:

  • Search for available bookings in the PassportScan system
  • Scan front and back sides of documents 
  • Edit the guest’s details
  • Digital Signature 
  • PassportScan privacy policy 
  • GDPR compliant Data Use Agreement 
  • List with additional hotel services 

PassportScan’s check-in takes six steps:

Step 1. Hotel employee starts the registration/check-in process and finds the guest’s booking 

Step 2. Hotel employee updates guest info by scanning documents using the PassportScan app

Step 3. The app recognizes the image from the guest’s passport, captures the data, then classifies and verifies it

Step 4. Hotel employee edits the identified elements if needed

Step 5. The guest agrees with the privacy policy with the GDPR compliant Data Use Agreement 

Step 6. The guest puts a digital signature and may ask for additional hotel services

Our challenges and solutions

Architecture 

Due to the system’s complexity, we developed the project’s back-end system with a potential high load in mind by applying a microservice architecture approach that enabled the system with both vertical and horizontal scaling. 

In this way, the application is divided by functionality (vertical scaling), and each microservice can run as multiple instances behind a load balancer (horizontal scaling). Also, we achieved a more effective consumption of computational resources, since, under high load,  the architecture scales horizontally. 

Passport scan case study

The project’s core consists of 8 back-end services for reading, scanning, and saving documents, digital signatures, etc., and three public components:

  • The Public API provides an interface to the back-end for a native application, as well as integration capabilities for 3rd party external systems
  • The Admin panel with a dashboard for configuration management
  • The Workspace, a web interface to manage the system for hotel staff
Passport scan public api

Security

For every type of app user, the system provides an authentication procedure with personalized credentials and password security provided by Admin. The system interacts with the outer world via SSL with 128-bit keys. Services without external connections, placed on the private cloud, are entirely isolated from external access. The system protects sensitive customer data by encrypting with AES 256 algorithm.

Tight deadlines 

The biggest challenge we faced was keeping tight deadlines during the development stage. The main reason for such a rush was that David and the PassportScan team had already scheduled presentations of the app’s MVP at several RoadShows and Hospitality conferences. Thus, there was no room for error.

We nailed the project’s release within the deadlines, thanks to defined Milestones, a carefully prepared back-end, and microservices project architecture. Thanks to microservices technology, we managed to develop several modules simultaneously, and the further module orchestration helped us to avoid any kind of server shut down. Thus, if any of the modules fail, other modules quickly help (less than 5 sec) to retrieve all the data.

Project tech stack 

  • Symfony 4.3 for web-based WorkSpace and Billing systems
  • Document reader SDK for identifying letters and numbers in passports 
  • Signature module SDK for capturing digital signatures 
  • Scan module SDK for scanning passports 
  • Storage Module SDK for sending data to the cloud storage
  • License and modules management SDK for managing the owners, hotel data, and native clients device identity
  • User management API for setting different levels of user access
  • Stripe SDK as online payment gateway
  • JSON (JavaScript Object Notation) for generating custom invoices
  • Google Maps API for address validation
  • Google Cloud Platform Storage for secured data storage
  • Amazon Web Services Mailer for ticketing system and streamlined technical support 
  • Google Cloud Platform Pub/Sub messaging for connecting microservices architecture components 
  • Swift SDK for iPad app version 
  • Android SDK and Android Studio for Android-powered devices

Team composition

  • 4 Back-end developers
  • 1 DevOps
  • 2 Project managers
  • 2 iOS developer
  • Android developer
  • 2 QA engineer
  • 2 Business Analysts

Results

PassportScan is shaping the hospitality industry by showing how technology can eliminate routine tasks and paperwork for hotel employees. 

Thanks to clear project goals and timely communication with David and the PassportScan team, we managed to build the first app version in just one month from the project launch. We are proud to be a part of such products as PassportScan because they improve the world we live in today. Watch the video where we share our thoughts on the PassportScan project. 

Recently, we launched the discovery phase of the Self-check-in app for PassportScan to enable guests to make check-ins via the app with their own mobile devices. This is very important right now with the situation of the Pandemic of COVID-19, allowing the possibility of non-contact services in the Hospitality industry. 

Client’s testimonial 

Want to develop an application for your business? 

AppDepot: Interactive App Discovery Platform

Project Description 

AppDepot is a video interactive platform for apps and related tech discovery, that helps apps and related tech gain visibility, increase discoverability, and organically generate traction while engaging your consumers. 

We offer the fastest and easiest means to highlight the value; showcase the key functionalities; and render a great first impression of your app.

We have developed a highly effective and competitive application that will be able to pleasantly surprise users:

  • unlimited possibilities in creating a video using features such as: screen recording, embedding from YouTube, uploading from gallery, using device camera, with built-in video trimming features.

  • If the user has already created a YouTube video for their app, they can simply embed it in AppDepot via a link

  • AppDepot’s analytics will allow you to solicit feedback of your potential users while your app is still in development.

  • As soon as your application becomes available in the App Store or even during development, you can utilize AppDepot’s push notifications to notify your followers about important launch milestones.

  • AppDepot allows you, as the app owner, to manage the visibility of your content to other users (by utilizing the private mode option)

What Solution can We Offer

Find Out More

Main challenges:

The app’s initial code was based on the serverless solution and our developers needed to implement new features that required full-fledged back-end development. After implementing various combinations of AWS services, we were able to successfully implement the following functionalities: sending push notifications, logic of payment and reward systems, as well as the option to embed from YouTube, etc.

Core app functionality in the initial code was created on legacy frameworks that complicated the work, so we have optimized the UI of the application using more modern and adaptive solutions.

Because of the presence of strong binding between the backend elements of the application a single change in one element caused undesired changes in several other elements. As a result, the scope of work increased.

Large amount of the initial code lacked explanatory comments.

Key Solutions 

  1. One of the unique features of the application is that its work is based on tight integration with AWS services (DynamoDB, S3, Lambda functions, Pinpoint). The application was developed only by iOS specialists, backend logic was implemented using specified services. We were able to access AWS powerful infrastructure using capabilities provided by Amplify.
  2. We have created our own library that allows users to publish YouTube videos on our Feed page. The mechanism developed by our specialists allows the app to receive a direct link to a specific video from YouTube and display it in the application. At the same time, we save space on customer’s Amazon S3, because we use direct links to videos stored in Google infrastructure.
  3. In addition, we utilized capabilities provided by iOS (In-App Purchases, Subscriptions, Sign In with Apple, Push Notifications).
  4. Using the UI layout framework “Texture”, we have achieved asynchronous UI rendering, which made exploring of videos fast and enjoyable for our users, at the same time optimizing the usage of Internet connection.
  5. We have developed a highly efficient mechanism of caching videos. It takes care of free space on our users’ phones. We clean app cache regularly.
  6. Our users don’t have to worry about data security. All data is stored on Amazon services (DynamoDB), and content is secured in S3 cloud storage, which is accessible only via protected links.

Tech Stack

  • App language:
    Swift
  • Architecture:
    MVC & MVVM
  • UI:
    UIKit (SnapKit) & SwiftUI & Texture (AsyncDisplayKit)
  • Lambda functions:
    Ruby & Swift
  • Backend:
    AWS Amplify
    API generated by Amazon using GraphQL language

Team composition

  • PM
  • UI/UX Designer
  • 2 iOS developers
  • QA

    Conclusions:

    On the AppDepot platform users interact, build trust, and share their experiences or views about different apps featured on the platform, while enjoying personalized user and rich interactive experience.

    Did you come up with something?

    Calculate The Cost

    By downloading our application you get:

    •  The opportunity to always be aware of new products and trends on the digital market.
    • Even if you are not tech-savvy you can still have a fun learning experience with AppDepot: just watch short videos and discover new things in the App world
    • Fun environment for personal/career development
    • Join AppDepot’s community. One idea breeds another, so AppDepot will help you spread your ideas and effortlessly find like-minded people.
    • AppDepot provides the possibility to learn about upcoming apps prior to their launch in the AppStore.

    Scan now to get started

    Scan-qr-code