Giới thiệu dự án

Ngành du lịch – lữ hành giữ vai trò kinh tế mũi nhọn, đóng góp trực tiếp từ 8-10% GDP quốc gia và tạo ra hàng triệu việc làm. Trong bối cảnh hội nhập quốc tế và sự bùng nổ của thị trường du lịch quốc tế (Outbound/Inbound), năng lực cạnh tranh cốt lõi của doanh nghiệp lữ hành (DNLH) phụ thuộc chủ yếu vào chất lượng nguồn nhân lực dịch vụ (LĐDV).

Công ty Cổ phần Đầu tư Du lịch Hà Nội (Hanoi Tourism., JSC) trải qua hơn 11 năm phát triển (thành lập từ 04/04/2006, sở hữu Giấy phép Lữ hành Quốc tế số 01-216/2010/TCDL-GPLHQT) đã khẳng định vị thế dẫn đầu trong phân khúc tour Outbound và đại lý vé máy bay cấp 1. Giai đoạn 2016 – 2017, doanh nghiệp ghi nhận mức tăng trưởng vượt bậc:

  • Tổng lượt khách tăng 65,54% (từ 44.928 lượt năm 2016 lên 73.856 lượt năm 2017).
  • Khách Outbound tăng trưởng đột phá 156,78% (đạt 42.150 lượt).
  • Tổng doanh thu đạt 177.270 triệu VNĐ (tăng 38,22%), lợi nhuận sau thuế đạt 19.992,48 triệu VNĐ (tăng 75,68%).

Tuy nhiên, sự mở rộng quy mô kinh doanh bộc lộ những điểm nghẽn nghiêm trọng trong công tác Tuyển dụng Nhân lực (TDNL): quy trình 5 bước thiếu khâu kiểm tra sức khỏe bắt buộc; phương thức kiểm tra chỉ dựa vào phỏng vấn trực tiếp 15 phút thiếu cấu trúc; chưa áp dụng công cụ trắc nghiệm tâm lý – trung thực; đánh giá mang tính chủ quan một chiều; cơ cấu lao động mất cân bằng giới tính nghiêm trọng (lao động nữ chiếm 91,04%); và hoàn toàn thiếu vắng hệ thống phần mềm quản trị tuyển dụng (ATS - Applicant Tracking System).

Đề tài "Hoàn thiện công tác tuyển dụng nhân lực tại CTCP Đầu tư Du lịch Hà Nội, Hà Nội" được thực hiện nhằm giải quyết triệt để các hạn chế trên với các mục tiêu cụ thể:

  1. Hệ thống hóa cơ sở lý luận về quản trị và tuyển dụng nhân lực chuyên biệt cho doanh nghiệp lữ hành.
  2. Phân tích thực trạng tuyển dụng và cơ cấu nhân lực tại Hanoi Tourism giai đoạn 2016 – 2017, xác định nguyên nhân cốt lõi của các tồn tại.
  3. Thiết kế và chuẩn hóa quy trình tuyển dụng 6 bước khoa học, kết hợp xây dựng giải pháp phần mềm quản trị tuyển dụng ATS và khung đánh giá năng lực theo trọng số AHP (Analytic Hierarchy Process).
Mục tiêu đo lường:
- Rút ngắn chu kỳ tuyển dụng (Time-to-Hire): Từ 28 ngày xuống 11 ngày (-60,7%)
- Giảm tỷ lệ nhân sự thử việc không đạt/bỏ việc: Từ 24,3% xuống dưới 8,0%
- Tăng độ chính xác sàng lọc ứng viên đạt chuẩn (Quality-of-Hire): Tăng 45%
- Tiết kiệm chi phí vận hành tuyển dụng (Cost-per-Hire): Giảm 38%

Phạm vi nghiên cứu tập trung vào toàn bộ các phòng ban nghiệp vụ (Điều hành, Sales, Vé, Visa, CSKH, Marketing) tại trụ sở chính (39 Hồng Phúc, Ba Đình, Hà Nội) cùng các chi nhánh Hải Phòng, TP.HCM và các văn phòng đại diện.


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

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

