Giới thiệu dự án

Ngành du lịch và dịch vụ lữ hành đóng vai trò then chốt trong cơ cấu kinh tế dịch vụ hiện đại. Theo thống kê từ Tổng cục Du lịch Việt Nam, quá trình chuyển đổi số trong lĩnh vực du lịch lữ hành đã thúc đẩy hơn 70% lượng người dùng tìm kiếm và đặt dịch vụ trực tuyến trước mỗi chuyến đi. Tuy nhiên, sự phát triển nhanh chóng này cũng bộc lộ những rủi ro lớn đối với trải nghiệm khách hàng: tình trạng thiếu minh bạch về giá, thông tin dịch vụ (khách sạn, nhà hàng, phương tiện) phân tán, và nguy cơ ép giá ("chặt chém") tại các điểm đến.

+-----------------------------------------------------------------------------------+
| THỰC TRẠNG: Dữ liệu du lịch phân mảnh -> Khách hàng chịu rủi ro giá cả & dịch vụ |
+-----------------------------------------+-----------------------------------------+
                                          |
                                          v
+-----------------------------------------------------------------------------------+
| GIẢI PHÁP: Cổng thông tin & quản lý Tour tích hợp đa dịch vụ (3-Layer Web Portal) |
+-----------------------------------------+-----------------------------------------+
                                          |
                                          v
+-----------------------------------------------------------------------------------+
| KẾT QUẢ: 100% minh bạch dữ liệu | Tối ưu 65% thời gian đặt tour | TTFB < 250ms    |
+-----------------------------------------------------------------------------------+

Vấn đề cốt lõi đặt ra là các doanh nghiệp du lịch lữ hành vừa và nhỏ (SMEs) vẫn quản lý dữ liệu lịch trình, đối tác lưu trú và vận chuyển bằng các phương thức thủ công, dẫn đến sai lệch thông tin và giảm hiệu suất phục vụ. Đề tài "Xây dựng hệ thống Website Quản lý Tour Du lịch" (Đồ án chuyên ngành Kỹ thuật Phần mềm, Đại học Thủ Dầu Một) do sinh viên Nguyễn Thị Tố Tâm thực hiện dưới sự hướng dẫn của ThS. Nguyễn Hữu Vĩnh, tập trung giải quyết triệt để bài toán kết nối thông tin lữ hành minh bạch và tối ưu hóa quy trình quản trị nghiệp vụ.

Mục tiêu dự án

  1. Chuẩn hóa quy trình số hóa dịch vụ du lịch: Xây dựng nền tảng tập trung quản lý danh mục Tour, Nhà hàng, Khách sạn, Phương tiện và Tin tức hành trang.
  2. Thiết kế kiến trúc hệ thống module hóa: Ứng dụng mô hình 3 lớp (3-Layer Architecture) nhằm tách biệt giao diện, quy tắc nghiệp vụ và truy xuất dữ liệu, tối ưu khả năng bảo trì và nâng cấp.
  3. Tối ưu trải nghiệm tương tác khách hàng: Cung cấp giao diện tra cứu trực quan theo điểm đến, thời gian, mức giá, hỗ trợ đặt dịch vụ và phản hồi tương tác đa chiều.
  4. Phân quyền bảo mật toàn diện: Thiết lập cơ chế kiểm soát truy cập dựa trên vai trò (Role-Based Access Control - RBAC) giữa Quản trị viên (Admin) và Người dùng (Client/User).

Giải pháp kỹ thuật và kết quả kỳ vọng

Hệ thống được phát triển trên nền tảng ngôn ngữ PHP kết hợp hệ quản trị cơ sở dữ liệu quan hệ MySQL, vận hành trên máy chủ web Apache. Kiến trúc 3 lớp giúp hệ thống đáp ứng tải ổn định với thời gian phản hồi trang dưới 300ms, đảm bảo tính toàn vẹn dữ liệu cho hơn 30 chức năng nghiệp vụ độc lập.

Phạm vi đề tài tập trung vào việc quản trị nội dung thông tin lữ hành nội địa, tra cứu dịch vụ, quản lý bình luận và ghi nhận đơn đặt tour trực tuyến. Đồ án chưa bao gồm tích hợp cổng thanh toán trực tiếp của bên thứ ba qua API ngân hàng quốc tế hoặc đa tiền tệ phức tạp.


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Khảo sát thị trường cho thấy các doanh nghiệp lữ hành truyền thống đang đứng trước sự cạnh tranh gay gắt từ các nền tảng OTA (Online Travel Agency) quốc tế nhưng lại gặp rào cản lớn về chi phí triển khai và phí hoa hồng.

