System description in the natural language

Objective and scope:

  • This is a desktop-based application which will be internally used inside a hotel.
  • Only the employees of the hotel could use this application, including: hotel managers, sellers, system administrators, and receptionists.
  • This application support the management for only one hotel.
  • This application could be installed on many computers of the hotel employees. However, the database is stocked on the hotel server.

User and functions that each user could use:

  • Only the employees of the hotel could use this application, including: hotel managers, sellers, system administrators, and receptionists.
  • The receptionist could use the following functions:
    • Book room for on site clients,
    • Cancel a booking for on site clients,
    • Check in for clients,
    • Check out and process the payment for clients.
  • Seller could use the following functions:
    • Book room for remote clients via the telephone,
    • Cancel a booking for remote clients via the telephone.
  • Manager could use the following functions:
    • Manage hotel information: add, edit,
    • Manage room information: add, edit, delete,
    • View statistical reports: report on the revenue by room, by client, by month… Report on the filled rate of room…
  • System administrator could use following functions:
    • Manage user account by their demand: add, edit, delete.

Detailed business process of functions:

This section presents only some selected functions. The others could be described in the same manner.

  • Edit the room information: A manager logs in into the system -> The manager’s UI is appeared, it has the following options: manage the hotel information, manage the room information, and view the statistical reports -> The manager selects to manage room information -> The room information management UI is appeared with three options: add room, edit room, delete room -> The manager clicks on the edit function -> The search room UI is appeared with an input text to enter the keyword, and a search button -> The manager enters a keyword about the name of the room to edit and then, clicks on the search button -> A list of all rooms whose name contains the entered keyword is appeared, each row corresponds to a room with: id, name, type, price, description -> The manager clicks on the room to edit -> The edit room UI is appeared with the editable input texts which already contain the corresponding attribute values (except the id which is not editable) -> The manager modifies some attribute values and then, clicks on the save button -> The system announces a success alert and then, returns to the manager home UI.
  • Booking room for remote client via the telephone: A client gets a call to the hotel to book a room -> A receptionist forwards the call to a seller -> The seller asks the client what period of time that the client want to stay in the hotel and selects the booking function in the seller home UI -> The available room search UI is appeared with two date inputs: the checkin and checkout date, a search button -> The seller enters the checkin/checkout date as the client’s desire and then, clicks on the search button -> A list of all available rooms in that period is listed in a table form, each row corresponds to a room with: id, name, type, price, description -> The seller informs to the client all the type of available room and asks the client to choose a room (or some rooms) -> The client informs their choice -> the seller click on a room which satisfies the client requirement -> The system changes to the client information UI with an input text and a search button -> The seller requires the client to provide his/her information about: id card number, name, address, phone number and then, enters the client name into the text and clicks on the search button -> A list of all clients whose name contains the entered keyword is appeared in a table form, each row corresponds to a client with: id card number, name, address, phone number, notes -> The seller clicks on the row which has the same information to the current client (If there is no row satisfies, it have to click on the add new client button to add new client) -> The system displays the confirmation UI with: client information, selected room information, the checkin/checkout date -> The seller confirms these information to the client and the client confirms that is OK -> The seller clicks on the confirm button -> The system announces a success alert and then, returns to the seller home UI -> The seller informs the success booking to the client and ends the call.
  • View the report on rooms by the revenue: A manager logs in into the system -> The manager’s UI is appeared, it has the following options: manage the hotel information, manage the room information, and view the statistical reports -> The manager selects to view the statistical reports -> The UI to config the report is appeared with two selection list. First, the object of the report, including: hotel, room, client, service, revenue. Second, the criteria of the report, including: by revenue, by time (if the object is the revenue), by filled rate (if the object is hotel or room) -> The manager selects the object is room, the criteria is by revenue -> The report UI is appeared with two input dates: the start and the end of the duration to count the report -> The manager enters these dates and clicks on the view button -> The report results are listed in a table form, ordered by the total revenue, each row corresponds to a room with: id, name, type, total of filled days, total of revenue -> The seller clicks on a row to view more detail -> The UI appeared with the selected room information and a list of booking related to the selected room, each row corresponds to a booking with (ordered by the time of checkin): client name, checkin, checkout, price, total income -> The seller clicks on the return button to return to the manager home UI.

Information about related objects:

  • Hotel: name, address, star rating (from 0 to 5 stars), description (including image/video/text).
  • Room: name, type (single/double/twin), price, description (sea view, garden view, terrace view, etc…).
  • Client: id card number, name, address, phone number, email, note
  • Provided service: name unity, price, description.
  • Employee/user/account: full name, username, password, role, note.
  • Bill: this contains the information about the creator (receptionist): name, role. The information about client: id card number, address, phone number. The information about the booked rooms, each row: name, type, price, checkin, checkout, total amount. Each booked room has also a list of used services, each row: name, unity, price, quantity, subtotal amount. The last row of the bill present the total amount of the bill, the paid amount and the remain amount to pay.
  • Statistic on room by revenue: room name, room type, total filled days, total income .
  • Statistic on client by revenue: client id card number, client name, client address, total stayed days, total payment.
  • Statistic on service by revenue: service name, total quantity, total income.
  • Statistic on revenue by time: period name (monthly, quartile, yearly), total number of client, total income.

Relation among objects:

  • A hotel has many rooms. A room is belonged to a hotel.
  • A room could be booked by many client in different period.
  • A client could book many rooms in different period. A client could also book many rooms at the same time (representative for a group of client).
  • For a single client, at the time, stays only in a room. This determines the checkin/checkout date and the price of the room.
  • The client in a booked room could use many service.
  • A service could be used by many clients in many booked room.
  • A room can be booked if and only if the room is still available during the desired book period.
  • For each booking, the client could pay several times until the checkout.
  • The client could cancel their booked room (free).
  • A seller/receptionist could book many times for clients.
  • A receptionist could process payment for many clients.