User Manual — Version 2.0

Wisdsol Hotel
Management System

Complete Staff Reference Guide

This manual covers every module of the Wisdsol Hotel Management System — from daily front-desk operations to payroll processing and financial reporting. Each section is written for the staff role most likely to use that module.

Introduction

System Overview

The HMS is a web-based system accessible from any browser. It covers the full hotel operation lifecycle — reservations, housekeeping, HR, payroll, and financial reporting.

📅
Bookings
Full reservation lifecycle: create, confirm, check-in, check-out, and payment tracking.
🛏
Rooms & Types
Room inventory with type categories, pricing, and status management.
🧳
Guests
Guest profiles, booking history, and a self-service Customer Portal.
👥
Staff & HR
Employee records, role-based access, ID cards, and department management.
Clocking
Daily attendance, clock-in/out terminal, and bulk attendance marking.
💰
Payroll
Ghana GRA PAYE + SSNIT auto-calculation and payslip generation.
🧾
Expenses
Expense tracking with categories, statuses, and approval workflow.
📈
Financials
Revenue vs expenses charts, monthly P&L, and room-type breakdowns.
🧹
Housekeeping
Daily task assignment, status tracking, and auto-checkout tasks.
🔧
Maintenance
Issue reporting, priority levels, and resolution tracking.
📋
Reports
Occupancy rates, top guests, and booking analytics.
🌐
Guest Portal
Guests self-serve: view bookings, current stay info, and hotel details.
Authentication

Logging In

All staff access the system through a single login page. Your username and password are created by a Super Admin or Manager.

Staff Login

Navigate to /login/ and enter your username and password. After a successful login you will be redirected to the Dashboard.

⚠ Security Note Always log out when leaving a shared computer. Use the Logout button in the navigation — do not just close the browser tab.

Demo Accounts

UsernamePasswordRole
adminadmin123Super Admin
manager1pass1234Manager
frontdesk1pass1234Front Desk
accountant1pass1234Accountant
housekeeping1pass1234Housekeeping
viewer1pass1234Viewer
🔒 Before Going Live Change all demo passwords immediately after installing on a production server.
Access Control

Roles & Permissions

The system uses six access levels. Each role controls which modules a staff member can view and edit.

Super Admin
Full access to every module, including Users and Settings. Typically the IT administrator or owner.
Manager
All operational modules including Staff and Payroll. Cannot manage system Users or change Settings.
Accountant
Bookings, Rooms, Guests, Housekeeping, Payroll, and Financials. No Staff or User management.
Front Desk
Bookings, Rooms (read), Guests, and Housekeeping. No financial or HR access.
Housekeeping
Dashboard and Housekeeping tasks only. Can view Rooms but not modify them.
Viewer
Dashboard only. Read-only observation account — cannot make any changes.

Permission Matrix

ModuleSuper AdminManagerAccountantFront DeskHousekeepingViewer
Dashboard
Bookings
RoomsViewView
Guests
Housekeeping
Maintenance
Staff
Clocking
Payroll
Expenses
Financials
Reports
Users
Settings
Module

Dashboard

The Dashboard is the first screen after login and gives an at-a-glance view of today's hotel operation.

Key Metrics

MetricDescription
Total / Available RoomsCount of all rooms vs rooms currently available for booking.
Today's Check-insConfirmed bookings whose check-in date is today.
Today's Check-outsChecked-in bookings whose check-out date is today.
Active BookingsAll bookings in "confirmed" or "checked-in" status.
Month RevenueSum of payments for checked-in/checked-out bookings this calendar month.
Pending ExpensesExpenses awaiting approval.
Pending HK TasksHousekeeping tasks not yet completed today.
Open MaintenanceMaintenance requests that are open or in progress.

Recent Activity Panels

The lower half of the Dashboard shows the 8 most recent bookings and the 6 housekeeping tasks assigned today. Click any row to go directly to that record.

Module

Bookings

Manage the full reservation lifecycle from initial booking through check-out and payment recording.

Booking Statuses

StatusMeaningNext Action
PendingBooking created but not confirmedConfirm
ConfirmedReservation acceptedCheck In
Checked InGuest is in the hotelCheck Out
Checked OutStay complete
CancelledBooking cancelled