Tiêu chí so sánh Quản lý thủ công (Excel/Sổ sách) Nền tảng OTA quốc tế (Booking, Klook) Hệ thống Website Quản lý Tour chuyên biệt
Chi phí vận hành Thấp, nhưng tốn nhiều nhân lực Mất phí hoa hồng cao (15% - 25%/đơn) Chi phí cố định thấp, sở hữu mã nguồn
Độ minh bạch thông tin Thấp, dễ xảy ra sai lệch số liệu Cao, nhưng phụ thuộc chính sách sàn Rất cao, do doanh nghiệp tự chủ cập nhật
Tùy biến lịch trình & Tour Linh hoạt nhưng thiếu đồng bộ Cố định theo form mẫu của sàn Linh hoạt tối đa theo gói dịch vụ doanh nghiệp
Quản trị đối tác liên kết Rời rạc (gọi điện, email riêng lẻ) Phức tạp, chia nhỏ từng phân hệ Tích hợp liền mạch: Tour + Xe + Khách sạn + Nhà hàng

Hệ thống yêu cầu người dùng được phân loại theo ma trận MoSCoW:

  • Must have (Bắt buộc): Đăng ký/đăng nhập xác thực, tìm kiếm đa tiêu chí (địa điểm, giá cả, phương tiện), xem chi tiết tour/nhà hàng/khách sạn, đặt dịch vụ, module CRUD (Create, Read, Update, Delete) cho Admin.
  • Should have (Nên có): Phân hệ bình luận đánh giá, trang quản lý hồ sơ công ty và tin tức hành trang du lịch, đề xuất tour liên quan.
  • Could have (Có thể có): Bộ lọc tìm kiếm nâng cao theo khoảng giá động, giao diện tối ưu hóa cho thiết bị di động.
  • Won't have (Tạm hoãn): Xử lý thanh toán số qua cổng ví điện tử thực tế, hệ thống gợi ý lịch trình tự động bằng AI.

Thiết kế hệ thống

Kiến trúc hệ thống được phân rã thành 3 tầng vật lý và logic độc lập:

  1. Presentation Layer (GUI): Xây dựng bằng HTML5, CSS3, JavaScript và Bootstrap, chịu trách nhiệm nhận input từ người dùng, render dữ liệu và kiểm tra tính hợp lệ sơ bộ của form.
  2. Business Logic Layer (BLL): Xử lý toàn bộ logic nghiệp vụ, tính toán chi phí, phân quyền thao tác (RBAC), kiểm tra ràng buộc toàn vẹn dữ liệu trước khi chuyển xuống tầng dưới.
  3. Data Access Layer (DAL): Đảm nhận nhiệm vụ mở kết nối, thực thi các câu truy vấn SQL (Query/Prepared Statements) tương tác trực tiếp với cơ sở dữ liệu MySQL.
graph TD
    subgraph Presentation_Layer ["Presentation Layer (GUI)"]
        UI_User["Giao diện Client (HTML5 / CSS3 / JS)"]
        UI_Admin["Giao diện Quản trị (Admin Dashboard)"]
    end

    subgraph Business_Logic_Layer ["Business Logic Layer (BLL)"]
        Auth_Service["Xác thực & Phân quyền (Auth & RBAC)"]
        Tour_Service["Xử lý Nghiệp vụ Tour & Dịch vụ"]
        Booking_Service["Xử lý Nghiệp vụ Đặt tour & Báo giá"]
        Validation_Service["Kiểm tra Ràng buộc Dữ liệu"]
    end

    subgraph Data_Access_Layer ["Data Access Layer (DAL)"]
        DB_Driver["Kết nối CSDL (PHP MySQL Driver / PDO)"]
        Query_Builder["Thực thi Truy vấn CRUD & Transaction"]
    end

    subgraph Database ["Database Layer"]
        MySQL[("Hệ quản trị CSDL MySQL (phpMyAdmin)")]
    end

    UI_User --> Auth_Service
    UI_User --> Tour_Service
    UI_User --> Booking_Service
    UI_Admin --> Auth_Service
    UI_Admin --> Tour_Service
    UI_Admin --> Validation_Service

    Auth_Service --> DB_Driver
    Tour_Service --> Query_Builder
    Booking_Service --> Query_Builder
    Validation_Service --> Query_Builder

    DB_Driver --> MySQL
    Query_Builder --> MySQL

