đã được để sẵn trong phòng: khi khách hàng thông báo trả phòng, bộ phận phòng sẽ kiểm tra các sản phẩm khách hàng đã dùng, báo bộ phận lễ tân.. ❖ Module: Cập nhật theo thời đi
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN
XÂY DỰNG WEBSITE ĐẶT PHÒNG KHÁCH SẠN
S K L 0 0 9 6 2 6
GVHD: ThS MAI ANH THƠ SVTH: TRẦN VÕ BỬU ĐIỀN NGUYỄN TUẤN TÀI
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
Ngành : CÔNG NGHỆ THÔNG TIN
XÂY DỰNG WEBSITE ĐẶT PHÒNG
Trang 3NHIỆM VỤ KHÓA LUẬN TỐT NGHIỆP
Họ tên sinh viên: Trần Võ Bửu Điền MSSV: 18110096 Lớp: 18110CLST1
Họ tên sinh viên: Nguyễn Tuấn Tài MSSV: 18110193 Lớp: 18110CLST2 Giảng viên hướng dẫn: ThS Mai Anh Thơ
Ngày nhận đề tài: 07/03/2022 Ngày nộp đề tài: 18/06/2022
1 Tên đề tài: Xây dựng website đặt phòng khách sạn
2 Nhiệm vụ của luận văn:
• Nghiên cứu, tìm hiểu MERN Stack: MongoDB, Express, ReacJS, NodeJS
• Thiết kế và xây dựng trang web quản lý khách sạn
3 Nội dung thực hiện đề tài:
• Nghiên cứu, thiết kế website đặt phòng và quản lý khách sạn với đầy đủ các tính năng như: quản lý phòng, quản lý kho, quản lý thu chi, thống kê…
• Phân tích chức năng của website và lựa chọn phương án thiết kế website phù hợp
4 Sản phẩm:
Website đặt phòng và quản lý khách sạn có đầy đủ các chức năng cơ bản
GIẢNG VIÊN HƯỚNG DẪN
Trang 4PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ tên sinh viên: Trần Võ Bửu Điền MSSV: 18110096 Lớp: 18110CLST1
Họ tên sinh viên: Nguyễn Tuấn Tài MSSV: 18110193 Lớp: 18110CLST2 Giảng viên hướng dẫn: ThS Mai Anh Thơ
Tên đề tài: Xây dựng website đặt phòng khách sạn
NHẬN XÉT
1 Về nội dung đề tài & khối lượng thực hiện:
2 Ưu điểm:
3 Khuyết điểm:
4 Đánh giá loại:
Trang 5PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ tên sinh viên: Trần Võ Bửu Điền MSSV: 18110096 Lớp: 18110CLST1
Họ tên sinh viên: Nguyễn Tuấn Tài MSSV: 18110193 Lớp: 18110CLST2 Giảng viên hướng dẫn: TS Lê Vĩnh Thịnh
Tên đề tài: Xây dựng website đặt phòng khách sạn
NHẬN XÉT
1 Về nội dung đề tài & khối lượng thực hiện:
2 Ưu điểm:
3 Khuyết điểm:
4 Đánh giá loại:
Trang 6LỜI CẢM ƠN
Lời đầu tiên, nhóm thực hiện xin được phép gửi lời cảm ơn chân thành đến khoa Đào tạo Chất Lượng Cao – Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh đã tạo mọi điều kiện thuận lợi nhất cho nhóm thực hiện có cơ hội được tự do tiếp cận, tham khảo, mở rộng thêm kiến thức trong lĩnh vực Công nghệ thông tin nói chung và môn Khóa luận tốt nghiệp nói riêng
Lời cảm ơn trân trọng nhất nhóm thực hiện xin chân thành gửi đến cô Mai Anh Thơ – người đã tận tình chỉ dẫn, hỗ trợ, luôn đồng hành, trực tiếp hướng dẫn và tạo mọi điều kiện thuận lợi giúp đỡ cho nhóm phát huy hết khả năng cũng như nâng cao kiến thức trong suốt quá trình học tập, đặc biệt là trong quá trình chuẩn bị và thực hiện Khóa luận tốt nghiệp Trong quá trình xây dựng ứng dụng, vì kiến thức còn hạn chế nên còn gặp nhiều khó khăn nên ứng dụng khó tránh những sai sót Do đó, nhóm mong sẽ nhận được sự góp ý chân thành của thầy cô và các bạn đọc Những ý kiến đóng góp về đề tài sẽ được nhóm tiếp nhận để có thêm nhiều kinh nghiệm phát triển những nghiên cứu khác tốt hơn
Cuối cùng nhóm thực hiện kính chúc quý thầy cô dồi dào sức khỏe, niềm tin để tiếp tục sự nghiệp cao quý của mình là truyền đạt kiến thức cho thế hệ mai sau
Nhóm thực hiện xin chân thành cám ơn
Trang 7MỤC LỤC DANH MỤC HÌNH VẼ I DANH MỤC BẢNG BIỂU V
CHƯƠNG 1 : TỔNG QUAN 1
1.1 Lý do chọn đề tài 1
1.2 Mục tiêu 1
CHƯƠNG 2 : KHẢO SÁT HIỆN TRẠNG 2
2.1 Khảo sát hiện trạng 2
2.1.1 Website quản lý khách sạn TCSOFT HOTEL 2
2.1.2 Phần mềm quản lý khách sạn SHOTEL 5
2.1.3 Hệ thống quản lý khách sạn được cung cấp bởi asiky.com 6
2.1.4 Áp dụng cho trang web 10
2.2 Xác định yêu cầu 10
2.2.1 Đối tượng sử dụng 10
2.2.2 Chức năng 11
CHƯƠNG 3 : PHÂN TÍCH THIẾT KẾ VÀ HỆ THỐNG 13
3.1 Mô hình hóa yêu cầu 13
3.1.1 Lược đồ Usecase 13
3.1.2 Đặc tả một số Usecase chính 16
3.1.3 Lược đồ cơ sở dữ liệu quan hệ 30
3.1.4 Lược đồ tuần tự những chức năng chính 31
3.1.5 Lược đồ lớp 45
3.2 Thiết kế giao diện 46
3.2.1 Thiết kế UI Component 46
3.2.2 Thiết kế giao diện chính 51
CHƯƠNG 4 : CÔNG NGHỆ SỬ DỤNG 72
Trang 84.1 Kiến trúc thành phần ứng dụng 72
4.2 Front-end (ReactJS) 73
4.2.1 Cấu trúc thư mục 73
4.2.2 Các thư viện sử dụng 76
4.2.3 Đặc tả một số thư viện chính 78
4.3 Back-end (NodeJS, ExpressJS) 86
4.3.1 Cấu trúc thư mục 86
4.3.2 Các thư viện sử dụng 89
4.3.3 Đặc tả một số thư viện chính 91
CHƯƠNG 5 : CÀI ĐẶT VÀ KIỂM THỬ 95
5.1 Cài đặt 95
5.2 Các bước chạy hệ thống 95
5.3 Kiểm thử 96
CHƯƠNG 6 : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 102
6.1 Kết quả đạt được 102
6.2 Ưu điểm 102
6.3 Nhược điểm 102
6.4 Khó khăn 103
6.5 Bài học kinh nghiệm 103
6.6 Hướng phát triển 103
TÀI LIỆU THAM KHẢO 104
Trang 9DANH MỤC HÌNH VẼ
Hình 2.1: Giao diện website TSCSOFT Hotel 2
Hình 2.2: Giao diện website SHOTEL 5
Hình 2.3: Giao diện chính website asiky.com 6
Hình 3.1: Sơ đồ Usecase 13
Hình 3.2: Lược đồ cơ sở dữ liệu quan hệ 30
Hình 3.3: Lược đồ tuần tự đăng nhập 31
Hình 3.4: Lược đồ tuần tự quên mật khẩu 32
Hình 3.5: Lược đồ tuần tự xem sơ đồ phòng 33
Hình 3.6: Lược đồ tuần tự thay đổi trạng thái phòng 34
Hình 3.7: Lược đồ tuần tự đặt phòng trên website 35
Hình 3.8: Lược đồ tuần tự đặt phòng trực tiếp tại khách sạn 36
Hình 3.9: Lược đồ tuần tự nhận phòng 37
Hình 3.10: Lược đồ tuần tự trả phòng 38
Hình 3.11: Lược đồ tuần tự thêm khách hàng 39
Hình 3.12: Lược đồ tuần tự cập nhật thông tin khách hàng 40
Hình 3.13: Lược đồ tuần tự thêm nhân viên 41
Hình 3.14: Lược đồ tuần tự cập nhật thông tin nhân viên 42
Hình 3.15: Lược đồ tuần tự thêm phòng 43
Hình 3.16: Lược đồ tuần tự cập nhật thông tin phòng 44
Hình 3.17: Lược đồ lớp tổng quát hệ thống 45
Hình 3.18: Component hierarchy 46
Hình 3.19: Danh sách các UI Component 47
Hình 3.20: Sidebar Component 47
Hình 3.21: TopNav Component 48
Trang 10Hình 3.22: Table Component 48
Hình 3.23: Card Component 49
Hình 3.24: Pagination Component 49
Hình 3.25: Search Component 50
Hình 3.26: Loading Component 50
Hình 3.27: Trang chủ 51
Hình 3.28: Trang danh sách phòng phòng 52
Hình 3.29: Trang đặt phòng 53
Hình 3.30: Trang chi tiết phòng 54
Hình 3.31: Trang đăng nhập 55
Hình 3.32: Trang quên mật khẩu 56
Hình 3.33: Email xác nhận reset pasword 56
Hình 3.34: Trang reset password 57
Hình 3.35: Trang tổng quan 57
Hình 3.36: Trang thông tin cá nhân 58
Hình 3.37: Trang cập nhật thông tin cá nhân người dùng 59
Hình 3.38: Thay đổi mật khẩu cá nhân 59
Hình 3.39: Trang sơ đồ phòng 60
Hình 3.40: Thông tin phòng khi phòng trống 61
Hình 3.41: Cập nhật thông tin phòng 62
Hình 3.42: Xem lịch đặt phòng 62
Hình 3.43: Trang đặt phòng, nhận phòng 63
Hình 3.44: Trang trả phòng khách sạn 63
Hình 3.45: Trang xem danh sách đặt phòng/nhận phòng 64
Hình 3.46: Trang cập nhật thông tin đặt phòng 65
Trang 11Hình 3.47: Quản lý thông tin khách hàng 66
Hình 3.48: Quản lý thông tin nhân viên 67
Hình 3.49: Quản lý dịch vụ khách sạn 68
Hình 3.50: Quản lý thông tin hóa đơn 69
Hình 3.55: Xuất hóa đơn 69
Hình 3.52: Thống kê doanh thu 70
Hình 3.53: Thống kê phòng 70
Hình 3.54: Thống kê dịch vụ 71
Hình 4.1: Kiến trúc thành phần ứng dụng 72
Hình 4.2: Cấu trúc thư mục front-end 73
Hình 4.3: Cấu trúc một thư mục chức năng (User) 74
Hình 4.4: Cấu trúc đơn giản axios GET 79
Hình 4.5: Axios GET lấy thông tin người dùng 79
Hình 4.6: Axios POST thêm mới người dùng 80
Hình 4.7: Axios PUT cập nhật thông tin người dùng 80
Hình 4.8: Axios DELETE 80
Hình 4.9: Axios PUT xóa người dùng 81
Hình 4.10: Kiến trúc routing trong react-router-dom@v6 81
Hình 4.11: Kiến trúc routing trong react-router-dom phiên bản cũ 82
Hình 4.12: Kiến trúc redux 82
Hình 4.13: Thành phần stores trong redux 83
Hình 4.14: Thành phần các reducers trong redux 83
Hình 4.15: Cách gọi dữ liệu thông qua hook useDispatch 84
Hình 4.16: Thành phần action trong redux 84
Hình 4.17: Thành phần Button của react-bootstrap 85
Trang 12Hình 4.18: Công cụ redux devtools 85
Hình 4.19: Cấu trúc thư mục back-end 86
Hình 4.20: Cấu hình kết nối database 91
Hình 4.21: Schema services 92
Hình 4.22: Dữ liệu được ánh xạ từ ứng dụng vào mongoDB 92
Hình 4.23: Tạo accessToken với JWT 93
Hình 4.24: Thông tin cấu hình Google OAuth2 Client 93
Hình 4.25: Cấu hình Google OAuth2 Client 94
Hình 4.26: Gửi email với Google OAuth2 Client 94
Trang 13DANH MỤC BẢNG BIỂU
Bảng 3.1: Mô tả sơ đồ Usecase 14
Bảng 3.2: Usecase đăng nhập 16
Bảng 3.3: Usecase quên mật khẩu 17
Bảng 3.4: Usecase xem sơ đồ phòng 18
Bảng 3.5: Usecase thay đổi trạng thái phòng 19
Bảng 3.6: Usecase Đặt phòng 19
Bảng 3.7: Usecase nhận phòng 21
Bảng 3.8: Usecase trả phòng 22
Bảng 3.9: Usecase Thêm khách hàng 23
Bảng 3.10: Usecase cập nhật khách hàng 24
Bảng 3.11: Usecase thêm nhân viên 26
Bảng 3.12: Usecase cập nhật nhân viên 27
Bảng 3.13: Usecase thêm phòng 28
Bảng 3.14: Usecase cập nhật phòng 29
Bảng 4.1: Chi tiết cấu trúc thư mục front-end 74
Bảng 4.2: Các thư viện sử dụng ở front-end 76
Bảng 4.3: Chi tiết cấu trúc thư mục back-end 86
Bảng 4.4: Các thư viện sử dụng phía back-end 89
Bảng 5.1: Bảng tài khoản đăng nhập 95
Bảng 5.2: Testcase Đăng nhập 96
Bảng 5.3: Testcase thay đổi trạng thái phòng 97
Bảng 5.4: Testcase thay đổi thông tin cá nhân 97
Bảng 5.5: Testcase đặt phòng 98
Bảng 5.6: Testcase quản lý thông tin khách hàng 99
Trang 14CHƯƠNG 1 : TỔNG QUAN 1.1 Lý do chọn đề tài
Ngày nay đã có nhiều tiến bộ mạnh mẽ về công nghệ thông tin từ một tiềm năng thông tin đã trở thành một tài nguyên thực sự, cùng với đó từ khi ra đời máy tính đã nhanh chóng phát triển và đóng một vai trò rất quan trọng trong nghiên cứu khoa học cũng như là đời sống Những công việc hàng ngày đã dần được máy móc hóa để con người có thể sử dụng bớt sức lực hơn Những nhu cầu được thực hiện điển hình như các trang thương mại điện tử để bán hàng, đặt hàng, mọi việc đang dần số hóa Cùng với đó là các website quản lý cũng góp phần vô cùng quan trọng, đáp ứng nhu cầu đơn giản hóa trong công tác quản lý, nhanh chóng và dễ dàng hơn Trong đó, quản lý khách sạn là một trong những yêu cầu phổ biến và cần thiết trong lĩnh vực thương mại hóa
Với mục đích tìm hiểu và sử dụng công nghệ MERN Stack, xây dựng một website với đầy đủ các tính năng cần thiết cho một hệ thống quản lý, đồng thời phục vụ cho việc quản lý và đặt phòng một khách sạn một cách dễ dàng, khoa học… Nhóm sinh viên quyết
định chọn và thực hiền đề tài: “Tìm hiểu và sử dụng công nghệ MERN Stack để xây dựng website đặt phòng khách sạn”
1.2 Mục tiêu
Mục tiêu của đề tài là có thể áp dụng các kiến thức đã học và áp dụng những công nghệ mới để có thể xây dựng lên một nền tảng web giúp đặt phòng và quản lý khách sạn một cách khoa học và tối ưu Ngoài ra, giao diện phải vừa thân thiện, vừa dễ sử dụng cũng như đầy đủ các chức năng mang lại sự thoải mái tốt nhất cho người sử dụng
Trang 15CHƯƠNG 2 : KHẢO SÁT HIỆN TRẠNG 2.1 Khảo sát hiện trạng
Nghiên cứu và khảo sát hiện trạng là bước mở đầu của quá trình phát triển hệ thống Đối với website đặt phòng và quản lý khách sạn, việc khảo sát và phân tích nghiệp vụ khách sạn, vấn đề đặt phòng của khách hàng, quản lý thông tin hồ sơ khách hàng, quản lý dịch vụ cũng như quản lý hóa đơn, thống kê báo cáo doanh thu của khách sạn Dưới dây là một số hệ thống quản lý và đặt phòng khách sạn được nhóm tiến hành kháo sát hiện trạng
2.1.1 Website quản lý khách sạn TCSOFT HOTEL
2.1.1.1 Giao diện chính
Hình 2.1: Giao diện website TSCSOFT Hotel 2.1.1.2 Những chức năng chính
❖ Quản lý người dùng
Hệ thống cho phép quản trị viên phân quyền truy cập vào hệ thống, gồm các quyền chính:
- Lễ tân: cho phép truy cập quản lý phòng
- Quản lý khách sạn: cho phép quản lý khách hàng, quản lý thu chi, quản lý kho
- Quản trị viên khách sạn, chủ khách sạn: truy cập toàn bộ chức năng hệ thống
Trang 16❖ Quản lý phòng
Module quản lý phòng thể hiện số phòng đang quản lý, tình trạng phòng theo màu sắc: phòng trống, phòng có khách, phòng chưa dọn, phòng đang sửa
Sơ đồ trực quan theo tầng, mỗi phòng có đầy đủ các thông tin: tên phòng, loại phòng, tình trạng phòng, trạng thái phòng
Đầy đủ các chức năng: đặt phòng, xóa phòng, sửa thông tin phòng, xuất hóa đơn phòng, hiển thị danh sách đặt phòng
❖ Quản lý khách hàng
Trang web có 4 loại quản lý khách hàng chính:
- Công ty: quản trị viên có thể quản lý các công ty cung cấp dich vụ có liên kết với khách sạn Chức năng quản lý thông tin về: tên công ty, địa chỉ, email và số điện thoại Ngoài ra còn có các thông tin như mã số thuế, số tài khoản ngân hàng, tên ngân hàng giúp khách sạn và công ty có thể thống kê, báo cáo công nợ chuyển tiền thu chi một cách thuận tiện và nhanh chóng
- Khách hàng: quản lý khách hàng đặt phòng tại khách sạn hoặc đã từng đặt phòng tại khách sạn Các thông tin bao gồm: tên khách hàng, giới tính, số điện thoại, chứng minh thư nhân dân, ngày cấp, địa chỉ, quốc tịch, tỉnh thành
- Đơn vị lữ hành: các đơn vị cung cấp dịch vụ trọn gói, là đối tác tin cậy của khách hàng Quản lý các đơn vị lữ hành gồm các thông tin như: tên đơn vị,
mã số thuế, số điện thoại, email
- Nhân viên lữ hành: quản lý thông tin nhân viên lữ hành, thuộc đơn vị nào, tên nhân viên, số điện thoại, địa chỉ, email
❖ Quản lý kho
Quản lý số lượng hàng hóa, xuất nhập sản phẩm, nguyên liệu của khách sạn để các bộ phận phụ trách biết được số lượng hàng hóa nguyên liệu còn trong kho từ đó có thể xuất nhập kho hợp lý
Quản lý kho bao gồm:
- Sản phẩm kho: tình trạng hàng hóa trong kho, số lượng, giá nhập, giá bán
Trang 17- Phiếu nhập/xuất nguyên liệu: phiếu lưu trữ/xuất những nguyên liệu để pha chế, chế biến những sản phẩm phục vụ khách hàng
- Phiếu nhập/xuất: phiếu nhập/xuất hàng hóa của khách sạn để làm nguồn nguyên liệu, sản phẩm, tài sản Gồm các thông tin: nhà cung cấp, loại hàng, chi phí
- Kho hàng: lưu trữ các danh mục kho hàng, thể hiện tình trạng nguồn nguyên liệu của khách sạn
❖ Quản lý dịch vụ báo cáo
Phần mềm còn quản lý một số dịch vụ: dịch vụ xe đưa đón, massage, giặt là Có báo cáo thống kê theo sơ đồ rõ ràng
2.1.1.3 Kết luận
❖ Ưu điểm
- Thao tác đơn giản, dễ sử dụng và ổn định
- Linh hoạt thay đổi giá phòng: theo giờ, theo ngày, theo tháng, giá nghỉ lễ… set up giá theo giờ cao điểm trong tương lai
- Phân quyền chi tiết cho từng tài khoản, người sử dụng theo đúng chức năng
và quyền hạn Toàn bộ thông tin dữ liệu sẽ được đồng bộ, mã hóa để tăng tính bảo mật
- Ứng dụng app mobile TCSOFT HOTEL, tương thích trên 02 hệ điều hành android và ios, giúp các nhà quản lý yên tâm kiểm soát hoạt động khách sạn mọi lúc, mọi nơi
- Yêu cầu viết riêng các tính năng, đáp ứng tốt nhất nghiệp vụ thực tiễn tại khách sạn của bạn
- Tích hợp kết nối OTA trên phần mềm
❖ Nhược điểm
- Giao diện còn đơn giản
- Chức năng viết riêng nên khó đồng bộ
- Một số chức năng chưa hoàn thiện: tìm kiếm
Trang 182.1.2 Phần mềm quản lý khách sạn SHOTEL
2.1.2.1 Giao diện chính
Hình 2.2: Giao diện website SHOTEL 2.1.2.2 Những chức năng chính
❖ Quản lý phòng
- Tùy chỉnh phân loại phòng: phòng đang thuê, phòng chờ, phòng cần dọn
- Thêm sửa xoá phòng, áp dụng cách tính tiền cho từng phòng
- Đặt phòng theo loại phòng, theo thời gian
❖ Quản lý tài khoản
Phân quyền người dùng gồm: lễ tân, buồng phòng, quản lý khách sạn
❖ Quản lý kho
Quản lý hàng hóa, sản phẩm trong khách sạn để kiểm soát kho một cách chi tiết Quản lý kho bao gồm: tình trạng kho, nhập/xuất kho, kiểm kho
- Giao diện đẹp, đơn giản, dễ sử dụng
- Đầy đủ các tính năng cơ bản, hỗ trợ tốt các công tác quản lý khách sạn
Trang 19- Tính tiền tự động, linh hoạt, phần mềm mobile dễ dàng sử dụng, dữ liệu đồng bộ giữa các thiết bị, an toàn, bảo mật
- Chạy đầy đủ trên 3 phiên bản: iOS, Android, website
❖ Nhược điểm
- Chỉ đáp ứng những chức năng cơ bản cho khách sạn vừa và nhỏ
- Thời gian thực hiện yêu cầu khá lâu
- Quản lý thu chi còn khá đơn giản, chưa chi tiết
2.1.3 Hệ thống quản lý khách sạn được cung cấp bởi asiky.com
2.1.3.1 Giao diện chính
Hình 2.3: Giao diện chính website asiky.com 2.1.3.2 Các chức năng chính
❖ Module: Cập nhật sơ đồ phòng
Kiểm tra trạng thái phòng: Thông qua phần mềm quản lý khách sạn, lễ tân có thể
theo dõi tình trạng đặt phòng của khách hàng một cách chi tiết nhất Tất cả những thông tin về khách đang thuê phòng, những khách sắp thuê phòng, những khách trả phòng đều được lưu trữ trên hệ thống một cách chi tiết thông qua màu sắc
Theo dõi sơ đồ phòng: Việc theo dõi sơ đồ phòng giúp lễ tân nắm bắt được phòng
nào đã thuê, phòng nào khách chuẩn bị đến, hay phòng nào cần dọn dẹp Chỉ cần theo dõi màu sắc, và lựa chọn loại phòng, lễ tân có thể xác thực tình trạng phòng một cách nhanh nhất và chính xác nhất từ đó sắp xếp đặt phòng khách lẻ, khách đoàn một cách
Trang 20❖ Module: Đặt phòng khách lẻ, khách đoàn
Booking phòng trước cho khách lẻ và khách đoàn: Phần mềm quản lý khách sạn
cho phép khách lẻ và khách đoàn đặt phòng trước Từ đó có sự sắp xếp hợp lý cho những khách hàng đến sau Ngoài ra, lễ tân dễ dàng kiểm tra số lượng phòng trống theo loại
phòng của khách sạn, thực hiện đặt một hoặc nhiều phòng cùng một lúc
Quản lý đặt phòng của khách lẻ và khách đoàn: Phần mềm quản lý do Asiky cung
cấp cho phép kiểm soát đặt phòng khách lẻ, khách đoàn Tất cả các thông tin về chuyến bay đến, số lượng khách, loại phòng, số phòng, đều gói gọn trong tính năng này Sau khi hoàn thành công việc, lễ tân sẽ cập nhật kết quả đặt phòng vào phần mềm để làm căn cứ
cho công tác quản lý hoạt động kinh doanh
❖ Module: Quản lý hoạt động kinh doanh
Quản lý khách hàng: Nhà quản lý có thể nắm bắt đầy đủ thông tin của khách hàng
bao gồm: tên, địa chỉ, số CMT, số điện thoại, email, địa chỉ, mã khách hàng, nhân viên
lễ tân check in cho khách hàng đó
Quản lý loại phòng: Kiểm soát loại phòng hiện có tại khách sạn, chức năng của từng phòng và mã phòng
Quản lý giá phòng: Phần mềm của Asiky hỗ trợ tính toán giá phòng ở những
khung giờ khác nhau Nhà quản lý có thể cập nhật và thay đổi giá phòng cho từng loại phòng, từng khung giờ cho phù hợp Ngoài ra, phần mềm còn hỗ trợ quản lý dịch vụ khách hàng đã sử dụng một cách chi tiết, từ đó giúp lễ tân tính toán giá phòng hợp lý và
chính xác nhất
Quản lý thông tin khách sạn: Cập nhật và lưu trữ đầy đủ các thông tin về khách
sạn như số điện thoại, địa chỉ, thông tin tài khoản Ngoài ra, phần mềm quản lý khách sạn còn hỗ trợ tính năng livechat trực tuyến và hotline để sử dụng khi cần thiết Cùng với đó, nhà quản lý có thể phân quyền cho các bộ phận tham gia vào hệ thống để cập
nhật dữ liệu
❖ Module: Quản lý dịch vụ đi kèm
Quản lý loại dịch vụ: Phần mềm quản lý khách sạn hỗ trợ quản lý chi tiết các loại
dịch vụ khách sạn đang cung cấp về tên, chức năng của dịch vụ Ngoài ra, phần mềm còn cho phép bổ sung thêm các dịch vụ khác khi có nhu cầu
Trang 21- Cho phép nhập nhanh liên tiếp nhiều dịch vụ
- Cho phép sửa nhanh thông tin, giá của dịch vụ
Quản lý việc khách hàng sử dụng các sản phẩm, dịch vụ:
- Quản lý việc sử dụng dịch vụ của khách hàng bằng cách vào sơ đồ phòng, tìm phòng khách hàng đang thuê để thêm dịch vụ khách sử dụng với giá
đã được quy định, giúp tránh sai sót hoặc thất thoát
- Đối với các sản phẩm (nước uống, khăn lạnh, mì tôm ) đã được để sẵn trong phòng: khi khách hàng thông báo trả phòng, bộ phận phòng sẽ kiểm tra các sản phẩm khách hàng đã dùng, báo bộ phận lễ tân Nhân viên lễ tân sẽ hoàn thiện thống kê về dịch vụ khách hàng sử dụng để tính giá trong quá trình check-in, check-out cho khách
❖ Module: Hỗ trợ check - in, check – out
Check- in: Phần mềm quản lý khách sạn hỗ trợ lễ tân làm thủ tục check-in cho
khách Lễ tân có thể nhập vào hệ thống tất cả các thông tin của khách hàng như mã khách hàng, tên khách hàng, danh sách đặt phòng, ngày đến, ngày trả phòng, từ đó phần mềm
do Asiky cung cấp sẽ tính ra tiền phòng dự kiến Ngoài ra, trong quá trình check in và
theo dõi sơ đồ phòng, lễ tân cũng có thể thay đổi thời gian và phòng cho khách dễ dàng
Check – out: Kiểm soát những khách hàng đã trả phòng để sắp xếp và dọn phòng
hợp lý Ngoài ra, trong quá trình làm thủ tục check – out cho khách, lễ tân có thể in sẵn hóa đơn từ phần mềm Trong trường hợp khách hàng đặt nhiều phòng, lễ tân vẫn có thể tính giá chính xác nhờ cập nhật thông tin theo từng thời điểm và nắm bắt các dịch vụ của
từng phòng
❖ Module: Cập nhật theo thời điểm
Thay đổi giá: Thay đổi giá linh hoạt theo những chiến lược kinh doanh của khách
sạn Bạn hoàn toàn có thể linh động giá phòng theo thời điểm, theo mùa thậm chí là theo
Trang 22Thay đổi thông tin khách hàng: Nhân viên lễ tân là người thay đổi các trạng thái
của khách hàng như chuẩn bị đến, đang ở, chuẩn bị rời đi, phòng đang sửa Sau khi khách hàng đã check in hoặc làm thủ tục check out, lễ tân nhập thông tin của khách hàng vào
hệ thống để báo cáo với nhà quản lý
Thay đổi tình hình công việc: Các bộ phận sau khi hoàn thành công việc, nhập kết
quả vào phần mềm sau đó chuyển tiếp cho bộ phận tiếp theo để công việc luôn xuyên suốt và hoạt động nhất quán Việc cập nhật dữ liệu không nhất thiết phải thông qua máy tính, mà bạn có thể sử dụng ngay trên smartphone, ipad, vì phần mềm tương thích với mọi thiết bị di động
❖ Module: Tương thích với thiết bị di động
Dựa trên nhu cầu làm việc linh hoạt ở mọi nơi, mọi lúc, phần mềm quản lý được Asiky thiết kế có thể tích hợp với nhiều thiết bị thông minh như máy tính, điện thoại, Macbook
Vì vậy, chỉ cần thiết bị của bạn được kết nối Internet, Phần mềm quản lý khách sạn cho phép kiểm soát và quản lý công việc, hoạt động của khách sạn ở bất cứ đâu và bất cứ lúc nào Thêm vào đó, thông tin khi cập nhật sẽ được bảo mật tuyệt đối bằng việc tạo user và phân quyền truy cập cho từng bộ phận
❖ Module: Phân quyền
Nhà quản lý có quyền tạo tài khoản và phân quyền thao tác, dữ liệu được phép xem cho các bộ phận Mỗi bộ phận được cấp phép 1 tài khoản trên phần mềm Asiky và xem được thông tin các trong phạm vi giới hạn ví dụ: bộ phận buồng chỉ được xem tình trạng phòng, bộ phận lễ tân được xem tình trạng phòng
Nhờ vào tính năng phân quyền nhà quản lý có thể phân rõ chức năng nhiệm vụ của từng bộ phận, xác lập quyền hạn, trách nhiệm đối với từng đầu công việc quan trọng và đảm bảo độ bảo mật tuyệt đối cho thông tin
❖ Module: Lập báo cáo thống kê
Thống kê đầy đủ các thông tin về số phòng được đặt trong một ngày, mỗi loại phòng được đặt bao nhiêu, từ đó tính xác xuất đặt phòng khả dụng trong ngày, trong tháng Nhờ có những thông tin đó, nhà quản lý khách sạn sẽ có sự điều chỉnh và các biện pháp marketing cần thiết
Trang 23Phần mềm quản lý khách sạn cung cấp chức năng tính toán, quản lý thu chi, cùng báo cáo thu chi hàng ngày/giờ giúp khách sạn hiểu được từng đồng tiền chạy ra/chạy vào của khách sạn Đây là cơ sở quan trọng giúp nhà quản lý lập báo cáo thống kế cuối tháng
2.1.3.3 Kết luận
❖ Ưu điểm
- Hệ thống được viết thành các module, dễ dàng thay thế chỉnh sửa
- Giao diện bắt mắt, dễ dùng
- Hiệu suất xử lý tốt, tốc độ trả kết quả nhanh chóng
❖ Khuyết điểm
- Chưa có khả năng xử lí dữ liệu lớn
- Cần tốn phí duy trì hàng tháng cho bên cung cấp
2.1.4 Áp dụng cho trang web
❖ Những ưu điểm cần tiếp thu
- Thiết kế giao diện đẹp mắt, rõ ràng, khoa học, dễ dàng sử dụng từ lần đầu tiên
- Thời gian xử lý các yêu cầu nhanh
- Đáp ứng các chức năng cơ bản cần có của một website quản lý: phân quyền, quản lý phòng, đặt phòng, quản lý kho, thống kê
❖ Những nhược điểm cần tránh
- Giao diện website phức tạp, khó sử dụng
- Các chức năng không đúng yêu cầu nghiệp vụ
- Hiển thị thông tin sai, không rõ ràng
2.2 Xác định yêu cầu
Từ việc khảo sát và đánh giá các phần mềm quản lý khách sạn, phân tích các yêu cầu, ưu điểm nhược điểm, nhóm đã xác định rõ yêu cầu bài toán như sau:
2.2.1 Đối tượng sử dụng
Website bao gồm trang đặt phòng và trang quản lý nội bộ áp dụng cho các đối tượng:
- Customer: Khách hàng
- Employee: Nhân viên khách sạn, lễ tân, buồng phòng
Trang 24- Manager: Quản lý khách sạn
- Admin: Quản trị viên trang web
2.2.2 Chức năng
2.2.2.1 Trang đặt phòng
❖ Đặt phòng và thanh toán trực tuyến
Tại trang chính của website cho phép khách hàng tiến hàng đặt phòng trực tuyến khách sạn Sau khi khách hàng điền đầy đủ thông tin, tiến hành thanh toán trực tuyến online thông qua các kênh thanh toán online Sau khi đặt phòng, email sẽ được gửi đến khách hàng để xác nhận đặt phòng thành công
❖ Thông tin phòng và các sản phẩm dịch vụ
Website cho phép khách hàng xem thông tin chi tiết các phòng cũng như theo dõi
các dịch vụ, ưu đãi, khuyến mãi của khách sạn
2.2.2.2 Trang quản lý
❖ Đặt phòng/Nhận phòng
Một trong những phần không thể thiếu trên website quản lý khách sạn đó là công cụ đặt phòng Khi khách hàng tiến hành đặt phòng trực tiếp tại khách sạn hoặc thông qua hotline của khách sạn, hệ thống sẽ trả kết quả các phòng còn trống và nhận phòng có thể
❖ Quản lý đặt phòng
Khi khách hàng hoàn tất quá trình đặt phòng, phần mềm sẽ tự động đánh số ngày
mà họ ở Ngoài ra, nhân viên của khách sạn cũng có thể chỉnh sửa một số thông tin như số ngày, phương tiện vận chuyển, dịch vụ
❖ Quản lý phòng
Thông tin chi tiết phòng, các tiện ích của phòng sẽ được quản lý cập nhật để phù hợp với yêu cầu cũng như quy mô của khách sạn
❖ Quản lý dữ liệu khách hàng
Hướng tới cá nhân hóa những trải nghiệm của khách hàng Phần mềm quản lý khách sạn quản lý linh hoạt thông tin khách hàng như thông tin liên lạc, phương thức thanh toán, phòng đã đặt…
Trang 25❖ Quản lý dữ liệu nhân viên
Hệ thống quản lý tài khoản nhân viên, theo dõi quá trình làm việc cũng như lưu phiên làm việc để quá trình đối soát dễ dàng và hợp lý Việc phân quyền nhân viên trở nên dễ dàng hơn rất nhiều
❖ Quản lý doanh thu
Với phần mềm quản lý khách sạn, quản lý dễ dàng hơn trong nắm bắt nguồn tài chính và tối đa hóa lợi nhuận Phần mềm hỗ trợ doanh nghiệp trong theo dõi thu nhập và chi phí hàng ngày
❖ Báo cáo
Hệ thống cho phép xuất hóa đơn dễ dàng trong việc truy suất thông tin, cũng như báo cáo hàng tuần, hàng tháng thông qua biểu đồ trên giao diện website
Trang 26CHƯƠNG 3 : PHÂN TÍCH THIẾT KẾ VÀ HỆ THỐNG 3.1 Mô hình hóa yêu cầu
3.1.1 Lược đồ Usecase
Hình 3.1: Sơ đồ Usecase
Yêu cầu xây dựng website quản lý khách sạn bao gồm 4 actor: khách hàng
(Customer), nhân viên (User), quản lý (Manager) và quản trị viên (Admin):
- Khách hàng: đặt phòng tại website hoặc trực tiếp tại khách sạn
Trang 27- Nhân viên: quản lý thông tin tài khoản khách hàng, thực hiện các thao tác đặt phòng, nhận phòng tại quầy, xuất biên nhận khi khách hàng trả phòng, thống kê doanh thu cho quản lý, thay đổi trạng thái phòng
- Quản lý: quản lý thông tin tài khoản nhân viên, quản lý phòng, quản lý dịch vụ
- Quản trị viên: quản lý cấu hình website
- Tất cả nhân viên đều phải đăng nhập bằng tài khoản và mật khẩu do quản trị viên cung cấp
- Tùy theo quyền mà tài khoản của website sẽ được cung cấp các thao tác nghiệp vụ khác nhau
❖ Mô tả sơ đồ Usecase
Bảng 3.1: Mô tả sơ đồ Usecase
DTH_01 Log in Chức năng cho phép actor đăng nhập tài khoản
vào website
DTH_02 Log out Chức năng cho phép actor đăng xuất khỏi hệ
thống
DTH_03 Forgot Password Chức năng cho phép actor lấy lại mật khẩu mới
thông qua email của tài khoản
DTH_04 View list rooms Chức năng cho phép actor xem danh sách
phòng hiện có của khách sạn DTH_05 Change rooms’ status Chức năng thay đổi trạng thái phòng
DTH_06 Booking Chức năng đặt phòng qua website hoặc trực
tiếp tại khách sạn DTH_07 Check-in Chức năng nhận phòng trực tiếp tại khách sạn
Trang 28DTH_08 Check-out Chức năng thực hiện thao tác trả phòng và xuất
biên nhận (nếu cần)
DTH_09 View service Chức năng xem những dịch vụ hiện có tại
khách sạn
DTH_10 Revenue statistics Chức năng thống kê doanh thu của khách sạn
theo tuần, theo tháng
DTH_11 Manage customer
Chức năng quản lý (xem, thêm, cập nhật) thông tin cá nhân khách hàng gồm: tên khách hàng, ngày sinh , giới tính, số điện thoại, email, cmnd, địa chỉ
DTH_12 Manage user
Chức năng quản lý (xem, thêm, cập nhật) thông tin nhân viên gồm: tên nhân viên, email, số điện thoại, địa chỉ, quyền
DTH_13 Manage service Chức năng quản lý (xem, thêm, cập nhật) thông
tin dịch vụ gồm: tên dịc vụ, giá dịch vụ
DTH_14 Manager room
Chức năng quản lý (xem, thêm, cập nhật) thông tin phòng gồm: tên phòng, tầng, giá, loại phòng, trạng thái phòng
DTH_15 Export receipt Chức năng xuất hóa đơn sau khi thanh toán
thành công
DTH_16 View homepage Chức năng cho phép khách hàng xem trang chủ
khi truy cập thành công vào website
DTH_17 View list room Chức năng cho phép khách hàng xem danh
sách các phòng của khách sạn
DTH_18 View room detail Chức năng cho phép khách hàng xem thông tin
chi tiết của từng phòng
Trang 29DTH_19 View service Chức năng cho phép khách hàng tham khảo
những dịch vụ ở khách sạn
DTH_20 Book rooms Chức năng cho khách hàng đặt phòng khách
- Tài khoản người dùng đã được phân quyền
2 Hệ thống chuyển đến trang đăng nhập, hiển thị input để nhập email, mật khẩu
3 Người dùng click vào nút “LOGIN”
4 Hệ thống sẽ kiểm tra email, mật khẩu (E1)
Alternate Flow
khẩu Người dùng quay về bước số 2 để thực hiện đăng nhập lại
Open Issues
Relationship
Trang 303.1.2.2 Forgot Password (DTH_03)
Bảng 3.3: Usecase quên mật khẩu
công
2 Hệ thống chuyển người dùng đến trang “Forgot Password” để nhập email
3 Người dùng nhập vào email của tài khoản đã quên mật khẩu
4 Nhấn nút “Verifi email”
5 Hệ thống kiểm tra email (E1)
6 Hệ thống sẽ gửi một email kèm theo một đường dẫn xác nhận đổi mật khẩu đến email người dùng
7 Người dùng chọn vào đường dẫn
8 Hệ thống chuyển người dùng đến trang mới và yêu cầu người dùng nhập vào input “New Password” và “Confirm Password”
9 Người dùng click vào nút “Reset Password”
10 Hệ thống kiểm tra mật khẩu mới (E2)
Alternate Flow
dùng quay về bước số 3 để thực hiện nhập lại email
Trang 31(E2) Hệ thống kiểm tra và thông báo giá trị của input “Mật khẩu mới” và “Nhập lại mật khẩu mới” không giống Người dùng quay về bước số 7 để thực hiện nhập lại mật khẩu mới
Open Issues
Relationship
3.1.2.3 View List Rooms (DTH_04)
Bảng 3.4: Usecase xem sơ đồ phòng
- Người dùng đã đăng nhập vào hệ thống
phòng
2 Hệ thống chuyển người dùng đến trang sơ đồ phòng và hiển thị danh sách phòng
Alternate Flow
Exception
Open Issues
Relationship
Trang 323.1.2.4 Change room’s status (DTH_05)
Bảng 3.5: Usecase thay đổi trạng thái phòng
- Người dùng truy cập vào trang sơ đồ phòng thành công
2 Hệ thống hiển thị 1 cửa sổ modal hiển thị các nút thay đổi trạng thái tuỳ thuộc vào trạng thái phòng hiện tại
3 Người dùng chọn trạng thái muốn thay đổi
4 Hệ thống xử lý (E1)
Alternate Flow
thống hiện ra thông báo thay đổi trạng thái phòng thất bại Người dùng được đưa lại về bước 1 để thực hiện lại
Trang 33Goal Đối với User, Manager, Admin: đặt phòng cho khách hàng thành
công
Đối với Customer: đặt phòng thành công
- Đối với User, Manager, Admin: đăng nhập thành công vào hệ thống
- Đối với Customer: truy cập thành công vào trang đặt phòng
1 Khách hàng chọn ngày đặt phòng và số lượng người
2 Nhấn nút “CHECK AVAILABILITY’ để xem danh sách những phòng phù hợp
3 Khách hàng bấm vào toggle switch của phòng muốn chọn để chọn phòng
4 Khách hàng bấm vào nút “Book Now”
5 Hệ thống chuyển sang trang thông tin đặt phòng (A1)
6 Khách hàng điền đầy đủ thông tin đặt phòng
7 Khách hàng chọn phương thức thanh toán
8 Khách hàng bấm vào radio button “I have read and agree to the Booking Policies.”
9 Khách hàng bấm vào nút “Confirm and Book”
10 Khách hàng thanh toán qua cổng thanh toán điện tử (A2) (E1)
11 Hệ thống xử lý
Đối với trang quản lý:
1 Người dùng nhận yêu cầu đặt phòng từ khách hàng
2 Chọn phòng muốn đặt
3 Chọn nút “Booking”
4 Nhập thông tin đặt phòng: khách hàng, phòng, ngày đặt, ngày trả, tiền đặt cọc
Trang 345 Chọn nút “Save”
6 Hệ thống xử lý
Alternate Flow Hệ thống trả về danh sách rỗng do không còn phòng trống vào thời
gian đã chọn Khách hàng làm lại từ bước 1 với ngày in/check-out khác hoặc
check-(A1) Người dùng bấm vào “(Traveling on different dates?)”, hệ thống chuyển người dùng về lại bước 1 để thay đổi thông tin ngày check-in, check-out và số lượng khách
(A2) Khách hàng đóng cửa sổ thanh toán, không thực hiện thanh toán và trở về trang thông tin chi tiết đặt phòng
Khách hàng trở về lại trang thông tin chi tiết đặt phòng
- Người dùng đã đăng nhập vào hệ thống
- Khách hàng đã đặt phòng
Trang 35Main Flow 1 Người dùng nhận yêu cầu nhận phòng từ khách hàng
2 Người dùng bấm vào nút "LIST BOOKING/CHECK IN”
3 Người dùng chọn nút “Edit” của phòng đã đặt
4 Chọn nút “Check in”
5 Hệ thống hiện lên thông báo xác nhận check-in
6 Chọn nút “Change” để xác nhận check-in
7 Hệ thống xử lý
- Người dùng đã đăng nhập vào hệ thống
- Khách hàng đã check-in
2 Người dùng chọn phòng muốn trả
3 Hệ thống hiện cửa sổ modal hiện thông tin phòng
4 Người dùng chọn nút “Check out”
5 Hệ thống hiện cửa sổ modal hiện thông tin trả phòng
Trang 366 Người dùng chọn nút “Check out”
7 Hệ thống xử lý
- Người dùng đã đăng nhập vào hệ thống
2 Hệ thống chuyển sang trang “customers”
3 Người dùng chọn nút “Add Customers”
4 Hệ thống hiện cửa sổ modal thêm khách hàng
5 Người dùng điền thông tin vào form vừa hiện (E1)
6 Người dùng bấm nút “Save”
7 Hệ thống xử lý (E2)
Trang 37Alternate Flow
thông báo yêu cầu nhập thông tin đúng đắn
(E2) Người dùng nhập vào Id Number đã tồn tại trong hệ thống Hệ thống báo lỗi khách hàng đã tồn tại và người dùng trở về bước
- Người dùng đã đăng nhập vào hệ thống
- Khách hàng đã được tạo trong hệ thống
2 Hệ thống chuyển sang trang “customers”
3 Chọn nút “Edit” của khách hàng cần cập nhật
4 Hệ thống hiện cửa sổ modal sửa thông tin khách hàng
5 Nhập đầy đủ thông tin khách hàng cần chỉnh sửa (E1)
6 Nhấn nút “Save”
7 Hệ thống kiểm tra, xử lý
Trang 38Alternate Flow
thông báo yêu cầu nhập thông tin đúng đắn
Open Issues
Relationship
Trang 393.1.2.9 Manage user (DTH_12)
❖ Add user (DTH_12.1)
Bảng 3.11: Usecase thêm nhân viên
- Người dùng đã đăng nhập vào hệ thống
2 Hệ thống chuyển sang trang “users”
3 Chọn nút “Add User” từ trang “Users”
4 Hệ thống hiện cửa sổ modal thêm nhân viên
5 Người dùng nhập đầy đủ thông tin nhân viên (E1)
6 Nhấn nút “Save”
7 Hệ thống kiểm tra, xử lý (E2)
Alternate Flow
thông báo yêu cầu nhập thông tin đúng đắn
(E2) Người dùng nhập vào email đã tồn tại trong hệ thống Hệ thống báo lỗi nhân viên đã tồn tại và người dùng trở về bước 2
Open Issues
Relationship
Trang 40❖ Update user (DTH_11.2)
Bảng 3.12: Usecase cập nhật nhân viên
- Người dùng đã đăng nhập vào hệ thống
- Nhân viên đã được tạo trong hệ thống
2 Hệ thống chuyển sang trang “users”
3 Chọn nút “Edit” của nhân viên cần cập nhật
4 Hệ thống hiện cửa sổ modal sửa thông tin nhân viên
5 Nhập đầy đủ thông tin nhân viên cần chỉnh sửa (E1)
6 Nhấn nút “Save”
7 Hệ thống kiểm tra, xử lý
Alternate Flow
thông báo yêu cầu nhập thông tin đúng đắn
Open Issues
Relationship