Creating a New Booking

Check-In Process

Check-Out Process

✔ Tip Use the search bar on the Bookings list page to filter by guest name, room number, or date to quickly find a record.
Module

Rooms & Room Types

Define room categories (types) first, then create individual rooms assigned to those types.

Room Types

Room Types define a category (e.g. "Deluxe Double", "Executive Suite") and set the base nightly rate. All rooms belonging to a type inherit its price by default.

Creating a Room Type

Room Statuses

StatusMeaning
AvailableReady for booking.
OccupiedGuest is currently in the room.
CleaningRoom is being cleaned after checkout.
MaintenanceRoom is taken offline for repairs.
ℹ Note Room status changes automatically on check-in (→ Occupied), check-out (→ Cleaning), and when housekeeping marks the room clean (→ Available). You can also change status manually.
Module

Guests

Every booking requires a guest record. Guest profiles hold contact details, booking history, and portal access.

Creating a Guest Profile

Guest Detail Page

The guest detail page shows a full stay history, total spend, and a link to generate their Membership Card. Use the search bar on the Guests list to find a guest by name, email, or phone.

Module

Housekeeping

Manage daily cleaning tasks. Tasks are either created manually or auto-generated when a guest checks out.

Task Statuses

StatusMeaning
PendingTask assigned but not started.
In ProgressStaff member currently cleaning.
DoneRoom cleaned and verified.

Assigning a Task

Completing a Task

Open the task and change the status to Done. If the task is a post-checkout clean, the room status will automatically update to Available.

✔ Tip The Dashboard shows today's pending housekeeping tasks at a glance, so supervisors can track progress without opening the full module.
Module

Maintenance

Log, track, and resolve maintenance issues across the property.

Priority Levels

PriorityWhen to Use
UrgentAffects guest safety or prevents room use — resolve same day.
HighSignificant inconvenience — resolve within 24 hours.
MediumNoticeable but manageable — resolve within 3 days.
LowCosmetic or minor — schedule at next opportunity.

Logging a Maintenance Request

When the issue is resolved, open the request and change the status to Resolved and enter resolution notes.

HR Module

Staff & HR

Manage employee records, departments, and generate ID cards. Staff records are separate from system login accounts.

Creating a Staff Record

Staff ID Card

From the Staff Detail page, click Print ID Card to open a print-ready ID card with the staff member's name, role, department, and ID number.

ℹ Note A Staff Record is for HR purposes (payroll, clocking). To give someone login access to the HMS, you must also create a separate User Account in /users/ (Super Admin only).
HR Module

Attendance Clocking

Track daily attendance using a PIN-based terminal or manual entry. Clocking records feed into payroll calculations.

Clock Terminal

Point a tablet or shared computer to /clock/terminal/. Staff enter their Clock PIN to clock in or out. The system records the timestamp automatically.

Manual Clock Entry (Manager)

Bulk Mark Present

For days where the full team was present, use the Mark All Present button on the Clocking list to create attendance records for all active staff in one click.

Finance Module

Payroll

Run monthly payroll with automatic Ghana GRA PAYE tax and SSNIT contributions calculated per employee.

Ghana Tax Engine

ComponentRateBased On
SSNIT Employee5.5%Basic Salary
SSNIT Employer13%Basic Salary
PAYE — Band 10%Up to GHS 365/month
PAYE — Band 25%GHS 365–475
PAYE — Band 310%GHS 475–605
PAYE — Band 417.5%GHS 605–3,767
PAYE — Band 525%Above GHS 3,767

Running Payroll

Printing Payslips

Open a staff member's Payroll Record and click Print Payslip. The payslip includes gross pay, SSNIT, PAYE, total deductions, and net pay.

⚠ Note Tax bands are set per Ghana GRA guidelines in force at development time. Confirm current GRA rates annually and update the calculate_paye function in hotel/models.py if bands change.
Finance Module

Expenses

Record and track all hotel operational expenses. Expenses feed into the Financial Summary P&L report.

Expense Statuses

StatusMeaning
PendingSubmitted, awaiting review.
ApprovedApproved by manager — included in P&L.
RejectedNot approved — excluded from P&L.

Adding an Expense

Finance Module

Financial Summary