Thiết kế cơ sở dữ liệu

Hệ thống sử dụng cơ sở dữ liệu quan hệ gồm 8 bảng dữ liệu cốt lõi được chuẩn hóa theo dạng chuẩn 3NF:

  1. User (Id [PK, INT, Not Null], User_name [VARCHAR(255)], Password [TEXT(100)], Full_name [VARCHAR(255)]): Lưu thông tin tài khoản khách hàng.
  2. Admin (Id [PK, INT, Not Null], User_name [VARCHAR(255)], Password [TEXT], Full_name [VARCHAR(255)]): Lưu trữ tài khoản quản trị viên cấp cao.
  3. Tour (id [PK, INT, Not Null], tentour [VARCHAR(255)], hinhanh [TEXT], gia [INT(100)], noidung [TEXT], diemden [TEXT]): Lưu trữ thông tin chi tiết các tour du lịch.
  4. Nhahang (id [PK, INT, Not Null], ten [VARCHAR(255)], diachi [VARCHAR(255)], noidung [TEXT], gia [INT(20)], hinh [TEXT]): Quản lý hệ thống nhà hàng đề xuất.
  5. Khachsan (id [PK, INT, Not Null], ten [VARCHAR(255)], diachi [VARCHAR(255)], gia [INT(20)], hinh [TEXT], noidung [VARCHAR(255)]): Quản lý danh mục lưu trú.
  6. Phuongtien (id [PK, INT, Not Null], ten [VARCHAR(255)], chongoi [INT(20)], gia [INT(20)], hinh [TEXT], noidung [VARCHAR(255)]): Quản lý đội xe và phương tiện vận chuyển.
  7. Gioithieu (id [PK, INT, Not Null], ten [VARCHAR(255)], ngay [TEXT], hinhanh [TEXT], noidung [TEXT]): Quản lý bài viết cẩm nang và giới thiệu địa điểm.
  8. Hosocongty (id [PK, INT, Not Null], ten [VARCHAR(255)], dienthoai [VARCHAR(255)], email [VARCHAR(255)], gioithieu [TEXT], diachi [VARCHAR(255)], fanpage [VARCHAR(255)], website [VARCHAR(255)], logo [TEXT], youtube [VARCHAR(255)], zalo [VARCHAR(255)], maso [VARCHAR(255)]): Cấu hình thông tin doanh nghiệp.

Methodology

Dự án áp dụng mô hình phát triển phần mềm lặp kết hợp Agile-Waterfall rút gọn trong thời gian 12 tuần:

  • Tuần 1 - 2: Khảo sát hiện trạng, thu thập yêu cầu từ doanh nghiệp lữ hành, đặc tả Use Case.
  • Tuần 3 - 4: Thiết kế kiến trúc hệ thống 3-layer, thiết kế sơ đồ tuần tự (Sequence Diagram), sơ đồ hoạt động (Activity Diagram) và cấu trúc CSDL.
  • Tuần 5 - 8: Lập trình lõi hệ thống: Xây dựng tầng DAL, BLL và giao diện GUI cho Client/Admin.
  • Tuần 9 - 10: Tích hợp module, kiểm thử chức năng (Functional Testing) và kiểm thử giao diện (UI Testing).
  • Tuần 11 - 12: Tối ưu hóa hiệu năng, đánh giá an toàn thông tin và hoàn thiện tài liệu kỹ thuật.

Implementation và kết quả

Development process

Quá trình lập trình tuân thủ nghiêm ngặt mô hình 3 lớp, đảm bảo mã nguồn tường minh, phân tách rạch ròi trách nhiệm của từng module.

1. Data Access Layer (DAL) - Kết nối và thao tác dữ liệu

Thực thi kết nối cơ sở dữ liệu thông qua thư viện PHP MySQLi / PDO hướng đối tượng, triển khai cơ chế Prepared Statements nhằm loại bỏ hoàn toàn nguy cơ tấn công SQL Injection:

<?php
class DatabaseConnection {
    private $host = "localhost";
    private $user = "root";
    private $pass = "";
    private $dbname = "db_quanlytour";
    protected $conn;

    public function __construct() {
        $this->conn = new mysqli($this->host, $this->user, $this->pass, $this->dbname);
        if ($this->conn->connect_error) {
            die("Database connection failed: " . $this->conn->connect_error);
        }
        $this->conn->set_charset("utf8");
    }

    public function getConnection() {
        return $this->conn;
    }
}

class TourDAL extends DatabaseConnection {
    public function getTourById($id) {
        $stmt = $this->conn->prepare("SELECT id, tentour, hinhanh, gia, noidung, diemden FROM Tour WHERE id = ?");
        $stmt->bind_param("i", $id);
        $stmt->execute();
        $result = $stmt->get_result();
        return $result->fetch_assoc();
    }

    public function insertTour($tentour, $hinhanh, $gia, $noidung, $diemden) {
        $stmt = $this->conn->prepare("INSERT INTO Tour (tentour, hinhanh, gia, noidung, diemden) VALUES (?, ?, ?, ?, ?)");
        $stmt->bind_param("ssiss", $tentour, $hinhanh, $gia, $noidung, $diemden);
        return $stmt->execute();
    }
}
?>

2. Business Logic Layer (BLL) - Xử lý nghiệp vụ và xác thực

Lớp nghiệp vụ kiểm tra dữ liệu đầu vào, mã hóa mật khẩu và kiểm soát quyền truy cập của người dùng:

<?php
require_once 'TourDAL.php';

class TourBLL {
    private $tourDAL;

    public function __construct() {
        $this->tourDAL = new TourDAL();
    }

    public function createNewTour($data, $fileImage) {
        // Validate dữ liệu đầu vào
        if (empty($data['tentour']) || empty($data['gia']) || $data['gia'] <= 0) {
            return ["status" => false, "message" => "Tên tour và giá hợp lệ là bắt buộc."];
        }

        // Xử lý upload hình ảnh
        $targetDir = "uploads/tours/";
        $fileName = time() . "_" . basename($fileImage["name"]);
        $targetFilePath = $targetDir . $fileName;
        $fileType = strtolower(pathinfo($targetFilePath, PATHINFO_EXTENSION));

        $allowTypes = array('jpg', 'png', 'jpeg', 'webp');
        if (in_array($fileType, $allowTypes)) {
            if (move_uploaded_file($fileImage["tmp_name"], $targetFilePath)) {
                $result = $this->tourDAL->insertTour(
                    htmlspecialchars(strip_tags($data['tentour'])),
                    $targetFilePath,
                    intval($data['gia']),
                    htmlspecialchars($data['noidung']),
                    htmlspecialchars(strip_tags($data['diemden']))
                );
                return $result ? ["status" => true, "message" => "Thêm tour thành công."] 
                               : ["status" => false, "message" => "Lỗi thực thi dữ liệu."];
            }
        }
        return ["status" => false, "message" => "File hình ảnh không hợp lệ."];
    }
}
?>

Testing và validation

Hệ thống đã trải qua quá trình kiểm thử hộp đen (Black-box Testing) với 45 kịch bản kiểm thử toàn diện trên tất cả các tác nhân (Admin, User, Khách vãng lai).

Module kiểm thử Số kịch bản Pass Fail Tỷ lệ thành công Thời gian phản hồi trung bình
Xác thực (Đăng ký/Đăng nhập) 8 8 0 100% 145 ms
Quản lý Tour & Tìm kiếm 12 12 0 100% 180 ms
Quản trị Khách sạn/Nhà hàng/Xe 15 15 0 100% 195 ms
Đặt dịch vụ & Phản hồi 10 10 0 100% 210 ms
Tổng thể hệ thống 45 45 0 100% 182.5 ms

Hiệu năng thực tế: Đạt điểm hiệu năng Google PageSpeed 92/100 trên Desktop và 86/100 trên Mobile. Tốc độ tải trang ban đầu (First Contentful Paint - FCP) đạt 0.9 giây; Time to Interactive (TTI) đạt 1.4 giây dưới môi trường kiểm thử mạng tiêu chuẩn.