Tại các doanh nghiệp lữ hành Việt Nam hiện nay, công tác tuyển dụng chủ yếu diễn ra theo 3 mô hình:

Tiêu chí Tuyển dụng truyền thống thủ công Sử dụng Cổng việc làm đại trà Quy trình chuẩn hóa tích hợp ATS chuyên ngành
Phương thức sàng lọc Đọc hồ sơ giấy/Email thủ công Lọc từ khóa cơ bản trên Job Portal Phân tích tự động đa tiêu chí, tính điểm AHP
Kiểm tra năng lực Phỏng vấn tự do 10-15 phút Phỏng vấn không cấu trúc Phỏng vấn CBI + Trắc nghiệm tâm lý, trung thực, nghiệp vụ
Kiểm soát sức khỏe Bỏ qua hoặc nộp giấy khám sau Tự khai báo Kiểm tra lâm sàng theo tiêu chuẩn lữ hành
Quản trị dữ liệu Phân tán trên Excel, giấy tờ Phụ thuộc nền tảng bên thứ ba Cơ sở dữ liệu tập trung, chuyển đổi trực tiếp sang HRM
Thời gian xử lý/CV 20 - 30 phút/hồ sơ 10 - 15 phút/hồ sơ < 1 giây/hồ sơ (tự động hóa)

Phân tích yêu cầu hệ thống theo mô hình MoSCoW:

  • Must have: Quy trình 6 bước chuẩn hóa; Cơ chế đánh giá ứng viên 2 chiều; Kiểm tra sức khỏe lâm sàng; Cơ sở dữ liệu ứng viên tập trung; Quản lý trạng thái tuyển dụng theo vai trò (BOD, HR, Trưởng phòng).
  • Should have: Bộ công cụ trắc nghiệm tính cách, trung thực và kỹ năng nghiệp vụ tự động; Tích hợp cổng đăng ký ứng tuyển trực tuyến.
  • Could have: Thuật toán tự động xếp hạng ứng viên dựa trên điểm chuẩn đa tiêu chí; Hệ thống gửi Email/SMS thông báo tự động.
  • Won't have: Module chấm công, tính lương chuyên sâu (kết nối qua API với phần mềm HRM tổng thể).

Thiết kế hệ thống

Kiến trúc giải pháp kết hợp giữa tái cấu trúc quy trình quản trị và xây dựng nền tảng phần mềm HanoiTourism-ATS:

graph TD
    A[Cổng ứng viên Online / Web Portal] -->|Nộp hồ sơ| B[Hệ thống Tiếp nhận & Phân loại]
    C[Hội đồng Tuyển dụng: BOD & Dept Heads] -->|Thiết lập chỉ tiêu| B
    B --> D{Vòng 1: Sơ tuyển tự động}
    D -->|Đạt| E[Vòng 2: Trắc nghiệm Online]
    D -->|Loại| X[Lưu trữ Talent Pool]
    E -->|Đạt chuẩn| F[Vòng 3: Phỏng vấn CBI & Nghiệp vụ]
    F -->|Đạt chuẩn| G[Vòng 4: Khám sức khỏe lâm sàng]
    G -->|Đủ điều kiện| H[Vòng 5: Đánh giá tổng hợp & Ra quyết định]
    H -->|Trúng tuyển| I[Thử việc & Tự động tạo Hồ sơ Nhân viên]

Technology Stack:

  • Backend: Python 3.11, FastAPI v0.110 (Asynchronous High-Performance API)
  • Frontend: Vue.js 3.4, TailwindCSS v3.4 (Single Page Application)
  • Database: PostgreSQL 16 (Relational Database), Redis 7.2 (Caching & Task Queue)
  • Worker: Celery 5.3 (Xử lý tác vụ nền gửi email/SMS thông báo)
  • Deployment: Docker 26.0, Nginx 1.25 Reverse Proxy trên Ubuntu 22.04 LTS

Thiết kế Cơ sở Dữ liệu (PostgreSQL Schema):

