Online Booking Platform for Tours in Thailand (B2B-B2C)
Project Overview
We were approached to take over an online booking platform catering to
both B2B and B2C users in Thailand's tourism industry. Initially an
MVP, the platform had no documentation, poor code quality, an
unoptimized database, and a lack of adherence to REST API principles.
Additionally, the client needed a robust admin panel and a clear
separation between B2B and B2C operations.
Target Audience
The platform primarily served 65% B2B users (tour operators and travel
agencies) and 35% B2C users (individual tourists).
-
B2B Needs: Efficient communication between
businesses, centralized tour management, and tools for employee and
subcontractor administration.
-
B2C Needs: A user-friendly booking interface,
secure payments, and real-time tour updates.
Client's Goals
The client aimed to scale their local tourism business in Phuket into
a digital-first platform. Their priorities were:
- Ensuring scalability to accommodate growth.
-
Resolving existing bugs to enable a stable launch.
-
Building features to unify B2B and B2C operations effectively.
Challenges
Taking over the MVP presented several challenges:
-
Scalability and Code Quality:
-
Challenge: The codebase was poorly structured,
with logic bundled into a single layer, impacting scalability
and maintainability.
-
Solution: We refactored the codebase,
introducing separate layers for business logic and adding robust
test coverage to ensure maintainability.
-
Database Optimization:
-
Challenge: The MySQL database was inefficient,
with unnecessary table joins, lack of transaction handling for
critical operations, and no safeguards against issues like
double booking attempts. It also lacked the scalability required
for large-scale operations, resulting in performance
bottlenecks.
-
Solution: We restructured the database to
improve performance and maintainability, optimized queries for
faster execution, and introduced read/write replicas and
indexing to handle high-volume operations. Additionally, we
implemented robust transaction handling to ensure data integrity
during simultaneous operations and designed mechanisms to detect
and prevent double booking attempts, providing a seamless and
reliable experience for end-users.
-
Payment Integration and Booking System:
-
Challenge: The payment system and booking
functionality were buggy and unreliable.
-
Solution: We redesigned the payment flow,
implemented more reliable endpoints, and enhanced the booking
process for smoother transactions.
-
Real-Time Features:
-
Challenge: The platform lacked features for
instant communication and updates.
-
Solution: Using WebSocket, we implemented group
and personal chat features, along with real-time notifications
for bookings and updates.
-
REST API and Admin Panel:
-
Challenge: The API lacked adherence to REST
principles, and there was no admin panel to manage operations.
-
Solution: We revamped the API to follow REST
principles and built a robust admin panel for user management,
supporting employees, subcontractors, and agencies.
Technologies Used
Our technology stack for the project included:
-
Angular: For the front-end development, providing a
dynamic and responsive user interface.
-
NestJS: Used for the back-end, offering a
structured and scalable approach to API development.
-
MySQL: Serving as the database, which we optimized
for better performance.
-
WebSocket: To enable real-time communication
features.
Results
Our efforts transformed the platform into a scalable and efficient
solution:
-
100% ROI in four months: The client recouped their
investment quickly due to the platform's enhanced efficiency and
scalability.
-
Operational reach: Successfully managed over
1,000 agencies
across Thailand, Indonesia, and nearby regions.
-
Seamless integration of B2B and B2C operations: The
admin panel allowed businesses to manage employees, subcontractors,
and tours efficiently.
-
Real-time communication: Enhanced user engagement
with instant notifications and chat functionality.
Key Features Delivered
-
Dashboard Endpoints: Provided intuitive tools for
analytics and booking management:
-
Booking and Tour Pages: Improved the user interface
for booking tours, simplifying the process for end-users.
-
Convenient Payment Page: Streamlined the payment
process with secure and user-friendly features.
“The team's expertise in optimization and scalability transformed
our platform into a robust tool for managing our growing business.
Their solutions not only met but exceeded our expectations, enabling
us to go live successfully and expand our reach.”
— Anatoly Cherney, [CEO | tourhunter.com]
Conclusion
This project resulted in a significant business success for the
client, who saw a 100% return on investment (ROI) within just four
months. The platform's robust infrastructure and improved operational
efficiency helped establish the company as a successful startup, with
a foundation in place for future growth and scalability.