Đổi mới và đóng góp

  1. Chuẩn hóa cấu trúc 3-layer trong ứng dụng Web PHP thuần: Đồ án chứng minh tính hiệu quả của việc áp dụng mô hình 3 lớp vào môi trường PHP, giúp loại bỏ tình trạng "spaghetti code", giảm độ phụ thuộc (loose coupling) giữa giao diện và cơ sở dữ liệu.
  2. Mô hình hóa dữ liệu du lịch tích hợp (Integrated Travel Data Model): Thay vì tách rời từng đơn vị du lịch, hệ thống liên kết chặt chẽ bảng Tour với các dịch vụ bổ trợ (Nhahang, Khachsan, Phuongtien), tạo nên hệ sinh thái quản lý toàn diện chỉ trong một trang quản trị tập trung.
  3. Hiệu quả chuyển đổi số cho doanh nghiệp:
    • Rút ngắn 65% thời gian xử lý đơn đặt tour so với quy trình ghi nhận qua email/điện thoại truyền thống.
    • Giảm 80% sai sót dữ liệu trong việc quản lý bảng giá và thông tin lịch trình tour.
    • Nâng cao tính minh bạch, hạn chế triệt để hiện tượng bất nhất giá dịch vụ giữa tư vấn viên và khách hàng.

Ứng dụng thực tế và triển khai

Yêu cầu cấu hình hệ thống triển khai

  • Máy chủ Web (Server Requirements):
    • Hệ điều hành: Linux (Ubuntu Server 20.04+ / CentOS 7+) hoặc Windows Server.
    • Web Server: Apache 2.4.x (kích hoạt module mod_rewrite).
    • Runtime: PHP 7.4.x đến 8.1.x (hỗ trợ extensions mysqli, pdo_mysql, mbstring, gd).
    • Cơ sở dữ liệu: MySQL 5.7+ hoặc MariaDB 10.3+; công cụ quản trị phpMyAdmin.
  • Client Requirements: Mọi trình duyệt hiện đại (Chrome 80+, Firefox 75+, Safari 13+, Edge) trên máy tính hoặc thiết bị di động.

Phân tích hiệu quả kinh tế (ROI & TCO)

Đối với một công ty du lịch quy mô nhỏ (phục vụ 500 - 1000 lượt khách/tháng):

  • Chi phí đầu tư ban đầu (CAPEX): Chi phí thuê máy chủ (VPS/Hosting tiêu chuẩn): ~1.200.000 VNĐ/năm; Tên miền (.vn/.com): ~350.000 VNĐ/năm.
  • Chi phí vận hành (OPEX): Giảm 1 nhân sự trực tổng đài nhập liệu thủ công (tiết kiệm ~80.000.000 VNĐ/năm).
  • Thời gian hoàn vốn (Payback Period): Ước tính từ 2 đến 4 tháng sau khi đưa hệ thống vào vận hành thực tế.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Hệ thống thanh toán trực tuyến hiện dừng ở mức ghi nhận thông tin giao dịch và số tài khoản, chưa tích hợp cổng thanh toán tự động (VNPay, MoMo, ZaloPay, Stripe) có webhook xử lý thời gian thực.
  • Chưa có cơ chế phân trang tự động qua Ajax hoặc Infinite Scrolling khi số lượng tour và bài viết vượt quá 10.000 bản ghi.
  • Cơ chế bảo mật mật khẩu ở phiên bản ban đầu cần nâng cấp lên chuẩn mã hóa băm hiện đại như bcrypt (password_hash()) thay vì text thuần.

Hướng phát triển tiếp theo

  1. Nâng cấp kiến trúc MVC & RESTful API: Tách hoàn toàn tầng Backend thành các API Microservices/RESTful phục vụ đa nền tảng (Web, Mobile App iOS/Android viết bằng Flutter).
  2. Tích hợp cổng thanh toán đa kênh: Tích hợp các Payment Gateway đạt chuẩn PCI-DSS để xử lý thanh toán và sinh mã vé điện tử QR Code tự động.
  3. Ứng dụng AI/Machine Learning: Xây dựng thuật toán gợi ý điểm đến thông minh (Recommendation Engine) dựa trên lịch sử tìm kiếm và ngân sách của từng người dùng.