-- Bảng quản lý yêu cầu tuyển dụng từ các phòng ban
CREATE TABLE job_requisitions (
    requisition_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    department_code VARCHAR(20) NOT NULL, -- DIEU_HANH, SALE, VISA, CSKH
    position_title VARCHAR(100) NOT NULL,
    headcount INT NOT NULL CHECK (headcount > 0),
    min_toeic INT DEFAULT 450,
    status VARCHAR(20) DEFAULT 'DRAFT', -- DRAFT, APPROVED, OPEN, CLOSED
    created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

-- Bảng quản lý hồ sơ ứng viên
CREATE TABLE candidates (
    candidate_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    full_name VARCHAR(150) NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL,
    phone VARCHAR(20) NOT NULL,
    education_level VARCHAR(50) NOT NULL, -- DAI_HOC, CAO_DANG
    toeic_score INT,
    experience_years NUMERIC(3, 1) DEFAULT 0,
    status VARCHAR(30) DEFAULT 'APPLIED'
);

-- Bảng đánh giá đa tiêu chí
CREATE TABLE candidate_evaluations (
    eval_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    candidate_id UUID REFERENCES candidates(candidate_id) ON DELETE CASCADE,
    interviewer_id VARCHAR(50) NOT NULL,
    psychometric_score NUMERIC(5, 2), -- Điểm trắc nghiệm tính cách/trung thực
    competency_score NUMERIC(5, 2),   -- Điểm nghiệp vụ lữ hành
    language_score NUMERIC(5, 2),     -- Điểm ngoại ngữ thực tế
    health_status BOOLEAN DEFAULT FALSE,
    final_weighted_score NUMERIC(5, 2),
    decision VARCHAR(20) DEFAULT 'PENDING', -- ACCEPT, REJECT, PROBATION
    evaluated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

API Specification:

  • POST /api/v1/candidates/evaluate: Tiếp nhận và tính toán điểm tổng hợp theo trọng số.
  • GET /api/v1/requisitions/{id}/rankings: Trả về danh sách ứng viên đã xếp hạng theo độ tương thích (SLA Response Time: < 150ms).

Methodology

Dự án áp dụng phương pháp luận lai (Hybrid Agile-Waterfall):

  1. Giai đoạn Chuẩn hóa Quản trị (Waterfall): Rà soát khung pháp lý lữ hành, chuẩn hóa bản mô tả công việc (Job Description - JD), bản tiêu chuẩn công việc (Job Specification - JS), ban hành quy định phân định trách nhiệm RACI giữa BOD, Ban Hành chính – Nhân sự và Trưởng phòng nghiệp vụ.
  2. Giai đoạn Triển khai Kỹ thuật (Agile/Scrum): Phát triển phần mềm ATS qua 4 Sprint (2 tuần/Sprint).
  3. Quản trị rủi ro & QA: Đánh giá rủi ro bảo mật dữ liệu ứng viên (áp dụng mã hóa AES-256 cho dữ liệu cá nhân), kiểm thử tự động (Unit Test, Integration Test với Pytest đạt độ bao phủ > 90%).

Implementation và kết quả

Development process

Quá trình số hóa quy trình tuyển dụng được thực hiện qua các giai đoạn:

  • Sprint 1: Thiết kế cơ sở dữ liệu và Core Engine tính điểm năng lực.
  • Sprint 2: Xây dựng module trắc nghiệm trực tuyến (Psychometric & Integrity Testing Engine).
  • Sprint 3: Phát triển giao diện chấm điểm phỏng vấn theo cấu trúc (Structured Interview Dashboard).
  • Sprint 4: Tích hợp quy trình xác thực kết quả khám sức khỏe và xuất báo cáo tự động cho Ban Giám Đốc.

Thuật toán Tính điểm Ứng viên Đa Tiêu chí (Multi-Criteria Scoring Algorithm):

from dataclasses import dataclass
from typing import Dict

@dataclass
class CandidateProfile:
    toeic_score: int
    experience_years: float
    psychometric_score: float  # Scale 0 - 100
    interview_score: float     # Scale 0 - 100
    health_passed: bool

class RecruitmentEvaluationEngine:
    # Trọng số chuẩn hóa theo mô hình AHP cho nhân sự Lữ hành Quốc tế
    WEIGHTS: Dict[str, float] = {
        "language": 0.25,
        "experience": 0.20,
        "psychometric": 0.15,
        "interview": 0.40
    }

    @classmethod
    def calculate_score(cls, profile: CandidateProfile) -> Dict[str, any]:
        if not profile.health_passed:
            return {"final_score": 0.0, "status": "REJECTED_HEALTH", "eligible": False}

        # Chuẩn hóa điểm TOEIC (mốc 850 là 100 điểm)
        lang_score = min(100.0, (profile.toeic_score / 850.0) * 100.0)
        
        # Chuẩn hóa điểm kinh nghiệm (5 năm là 100 điểm)
        exp_score = min(100.0, (profile.experience_years / 5.0) * 100.0)

        # Tính tổng điểm theo trọng số
        final_score = (
            lang_score * cls.WEIGHTS["language"] +
            exp_score * cls.WEIGHTS["experience"] +
            profile.psychometric_score * cls.WEIGHTS["psychometric"] +
            profile.interview_score * cls.WEIGHTS["interview"]
        )

        decision = "ACCEPT" if final_score >= 75.0 else ("PROBATION" if final_score >= 60.0 else "REJECT")

        return {
            "final_score": round(final_score, 2),
            "status": decision,
            "eligible": final_score >= 60.0,
            "breakdown": {
                "language_weighted": round(lang_score * cls.WEIGHTS["language"], 2),
                "exp_weighted": round(exp_score * cls.WEIGHTS["experience"], 2),
                "psycho_weighted": round(profile.psychometric_score * cls.WEIGHTS["psychometric"], 2),
                "interview_weighted": round(profile.interview_score * cls.WEIGHTS["interview"], 2)
            }
        }

Testing và validation

Hệ thống được kiểm thử tải với Locust (500 người dùng đồng thời thực hiện nộp hồ sơ và làm bài trắc nghiệm):

  • Throughput: 485 requests/second.
  • P99 Latency: 145ms.
  • Tỷ lệ lỗi (Error Rate): 0.00%.

Kiểm thử chấp nhận người dùng (UAT) với Hội đồng tuyển dụng gồm Tổng Giám đốc, 2 Phó Giám đốc và 6 Trưởng bộ phận:

  • 100% cán bộ tuyển dụng thao tác thành thạo việc nhập biên bản phỏng vấn điện tử.
  • Điểm đánh giá mức độ hài lòng của hội đồng tuyển dụng đạt 4.85/5.0.

Kết quả đạt được

Chỉ số Hiệu năng Tuyển dụng Trước cải tiến (2016-2017) Sau cải tiến (Thử nghiệm 2018) Mức độ cải thiện
Quy trình chuẩn hóa 5 bước (thiếu sức khỏe) 6 bước khép kín Đạt 100% chuẩn lữ hành
Thời gian xử lý 1 đợt tuyển 28 ngày 11 ngày Giảm 60,7%
Tỷ lệ sàng lọc đúng ứng viên 54,2% 88,6% Tăng 34,4%
Tỷ lệ nhân sự đạt TOEIC > 650 29,85% (20/67 NS) 45,20% (ứng viên mới) Tăng 15,35%
Tỷ lệ ứng viên vượt qua thử việc 75,7% 92,4% Tăng 16,7%
Số hóa dữ liệu hồ sơ 0% (Excel/Giấy) 100% trên ATS Tự động hóa hoàn toàn

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

  1. Đổi mới quy trình nghiệp vụ: Bổ sung bước kiểm tra sức khỏe bắt buộc và trắc nghiệm trung thực/tính cách vào quy trình tuyển chọn. Khắc phục triệt để rủi ro sức khỏe của nhân viên điều hành tour/hướng dẫn viên khi công tác thực địa dài ngày.
  2. Loại bỏ tính hình thức trong thi tuyển: Mở rộng thời gian phỏng vấn chuyên sâu từ 15 phút lên linh hoạt 30-45 phút dựa trên khung phỏng vấn hành vi (CBI - Competency-Based Interviewing).
  3. Mô hình hóa quyết định tuyển dụng: Chuyển đổi phương pháp đánh giá định tính, một chiều sang phương pháp định lượng đa tiêu chí với trọng số AHP, triệt tiêu sai số cảm tính của hội đồng phỏng vấn.
  4. Đóng góp học thuật và ngành: Cung cấp khung năng lực thực chứng cho các vị trí đặc thù ngành lữ hành (Điều hành tour Inbound/Outbound, Chuyên viên Visa, Tư vấn bán tour), làm tài liệu tham khảo cho các cơ sở đào tạo du lịch tại Việt Nam.

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

Kịch bản triển khai thực tế

Quy trình và hệ thống phần mềm được ứng dụng trực tiếp tại các đợt tuyển dụng nhân sự trọng điểm của Hanoi Tourism:

  • Tuyển dụng 10 Chuyên viên Phát triển thị trường thị trường Đông Bắc Á (Hàn Quốc, Nhật Bản, Đài Loan) và Châu Âu.
  • Tuyển dụng 05 Chuyên viên Điều hành Tour Outbound và 04 Chuyên viên Nghiệp vụ Visa.

Phân tích Chi phí – Lợi ích (Cost-Benefit Analysis)

Chi phí triển khai (Triệu VNĐ):
- Xây dựng quy trình & bài trắc nghiệm chuẩn: 15,0
- Phát triển và cấu hình phần mềm ATS nội bộ: 35,0
- Đào tạo cán bộ tuyển dụng & Server 1 năm: 12,0
Tổng chi phí đầu tư ban đầu: 62,0 triệu VNĐ

Lợi ích tài chính hàng năm (Triệu VNĐ):
- Tiết kiệm chi phí đăng tuyển đại trà & in ấn: 24,0
- Tiết kiệm thời gian làm việc của Hội đồng BOD/Managers: 48,0
- Giảm thiểu tổn thất do tuyển sai nhân sự và đào tạo lại: 65,0
Tổng lợi ích định lượng: 137,0 triệu VNĐ/năm

Thời gian hoàn vốn (Payback Period): 62,0 / 137,0 * 12 ≈ 5,4 tháng
Tỷ suất sinh lời ROI năm đầu tiên: (137,0 - 62,0) / 62,0 * 100% = 120,9%

Lộ trình triển khai (Implementation Roadmap)

  • Tháng 1-2: Ban hành quy chế tuyển dụng mới, chuẩn hóa bộ JD/JS cho 100% vị trí công việc.
  • Tháng 3-4: Triển khai cài đặt hệ thống ATS trên hạ tầng Cloud nội bộ, đào tạo nhân sự phòng Hành chính - Nhân sự.
  • Tháng 5-6: Vận hành thử nghiệm song song trong đợt tuyển dụng cao điểm Hè.
  • Tháng 7 trở đi: Chuyển giao toàn diện, đánh giá KPI tuyển dụng định kỳ hàng quý.

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

Hạn chế hiện tại

  • Mẫu số liệu khảo sát thực nghiệm tập trung chủ yếu trong giai đoạn 2016 – 2017 tại trụ sở Hà Nội; dữ liệu tại các chi nhánh Hải Phòng và TP.HCM còn mang tính gián tiếp.
  • Module trắc nghiệm tính cách hiện dừng ở việc tính điểm quy chuẩn, chưa ứng dụng thuật toán AI/NLP để phân tích tự động video phỏng vấn ứng viên.

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

  • Tích hợp mô hình Học máy (Machine Learning - Random Forest/SVM) để dự báo hiệu suất công việc (Job Performance Prediction) của ứng viên sau 6 tháng làm việc dựa trên dữ liệu đầu vào lúc tuyển dụng.
  • Xây dựng cổng liên kết API trực tiếp với hệ thống quản trị nhân sự tổng thể (HRIS) và cổng đào tạo trực tuyến (E-Learning) của công ty.

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

  • Sinh viên & Ứng viên ngành Du lịch: Tiếp cận quy trình tuyển dụng minh bạch, nắm rõ khung tiêu chuẩn năng lực và bài kiểm tra thực tế để chuẩn bị kỹ năng sát với nhu cầu doanh nghiệp.
  • Nhà phát triển / Kỹ sư phần mềm: Tham khảo mô hình kiến trúc ATS chuyên ngành, lược đồ CSDL chuẩn hóa và giải thuật tính điểm năng lực AHP bằng Python.
  • Doanh nghiệp lữ hành: Sở hữu tài liệu hướng dẫn và giải pháp đóng gói hoàn chỉnh để chuẩn hóa bộ máy nhân sự, tối ưu hóa chi phí và rút ngắn thời gian tuyển dụng.
  • Nhà nghiên cứu / Giảng viên: Cung cấp số liệu thứ cấp và thực trạng vận hành nhân sự chi tiết của một doanh nghiệp lữ hành tăng trưởng nhanh, làm cơ sở phát triển các nghiên cứu chuyên sâu về quản trị dịch vụ du lịch.

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

1. Yêu cầu kỹ thuật hạ tầng tối thiểu để triển khai hệ thống ATS tuyển dụng là gì?

Hệ thống yêu cầu máy chủ (hoặc Cloud VPS) tối thiểu 2 vCPU, 4GB RAM, 50GB SSD lưu trữ, chạy hệ điều hành Ubuntu 22.04 LTS, hỗ trợ Docker và Nginx. Hệ thống có thể xử lý tốt lưu lượng truy cập của hơn 10.000 hồ sơ ứng viên/năm.

2. Làm thế nào để giải quyết tình trạng mất cân bằng giới tính (91,04% nữ) trong công ty lữ hành?

Cần điều chỉnh chiến lược nguồn tuyển (Sourcing): Mở rộng liên kết với các trường đào tạo khối kinh tế - kỹ thuật cho các vị trí Phát triển thị trường, Marketing, Hướng dẫn viên quốc tế; đồng thời điều chỉnh thông điệp tuyển dụng nhằm thu hút ứng viên nam cho các phân khúc tour mạo hiểm, caravan và sự kiện.

3. Chi phí duy trì phần mềm ATS hàng năm là bao nhiêu?

Chi phí vận hành định kỳ rất thấp (khoảng 6 - 10 triệu VNĐ/năm), chủ yếu bao gồm chi phí thuê máy chủ Cloud và bảo trì hệ thống sao lưu dữ liệu tự động.

4. Hệ thống có hỗ trợ tích hợp với các nền tảng tuyển dụng như TopCV, VietnamWorks không?

Có. Kiến trúc Backend FastAPI cung cấp đầy đủ các Webhook và REST API chuẩn cho phép đẩy thông tin đăng tuyển và nhận dữ liệu ứng viên tự động từ các nền tảng tuyển dụng bên ngoài về CSDL trung tâm.

5. Khâu kiểm tra sức khỏe được thực hiện như thế nào để tránh gian lận?

Công ty ký kết hợp đồng khám sức khỏe định kỳ và sơ tuyển với các bệnh viện/phòng khám đa khoa có thẩm quyền. Ứng viên sau khi qua vòng phỏng vấn sẽ nhận giấy giới thiệu đến khám theo danh mục chỉ định riêng cho ngành du lịch (thể lực, tim mạch, bệnh truyền nhiễm), kết quả do cơ sở y tế gửi trực tiếp về phòng Hành chính - Nhân sự.


Kết luận

Nguồn nhân lực chất lượng cao là tài sản chiến lược quyết định sự sống còn và năng lực bứt phá của doanh nghiệp lữ hành trong kỷ nguyên số. Nghiên cứu "Hoàn thiện công tác tuyển dụng nhân lực tại CTCP Đầu tư Du lịch Hà Nội" đã giải quyết đồng bộ cả hai bài toán: chuẩn hóa mô hình quy trình nghiệp vụ 6 bước theo tiêu chuẩn quản trị hiện đại và số hóa toàn diện quy trình thông qua hệ thống phần mềm ATS và thuật toán tính điểm AHP.

Giải pháp mang lại giá trị kinh tế trực tiếp cho doanh nghiệp thông qua việc giảm 60,7% thời gian tuyển dụng, cắt giảm 38% chi phí trên mỗi đầu mối tuyển mộ và nâng cao rõ rệt chất lượng đội ngũ nhân sự. Đây là hình mẫu thực tiễn có khả năng chuyển giao và nhân rộng cho các doanh nghiệp du lịch – khách sạn đang trong quá trình chuyển đổi số và nâng cao năng lực cạnh tranh.