View revenue, expenses, and profit at a glance across any date range.

Navigate to /finance/ to see:

PanelDescription
Monthly RevenueTotal payments received from checked-in/out bookings per month.
Monthly ExpensesTotal approved expenses per month.
Net Profit / LossRevenue minus approved expenses. Shown per month and as a running total.
Revenue by Room TypeBreakdown of income per room category (e.g. Suite vs Standard).
Expense by CategoryPie-chart breakdown of where money was spent.
✔ Tip Use the date range filter at the top of the Financial Summary to focus on a specific month, quarter, or custom period.
Analytics

Reports

Pre-built analytics reports for management decision-making.

ReportDescription
Occupancy RatePercentage of rooms occupied per day/week/month.
Top GuestsGuests ranked by total nights stayed or total spend.
Booking AnalyticsBookings by status, source, and month.
Revenue per Room TypeWhich room categories generate the most income.
Housekeeping EfficiencyAverage time to complete clean tasks by staff member.
Customer Facing

Guest Portal

A self-service portal guests can access from their phone or laptop. No staff involvement required.

Portal Login

Guests navigate to /portal/login/ and enter their Guest ID (e.g. HG-00001) and their 4-digit PIN set at check-in.

What Guests Can Do

Staff: Setting a Guest PIN

When creating or editing a guest record, fill in the Portal PIN field (4 digits). Communicate this PIN to the guest at check-in. They can use it for any future visit as long as the PIN is unchanged.

ℹ Demo Portal Guest ID: HG-00001  |  PIN: 1234
Configuration

Hotel Settings

Super Admins can configure hotel-wide parameters that affect how the system calculates bills and displays information.

Available Settings

SettingDescription
Hotel NameDisplayed on all printed documents and the landing page.
Contact Phone / EmailShown on payslips, ID cards, and the guest portal.
AddressPrinted on formal documents.
Default Check-in TimeUsed when a check-in time is not manually specified.
Default Check-out TimeUsed for check-out time defaults.
Tax Rate (%)Applied to bookings — e.g. Ghana VAT 15%.
Service Charge (%)Optional service charge added to bookings.
⚠ Important Changing the Tax Rate or Service Charge only affects new bookings. Existing bookings retain the rates applied at the time of creation.
Quick Reference

URL Reference

All routes in the system, relative to your domain root.

URLPageMin. Role
/Landing Page (public)Anyone
/login/Staff LoginAnyone
/dashboard/DashboardViewer
/bookings/Bookings ListFront Desk
/rooms/Rooms ListFront Desk
/guests/Guests ListFront Desk
/housekeeping/Housekeeping TasksHousekeeping
/maintenance/Maintenance RequestsFront Desk
/staff/Staff ListManager
/clocking/Attendance RecordsManager
/clock/terminal/PIN Clock TerminalAnyone (kiosk)
/payroll/Payroll RunsAccountant
/expenses/ExpensesAccountant
/finance/Financial SummaryAccountant
/reports/ReportsAccountant
/portal/login/Guest Portal LoginGuests (PIN)
/users/User ManagementSuper Admin
/settings/Hotel SettingsSuper Admin
/admin/Django Admin PanelSuper Admin
IT Reference

Deployment Notes

Steps for setting up or updating the HMS on a cPanel shared hosting server.

First-Time Setup

Seeding Demo Data

# SSH into server, activate venv, then:
python manage.py seed_data --settings=hotelms.settings_production
🔒 Do Not Run seed_data on Live Data The seed command creates demo guests, rooms, bookings, and staff. Only run it on a fresh database. Running it on a live database will create duplicate data.

Updating the Application

Key Files

FilePurpose
passenger_wsgi.pycPanel Passenger entry point — sets virtualenv path and Django settings.
hotelms/settings_production.pyProduction settings: DEBUG=False, WhiteNoise, ALLOWED_HOSTS.
.envSecret key and any environment-specific values. Never commit to git.
.htaccessApache rewrite rules and security headers.
setup.shOne-shot server setup script.
db.sqlite3The database file. Back this up regularly.
staticfiles/Collected static assets served by WhiteNoise — auto-generated, do not edit.
— ◆ —

Wisdsol Hotel Management System  |  User Manual v1.0  |  Powered by wisdsol