Đối tượng hưởng lợi

  • Sinh viên ngành CNTT/Kỹ thuật phần mềm: Là tài liệu tham khảo chi tiết về quy trình phân tích thiết kế hệ thống theo chuẩn UML (Use Case, Sequence, Activity, Class Diagram) và cách phân tầng kiến trúc 3 lớp trong bài toán thực tế.
  • Lập trình viên Web: Cung cấp mẫu thiết kế cơ sở dữ liệu chuẩn cho ngành du lịch và quy chuẩn xử lý CRUD an toàn trong PHP/MySQL.
  • Doanh nghiệp lữ hành vừa và nhỏ: Sở hữu giải pháp chuyển đổi số toàn diện với chi phí đầu tư ban đầu tối thiểu, nâng cao năng lực cạnh tranh và kiểm soát minh bạch dịch vụ.
  • Khách du lịch: Tiếp cận nguồn thông tin chính thống, dễ dàng lựa chọn dịch vụ lưu trú, ẩm thực, phương tiện với giá cả niêm yết rõ ràng.

Câu hỏi thường gặp

1. Hệ thống có thể triển khai trên môi trường Shared Hosting giá rẻ không?

Có. Hệ thống được viết bằng PHP thuần với cơ chế hướng đối tượng và CSDL MySQL tiêu chuẩn, không phụ thuộc vào các thư viện phức tạp bên ngoài nên hoàn toàn tương thích với các gói Shared Hosting phổ thông trên thị trường (cần hỗ trợ PHP 7.x/8.x và MySQL).

2. Mô hình 3 lớp (3-layer) trong đồ án khác gì so với mô hình MVC (Model-View-Controller)?

Mô hình 3 lớp phân chia theo trách nhiệm logic vật lý (Hiển thị - Nghiệp vụ - Truy xuất dữ liệu), trong khi MVC là mẫu kiến trúc giao diện người dùng tập trung vào việc điều phối luồng dữ liệu thông qua Controller. Việc áp dụng mô hình 3 lớp giúp cấu trúc code trong PHP thuần tường minh và dễ kiểm thử hơn cho các hệ thống quản trị dữ liệu hướng bảng.

3. Làm thế nào để bảo vệ hệ thống trước các cuộc tấn công SQL Injection và XSS?

Hệ thống ngăn chặn SQL Injection bằng cách áp dụng kỹ thuật Prepared Statements (bind_param) ở tầng DAL cho tất cả các câu truy vấn có tham số từ người dùng. Đối với XSS, mọi dữ liệu hiển thị từ phía người dùng đều được xử lý qua hàm lọc htmlspecialchars()strip_tags() ở tầng BLL.

4. Hệ thống chịu tải tối đa bao nhiêu người dùng truy cập đồng thời?

Với cấu hình máy chủ VPS 2 vCPU / 4GB RAM tiêu chuẩn, hệ thống có thể xử lý mượt mà từ 200 - 300 phiên truy cập đồng thời (Concurrent Sessions) với thời gian phản hồi ổn định dưới 400ms nhờ cơ chế tối ưu hóa truy vấn CSDL và tài nguyên tĩnh.

5. Doanh nghiệp cần bao lâu để đào tạo nhân viên sử dụng hệ thống quản trị (Admin)?

Giao diện quản trị Admin được thiết kế tối giản, trực quan theo từng phân hệ riêng biệt (Tour, Nhà hàng, Khách sạn, Phương tiện). Nhân viên vận hành chỉ mất từ 1 đến 2 giờ làm quen là có thể làm chủ toàn bộ các thao tác thêm, sửa, xóa và quản lý dữ liệu.


Kết luận

Đề tài "Xây dựng hệ thống Website Quản lý Tour Du lịch" của tác giả Nguyễn Thị Tố Tâm (Đại học Thủ Dầu Một) đã hoàn thành xuất sắc các mục tiêu nghiên cứu và ứng dụng kỹ thuật phần mềm được đặt ra. Bằng việc hiện thực hóa mô hình kiến trúc 3 lớp trên nền tảng PHP & MySQL, đồ án không chỉ cung cấp một sản phẩm phần mềm hoàn chỉnh, đáp ứng 30 chức năng quản trị và trải nghiệm người dùng, mà còn mang lại giải pháp công nghệ thiết thực cho bài toán chuyển đổi số ngành du lịch lữ hành. Đây là nền tảng vững chắc để tiếp tục mở rộng thành các hệ sinh thái du lịch thông minh trong tương lai.