What Does It Cost to Build an Online Travel Agency? Part 3: OTA Features Set and Timing

Daryna Tkachenko

We already used an online room-rentals agency as an example to illustrate key terms and approaches in hospitality industry. Now let’s break the functionality of a Booking.com-analogue into basic components and estimate how long this would take a team of 6 development people to build these.

5 min read

In a nutshell, an online travel agency is a marketplace that connects two parties:

  • service providers (hotels, airlines, transfer companies, guides), which seek for additional sales channels apart from their websites
  • and tourists, who search for the best bargain.

Such agencies aggregate service providers’ deals for the tourist, connect them with the provider and make money in the middle of their interaction. Service commission rates of some online agencies reach as high as 30%. Now wonder many startups dream to come out ahead with their own online travel agencies.

If you want to start an online travel agency (OTA) from scratch, you might be interested in the articles we published previously.

Related articles

We took one of the most popular global OTAs, Booking.com, as an example, broke its scope down into high-level components and estimated how long it would take a dev team to build them. Disclaimer: this breakdown could not qualify for ultimate list of features and functions and outlines only high-level components.

OTA User Roles

As in a typical marketplace, the main actors in an online travel agency are as follows:
Main User Roles in Online Travel Agency

Hotel - a property owner with accommodation unit available for rentals

Tourist - an individual who needs an accommodation unit for rent in a travel destination

Administrator - agency manager who moderates the platform

Each user has a certain set of privileges and actions in the system.

  • A Hotel should be able to

    • create and manage their account(s)
    • manage rooms count and type
    • manage room rates
    • manage availability of rooms
  • A Tourist should have means to

    • create and manage account
    • filter available rooms by price and location for specific date(s)
    • book room(s)
    • pay for room(s)
    • modify/cancel booking
  • OTA Administrators should have broader functions to manage

    • hotels’ and tourists’ accounts
    • rooms’ availability
    • tourists’ booking

OTA Basic Components

To allow all user roles perform these actions, your OTA should consist of the following basic components:

  1. Integration with a Central Reservation System (CRS), a software application hotels use to manage their inventory, rates, and reservations. Most modern CRS provide API for easier integrations.
    Note: Many hotels, many CRS :) Bear in mind that you as an OTA owner, would need to pay for every CRS integration out of own pocket.

  2. Extranet, a web UI for hotels to manually manage their inventory for your OTA.
    Extranet could figuratively be called a store backdoor: suppliers bring their foods through it, then these are sorted out and eventually placed in the shop window for the customers. Hotel staff usually access Extranet via login and password and update room information: their types, images and description, rates and availability. OTA administers Extranet, aggregates all deals, and displays them to tourists via public-facing web app part.

  3. Web UI for tourists, or - figuratively - the shop window mentioned in the example below. Via this UI, tourists see available room, with their images, description, rates and availability. The page should allow them to filter rooms per pre-defined categories, location for specific dates, as well as book the room they like and pay for it.

  4. Payment system integration to allow tourists transfer funds to the hotel. There are multiple payment systems available today, so just choose the one you like best (e.g. PayPal, Amazon Payments, or WePay)

These components could be developed within such approximate terms:
Chart with Time Estimation of an Online Travel Agency Basic Components

OTA Nice-to-have Components

Once the basic scope has been implemented, think of some nice-to-have features to make your booking site more interactive and user-friendly.

  • To expand the network of your partner hotels, consider integrating your OTA with a Channel Management System (CMS), a dedicated web-platform mediating hotels with their sales channels. An integration with a CMS would help you cover most of the functions of a central reservation system (as rooms availability would be synced automatically), Extranet, physical reservations, and payments. However, such integration is usually quite complex and expensive.
  • Add a Content Management System, through which you and your staff would describe Terms of Services and manage blog, travel guides, and other pieces of content. Consider using Django CMS: it is free and open source platform written in Django and Python
  • Multi-language and Currency Support.
  • According to statistics, 95% of tourists read travel reviews prior to booking. Add Reviews and Rating system on your website, and you’ll nail two birds with one stone: enhance the platform’s transparency and credibility when engaging tourists to form an on-site community, which would eventually translate into higher loyalty to your OTA.
  • Price-change Alerts, sent as e-mails or SMS, would help tourists keep abreast of the price changes and room availability in specific hotel(s) for the chosen dates.
  • To provide both categories of users with a more user-friendly experience, you could add a Live Chat with a Support Rep or an AI-powered Chatbot for most FAQ
  • According to the recent report by Criteo, in Asia-Pacific region, 50% of travel sales in 2017 were done from mobile devices. The trend is indeed global, so you must invest in the Mobile Version of your web app.

Team Lineup

To implement the given basic features set, we suggest the following minimum team lineup:
Suggested Team Lineup for an Online Travel Agency

Suggested Technical Stack

To develop an online travel agency, Logicify would offer the following technical stack:

  • Python as a main development language. It is a good choice for startups since Python is light and dynamic; it has big community and lots of libraries and frameworks available.
  • Django as a web framework. This is a standard framework for Python web apps. Main platform as well as Extranet and admin part will be implemented with it.
  • PostgreSQL as a database. It has native support from the Django side and good support of the major hosting and cloud service providers. It also supports a rich set of advanced RDBMS features, like transactions, locks, schemas.
  • Angular 7+ as the main front-end framework for the public-facing web app part.


From a tech perspective, an OTA is a wheel invented long ago. The functionality and scope of your new OTA could vary depending on the services you offer and the audience you target. Online vendors offer turnkey OTAs built per a specific business need, so, instead of building a proprietary agency, you could buy a custom-tailored one.

However, with the stiff competition in hospitality industry, you’d better think twice (or thrice) how to turn your OTA into a profitable business. Which market niche can you potentially occupy? What would be your competitive advantages for both hotels and tourists? Which business model would be effective? These questions should be answered before the first line of code is written.

Related articles


Scroll top