計算機技術發展至今已走過了半個多世紀之久,現在各個階層、各個領域都使用著計算機,在這個快節奏的時代中它已經成為了社會生活的必需品。它的出現是現代社會進步,科技發展的標志。同時現代化的酒店組織龐大,信息量大。為了要提高效率,降低成本我們需要借助計算機來進行現代化的信息管理,設計一個酒店客房管理系統。
酒店是服務與銷售同步的一類企業。因此,給住店客人提供方便快捷的服務、降低自己的營業成本是各個酒店追求的目標。一般來說,酒店主要是靠出租房間及以此產生的各種消費作為收入。所以,酒店客房部的管理水平直接影響到整個酒店的經濟效益。
隨著賓館酒店業競爭的加劇,賓館之間客源的爭奪越來越激烈,賓館需要使用更有效的信息化手段,拓展經營空間,降低運營成本,提高管理和決策效率。傳統的賓館酒店計算機管理系統主要包括前臺管理系統和后臺管理系統兩大部分,基本包含了賓館主要業務部門,初步實現了對顧客服務和進行財務核算所需要的各個功能。但傳統的賓館酒店管理系統基于財務管理為主線的設計理念,無法滿足賓館酒店全面信息化管理的需要。
現代賓館酒店業迅速發展,新的管理觀念與模式層出不窮。賓客客房管理系統亦隨著賓館管理理念的發展而發展。賓館客房管理系統依照國家星級賓館標準化業務程序,采用了先進的數據庫理論,多媒體技術,軟件工程理念等,從基層,中層,高層三個管理者層次為切入點,以成本分析,預測,控制為主線,形成一套上下貫通,操作便捷的酒店系統解決方案,科學地將賓館各種日常業務完美的結合在一起,為管理及決策提供了強有力的支持。其對客人個性化服務及全面徹底的信息化,使企業電算化管理水平提升到一個新的更高層次。提供大量豐富的基于企業管理經營過程中實際的數據。
目前,酒店客房管理系統架構上大多是C/S結構,所使用的主要有MS Visual Studio.NET系列、Delphi、Java及其相應的開發技術。無論采用哪種開發技術,對于C/S結構的酒店客房管理系統,都存在一個問題,即若要在一臺電腦上能夠運行它,必須安裝相應的軟件,對主機的硬件配置上都有不同程度地特別要求。使得軟件的開發和維護成本、酒店用戶的使用成本都較高。本文以開發一個實例的方式,詳細講解了采用SQL Server 2000作為后臺數據庫,基于JSP技術開發出一個B/S結構的酒店客房管理系統的系統設計與編程實現過程。
1系統設計
1.1角色的功能劃分
依據需求規格說明書,將系統分為4個職責明確、分工合理的角色:管理員、前臺接待崗、前臺收銀崗、財務崗。每種角色都可以修改自己的登錄密碼、查看自己的登錄日志、瀏覽當前房態。下面主要介紹各個角色各自的典型功能。
管理員職責:證件類別、現金幣種、付款方式、房間種類、房間消費商品及其價格(例如零食、飲料等,在本系統中稱為“房間消費商品”)、酒店提供的收費性服務項目(例如電話費、清潔費等,在本系統中稱為“房間消費雜項”)、前臺各崗位工作人員等基本數據的添加、修改、刪除;每種房間種類的默認房價、為催交按金而設定的最小余額的修改;刪除誤輸入的信息。
前臺接待崗職責為客人入住登記、預訂房間、無消費直接退房、轉房、房態轉換、客人資料錄入與查詢、隨時打印在住客人報表等。
前臺收銀崗職責:領取按金單、收取按金、添加房間消費、轉賬、結賬、打印各種財務報表、當班清轉、核數過租、日結等方面。
財務崗職責主要就是強調從財務的角度查看各種財務報表,并以此對前臺收銀崗人員上交的各種財務報表進行賬目核實。
從上述角色的職責功能劃分看,財務崗是前臺收銀崗的一個“子集”,故而本文重點介紹其余3種角色。管理員一般由前臺主管或經理擔任。財務崗人員主要是核對前臺收銀崗上交的各種財務報表,所以一般只需設置一個賬號即可。接待崗人員不接觸和“錢”相關的操作、視圖。收銀崗人員不負責房間狀態的手工修改、客人房間的分配。但在實踐中,酒店用戶可根據自身情況,進行靈活設置與調整。例如,對于規模較小的酒店,可將一個前臺員工同時分配一個接待崗賬號和一個收銀崗賬號。對于規模較大的酒店,可讓有接待崗和收銀崗賬號的人互不相交,只有二者合作才能完成客人入住手續,即:接待崗人員為一客人分配好房間及其房價后,將房號告知收銀崗人員(客人登記時,接待崗人員可以根據當時工作的閑忙狀況,可暫時先只輸入客人的姓名,等閑點時再補充錄入客人的其他信息);然后收銀崗人員根據房號和收取客人按金時所開的按金單票據信息,正式確認客人入住。系統中的角色與主要實體之間的聯系,見圖1所示。
圖1中①主要是刪除房間有誤的消費、調整房租。對其說明如下:
(1) 對于由前臺收銀崗人員對某房間誤輸的消費項目,他們只能采取用抵消的方法(即輸入相應的負數),以保證該房間消費總額的正確性。這樣,在打出的結賬單、流水賬報表里都會出現因用于抵消的“負數”,而造成“冗余”記錄。在本系統中,只有管理員才能刪除有誤的房間消費項目。
(2) 在核數過租時,未發現在住房的房價有什么錯誤,但當發現時已經因為日結而由系統自動新加了一天的房租。在本系統中,只有管理員才能修改在住房的房租。
1.2房態轉換
從圖1中可以看出,整個客房管理系統的運作基本上都是圍繞著房間而展開的,為了保持接待崗和收銀崗在合作辦理客人入住時的同步性,在房態中新設了“待交按金”狀態。具體的房態轉換如圖2所示。
對圖2中的①、②、③分別說明如下:
①是針對接待崗人員在客人入住登記選擇房間時,有可能發生選錯房號的情況。此時,接待崗人員只需按“取消入住登記”即可。
②是針對雖然客人交了相應按金,辦完了入住手續,但因自身的一些原因,要退房離店,此時經確認還未產生任何消費。這種情況下的退房,雖比較少見,但確實是存在的。如果此時由收銀崗人員正常結賬退房,則會在結賬單流水賬報表里顯示出結果。而假如由接待崗人員辦理“無消費直接退房”,就可以從數據庫中直接將本次入住事件的所有相關數據徹底清除。在結賬單流水賬報表里就不會出現這些“無實際意義、冗余”的數據。
③是針對在預訂事件發生時,空房較為緊張的情況下,維護酒店利益、盡可能提高開房率,使“臟房”的房間也可成為“預訂房”。在系統中會提示優先清理已被預訂了的臟房。
1.3 房租零頭收取
為監督收銀崗員工的結賬工作,在上交的財務報表中,凡涉及到客人房租消費的,除了列出一個結賬單對應房間的房租總額外,還進一步將房租的“整數”、“零頭”分開列出,以方便經理、財務人員核對賬務。所謂“整數”即經過日結,由系統自動形成的房租,一般是房價的正整數倍。所謂“零頭”即收銀崗人員根據客人結賬退房時,離店時間與規定的中午12點整點退房的這個時間差而產生的房租。為減少工作量、提高結賬速度,將其默認為零。依據經驗,欲結賬離店的客人一般都會在中午12點之前退房,這時零頭部分默認即可;對于少量的超過12點結賬退房的情況,則收銀崗人員根據酒店事先制定好的超時收費規定以及和客人達成的約定,手工輸入超時部分的房租。
1.4 有序打印財務報表
收銀崗人員打印的報表分為當班營業報表(付款方式統計表、實收匯總表、結賬單流水賬明細表)、全天營業報表、按金單報表、在住客人消費報表。
因酒店的客房部是24小時營業,所以一般將前臺工作人員分為早、中、晚3個班次,輪流上班。早班和中班交接班時都是先打印當班營業報表,然后當班清轉、退出系統,下一班人員登錄。較復雜的是晚班以及晚班與早班之間工作的交接。在晚班期間,臨近夜里12點時,進行“核數過租”,查看所有在住房的房價、按金等是否有誤。如發現有誤,及時修改(這項工作主要以剛開出的房間為主)。次日早上6點左右,打印當班營業報表、當班清轉、打印全天營業報表、日結、打印在住客人消費的報表。至約下班前15分鐘,進行當班清轉、退出系統,早班人員登錄。
2 數據庫設計
在數據庫設計時,整體上綜合考慮兩方面因素:關系型數據庫規范化理論和表的連接操作對讀寫數據庫性能的影響,將數據庫設計成滿足3NF[1]。具體在每個表的每個字段上:字段名稱采取“簡潔而有意義”的原則;字段的類型和長度采取“節約夠用、適當留有余地以便于擴展”的原則。
頁面設計及相關代碼分析
賓館客房管理系統的頁面由五部分組成:
●賓館客房管理系統登陸界面的設計
●客房管理管理頁面的設計
●客房經營管理頁面的設計
●客戶信息查詢頁面的設計
●員工信息管理頁面的設計
1.賓館客房管理系統登陸界面的設計
系統共分兩類用戶:酒店管理員和前臺服務員
當用戶進入賓館客房管理系統登陸界面后,首先需要進行身份驗證,系統在驗證通過后,將使用UserType變量記錄其用戶類型,并根據用戶類型確定用戶的使用權限。賓館客房管理
在SQL Server 2000中共建了22個表:管理員表、用戶表、證件種類表、現金種類表、付款方式表、房間表、房態名稱表、按金催交的最小余額表、按金使用情況表、房間消費商品表、房間消費雜項表、房間維修記錄表、房種默認價格表、日結記錄表、轉房記錄表、轉賬記錄表、客人信息表、客人-按金表、客人-房間表、房間-消費匯總表、房間-消費商品明細表、房間-消費雜項明細表。限于篇幅,本文只介紹兩個典型的表及其字段的功能說明。
(1)客人-房間表crooms的表結構,如表1所示。
關于字段oldflag取值:零表示該客人是在住客人;為正整數時表示該客人已離店(本系統中稱為歷史客人)。如果一個客人在一天之內多次入住、離店,其最大值即表示了該客人在當日的離店次數。為保持數據庫中數據的一致性和完整性約束,在日結清理數據時,針對該客人的消費記錄、住店記錄等數據采取的處理方法如下:
假如該客人是歷史客人,則先查詢出與此客人相關的oldflag字段上的最大值(設為X),然后刪除oldflag≤X的消費記錄、oldflag
(2) 房間-消費匯總表rctotal的表結構,如表2所示。
3 系統實現
為客人提供快捷的服務、為酒店用戶提供人性化的操作界面是本系統的設計目標。在系統實現時,采用酒店行業的術語、按照酒店用戶的使用習慣,提高界面的友好性。
根據作者的項目實踐經驗,酒店一般都是在服務臺用一個Hub集線器將若干主機連接起來形成一個局域網。在該局域網內使用客房管理系統。若無特別需要,基本是不需連接Internet的。在這種環境下,軟件架構采用B/S、C/S均可。但酒店客房部的營業活動具有較為明顯的“旺季和淡季”。采用B/S結構開發,酒店用戶可根據需要,基本不受限制地自行增添、更換非服務器主機。
基于成本、安全性、可擴展性3個因素進行考慮,本系統的架構是B/S結構,具體采用JSP為開發技術(選用“JSP+JavaBean”模式)、Tomcat為Web服務器、SQL Server 2000為后臺數據庫。
在“JSP+JavaBean”模式下,將與數據庫連接池相關的操作、讀寫數據庫的操作、需經常使用的數據庫的數據進行的操作分別定義成一個類。考慮到某個功能可能需要用到上述建立的多個類,而JSP動作元素中的標簽每次只能創建一個Bean實例。為避免出現JSP頁面中多次重復使用標簽的情況,在開發時單獨建立一個JSP文件,在該JSP文件中,用若干條標簽將上述類的實例一起創建好。這樣就可以在各個JSP頁面中僅用一條JSP指令元素中的include指令即可透明地讀寫數據庫,也便于修改和統一管理。
各個角色經統一的登錄頁面成功登錄后,界面均是一個被拆分為常見的“左窄右寬型”的框架集,其中左側是功能選擇區,右側是具體操作區。
本系統實現了一對一的個性化服務,已被地跨廣東省佛山和江門兩市的柏麗酒店連鎖集團的八家分店使用,現在已經進入穩定運行期。從運行效果看,本系統體現了更加系統化、規范化、自動化,實現操作簡便、靈活性強、安全性好等特點,更為廣大客戶提供了方便的信息查詢平臺。
-
數據
+關注
關注
8文章
6892瀏覽量
88827 -
計算機
+關注
關注
19文章
7421瀏覽量
87715
發布評論請先 登錄
相關推薦
評論