🏠
HMS Manual
Hostel Management System
🔍
v1.0 · April 2026
🏠 Official User Manual

Hostel Management System

A complete, offline-first desktop solution to manage every aspect of your hostel — from student registration and room allocation to payments, invoices, and professional reports.

📅 Version: v1.0 · April 2026
👨‍💻 Developer: Muhammad Hassaan | Binary Keji
🌐 Website: www.binarykeji.site
📧 Email: binarykeji@gmail.com
📖
What is HMS?

A professional desktop application built specifically for hostel operations.

HMS (Hostel Management System) is a modern Windows desktop application that replaces paper registers and messy spreadsheets with a clean, fast, and secure digital system. It runs entirely offline — your data stays on your computer, safe and private.

🧍
Complete Student Lifecycle
Register students, assign them rooms, track payments, and handle checkouts — all in one place.
🛏
Smart Room & Bed Management
Three-level hierarchy: Room Types → Rooms → Beds. Real-time availability tracking prevents double-booking.
💰
Full Financial Management
Record payments, generate invoices, track expenses, and view financial reports — all with multi-currency support.
🔒
Secure & Private
AES-encrypted license, SHA-hashed passwords, machine binding, and complete audit logs keep your data protected.
📊
Business-Grade Reports
Generate financial, occupancy, payment, and student reports with charts — printable, filterable by date.
👥
Multi-User Role System
Three roles — Admin, Manager, Staff — each with carefully controlled access to protect sensitive data.
ℹ️
Offline FirstHMS works 100% offline after initial license activation. No internet connection is required for day-to-day operations. Your data never leaves your computer.
⚙️
System Requirements

What you need to run HMS on your computer.

🖥️
Operating System
Windows 10 / 11
🐍
Language Runtime
Python 3.11+
💾
Storage
100 MB minimum
🧠
RAM
4 GB recommended
🌐
Internet
Only for activation
🖨️
Printer
Optional (for invoices)

Technology Stack

ComponentTechnologyPurpose
User InterfacePython TkinterDesktop GUI — windows, buttons, forms, tables
DatabaseSQLiteLocal offline database stored in Documents/HMS/
ChartsMatplotlibDashboard graphs and report visualizations
PDF GenerationReportLabInvoice and report PDF output
License EncryptionAES + SHASoftware protection and machine binding
Date PickertkcalendarCalendar date selection in forms
🔑
Software Activation

Activating your copy of HMS before first use.

The very first time you open HMS, you will see the Activation Screen. This is a security gate that verifies your license before allowing access to the software. HMS uses a combination of AES encryption and SHA-based machine binding to protect your license.

⚠️
Internet Required OnceAn internet connection is required only during activation. After your license is verified and saved, HMS runs fully offline.

Activation Options

🔑 Option 1 — Enter License Key (Purchased)
  1. Open HMS

    Double-click the HMS application. The Activation window appears automatically on first launch.

  2. Enter Your License Key

    Type or paste the license key you received from Binary Keji after purchase. It is a unique alphanumeric code tied to your purchase.

  3. Click Activate

    HMS connects to the license server via HTTPS to verify your key. This takes a few seconds.

  4. Activation Successful

    Your license is saved locally with AES encryption. From now on, HMS works offline — no internet needed.

🆓 Option 2 — Start Free Trial

New users can start a trial period to explore all features of HMS before purchasing a license. Click the "Start Free Trial" button on the Activation screen. The trial gives you access to all modules for a limited period.

During the trial, all features are fully available — students, rooms, payments, reports, and everything else. Use this time to evaluate whether HMS fits your hostel's needs.

License Security Details

FeatureDescription
Machine BindingYour license is tied to your specific computer using SHA-based hardware fingerprinting. It cannot be used on another PC.
AES EncryptionThe license data stored on your computer is AES-encrypted — nobody can read or forge it.
HTTPS VerificationLicense checks use secure HTTPS communication with the Binary Keji server.
Offline CacheAfter first activation, the license is cached locally — so it works offline indefinitely.
Heartbeat SyncA background heartbeat periodically syncs your hostel status to the server (requires internet for sync only).
💬
To purchase a license: Visit www.binarykeji.site · Email: binarykeji@gmail.com · WhatsApp: +92 348 6662274
👤
Admin Registration

Creating the main administrator account — done only once on fresh install.

After activation, HMS checks whether any user accounts exist. On a fresh installation, it takes you directly to the Admin Registration page. This is where you create the primary administrator account for your hostel system.

⚠️
First Account = AdminThe first account created automatically receives the Admin role — the highest level of access. Keep these credentials safe. If lost, a recovery word is used to reset the password.

Registration Form Fields

FieldRequiredDescription
Full NameRequiredYour complete name as the administrator
UsernameRequiredUnique login ID — used every time you log in. Cannot be changed later.
PasswordRequiredMinimum 6 characters. Choose something strong.
Confirm PasswordRequiredMust match the password exactly
Email AddressRequiredFor account recovery and communication
Recovery WordRequiredA secret word used to reset your password if forgotten
Password Security:All passwords in HMS are stored using SHA-based hashing. Nobody — not even the developer — can see your password in plain text. It is completely secure.
  1. Fill All Required Fields

    Enter your full name, choose a unique username, set a strong password, and provide your email and a recovery word you will remember.

  2. Click Register

    HMS validates all fields. If anything is missing or passwords don't match, an error message guides you to fix it.

  3. Account Created

    Your admin account is created instantly in the local database. HMS moves automatically to the Hostel Registration step.

🏢
Hostel Registration

Setting up your hostel profile — the foundation of all reports and invoices.

Immediately after creating your admin account, HMS takes you to Hostel Registration. Before managing anything, the system needs to know which hostel it is running for. This information appears on all invoices, receipts, and official reports.

Hostel Profile Fields

FieldRequiredDescription
Hostel NameRequiredOfficial name — e.g., "Al-Noor Boys Hostel"
Hostel TypeRequiredBoys / Girls / Co-Hostel
DescriptionOptionalBrief description of your hostel
Owner NameRequiredFull name of the hostel owner
Phone NumberRequiredPrimary contact number
Email AddressRequiredHostel contact email
AddressRequiredFull street address
CityRequiredCity where hostel is located
AreaOptionalNeighborhood or area name
Postal CodeOptionalZIP / postal code
Established YearOptionalYear your hostel was founded
CountryRequiredSets the default country for invoices
Currency CodeRequiredE.g., PKR, USD, GBP — used in all financial displays
Currency SymbolRequiredE.g., ₨, $, £ — shown before all amounts
ℹ️
Multi-Currency Support:HMS supports any world currency. Set your currency once here and it applies across all modules — payments, invoices, reports, and the dashboard.
Can be edited later:All hostel profile details can be updated at any time from Settings → General Settings. You don't need to get everything perfect right now.
🔐
Login & Logout

Accessing your account and leaving it securely.

Logging In

After initial setup, HMS shows the Login Screen every time the application is opened. Enter your username and password, then click Login.

  1. Enter Username

    Type the username you registered with. Usernames are case-sensitive.

  2. Enter Password

    Type your password. Characters are hidden for security.

  3. Click Login

    HMS verifies your credentials against the local database. If correct, the dashboard loads immediately.

  4. Role-Based Access Applied

    Based on your role (Admin / Manager / Staff), the sidebar shows only the menu items you are permitted to access.

Forgot Password

If you forget your password, click Forgot Password on the login screen.

Enter your username and the recovery word you set during registration. If they match, you can set a new password. Managers and Staff can also ask their Admin to reset their password from the Settings page.

Logging Out

⬅️
Sidebar Logout Button
Click Logout at the bottom of the sidebar. A confirmation dialog appears. Click Yes to log out and return to the Login screen.
Close Window
If you close the application window while logged in, HMS asks for confirmation before exiting. It also runs the auto-backup if enabled.
Keyboard Shortcut
Press Ctrl + Q anywhere in the application to trigger the exit / logout flow.
Always log out when leaving your computer — especially if multiple staff members share the same machine. Each person should log in with their own account.
📊
Dashboard

Your hostel command center — everything at a glance.

After login, HMS takes you directly to the Dashboard. This is a live overview of your hostel's current status, updated in real time from the database every time you refresh.

Dashboard Layout

📊
Summary Cards
Live key statistics
📈
Revenue Chart
Monthly income trend
🏠
Occupancy View
Beds filled vs available
💰
Pending Payments
Outstanding balances
📋
Recent Activity
Latest check-ins/outs
🔔
Alerts
Students with overdue fees

Summary Statistics Shown

StatWhat It Shows
Total StudentsNumber of students with Active allocations right now
Total RoomsAll rooms registered in the system
Total BedsAll beds across all rooms
Occupied BedsBeds currently assigned to active students
Available BedsBeds with status "Available" — ready for new students
Occupancy RatePercentage of beds currently in use
Revenue This MonthTotal payments collected in the current month
Pending DuesTotal outstanding balances across all active students
Monthly ExpensesTotal expenses recorded for the current month

Charts & Graphs

The dashboard uses Matplotlib to render interactive charts directly inside the application:

📈
Monthly Revenue Bar Chart
Shows income collected each month over the last 6–12 months, helping you spot trends and seasonal patterns.
🍩
Occupancy Pie/Donut Chart
Visual breakdown of occupied vs available beds at a glance.
📋
Payment Status Chart
Shows how many students are fully paid, partially paid, or have outstanding dues.

Sidebar Navigation

The dark sidebar on the left is your navigation hub. Click any menu item to switch modules instantly. The sidebar can be collapsed by clicking the ☰ Main Menu button — giving you more screen space when working on data entry.

💡
Click the 🏠 Dashboard button in the sidebar at any time to return to this overview and refresh all statistics.
🧍
Student Management

Register, manage, and track every student in your hostel.

The Students module is the central record of every person who lives (or has lived) in your hostel. All other operations — allocations, payments, invoices, checkouts — are linked back to a student profile.

Student List View

The main Students page shows a table with all registered students. Each row displays:

ColumnDescription
PhotoStudent's profile photo (if uploaded)
Full NameStudent's complete name
Father's NameGuardian's name
PhonePrimary contact number
EmailStudent email address
StatusActive / Pre Booked / Confirm Booked / Paid Booked / Inactive / Checked Out

Adding a New Student

  1. Click "➕ Add Student"

    Opens the Add Student form.

  2. Fill Personal Information

    Full Name, Father's Name, Date of Birth, Age, Gender, National ID (CNIC), Phone Number, Email Address.

  3. Emergency Contact

    Name, relationship (e.g., Father, Mother), and contact number of the person to call in an emergency.

  4. Academic Information

    College / University, Year of Study, Roll Number.

  5. Upload Photo (Optional)

    Click the photo area to upload a profile picture from your computer. Supported formats: JPG, PNG.

  6. Click Save

    The student is saved to the database with status "Inactive". Their status becomes "Active" once they are allocated a room.

Editing a Student

Select any student in the table, then click "✏ Edit Student". All fields are editable. Click Save to update the record.

Searching Students

Type any name, phone number, or ID into the Search bar and click 🔍 Search. Results filter instantly. Click ⟳ Refresh to show all students again.

Viewing Student Details (Admin/Manager)

Select a student and click "👁 View Detail" to see their complete profile including photo, all personal information, allocation history, and payment summary.

Deleting a Student (Admin/Manager)

Permanent Action:Deleting a student removes their record permanently from the database. This action cannot be undone. Only delete students who were added by mistake. Students who have checked out should be kept for historical records.

Student Status Values

StatusMeaning
InactiveRegistered but not yet allocated a room
Pre BookedA room has been pre-booked for this student
Confirm BookedBooking is confirmed — awaiting move-in date
Paid BookedAdvance payment received — booking confirmed
ActiveCurrently residing in an allocated room
Checked OutHas completed stay and checked out
When a "Pre Booked" or "Confirm Booked" student arrives, select them and click the "🛏 Allocate Now" button (appears when such a student is selected) to convert their booking into an active allocation instantly.
🛏
Rooms & Beds

Managing your hostel's physical space with a three-level hierarchy.

HMS uses a three-level structure to organize your hostel space: Room Types → Rooms → Beds. This allows complete flexibility — from basic single rooms to large dormitories.

🏷️
Level 1
Room Types

Categories with pricing

🚪
Level 2
Rooms

Individual rooms

🛏
Level 3
Beds

Individual sleeping spots

Step 1 — Setting Up Room Types

Before adding rooms, define your room categories. Go to Rooms → Room Types.

FieldDescriptionExample
Room Type NameA descriptive label for this categorySingle Room, Double Sharing, Triple Sharing, Dormitory
Daily PriceCost per day (for short-stay / booking calculations)500
Monthly PriceStandard monthly rent for this room type8,000
DescriptionOptional notes about this room typeAC room with attached bathroom

Step 2 — Adding Rooms

After creating room types, add individual rooms. Go to Rooms → Rooms.

FieldDescription
Room NumberUnique identifier — e.g., 101, 102, G-1, F-3
Room TypeSelect from your defined room types (sets pricing automatically)
Number of BedsHow many beds this room contains

Step 3 — Adding Beds

Within each room, register individual beds. Go to Rooms → Beds.

FieldDescription
RoomSelect the room this bed belongs to
Bed NumberIdentifier within the room — e.g., Bed A, Bed B, Bed 1, Bed 2
StatusAvailable / Occupied / Under Maintenance

Bed Status Meanings

🟢
Available
This bed is free. It can be allocated to a new student or booked in advance.
🔴
Occupied
A student is currently living in this bed. It is automatically marked Occupied when an allocation is made and Available when the student checks out.
🟡
Booked
A pre-booking or confirmed booking has been placed for this bed. It's not yet Occupied but is not Available for new bookings either.
🔧
Under Maintenance
This bed is temporarily unavailable due to repair or maintenance. Set manually by Admin/Manager.
ℹ️
No Double-Booking:When allocating or booking a student, HMS only shows beds with status "Available". Occupied and Booked beds are hidden from selection — making double-booking impossible.
🍽
Meal Plans

Managing food service costs as part of monthly fees.

The Meal Plans module lets you define different meal packages that students can be subscribed to. Meal plan costs are automatically added to a student's monthly fee during allocation.

Adding a Meal Plan

Navigate to Meal Plans from the sidebar and click Add Meal Plan.

FieldDescriptionExample
Meal TypeName of the meal packageBreakfast Only, Lunch + Dinner, Full Board (3 Meals), No Meals
PriceMonthly cost of this meal plan3,500 / month

How Meal Plans Work in Allocations

📋
During Allocation
When allocating a student to a room, you choose an optional meal plan. The meal price is automatically added to their monthly rent total.
💰
On Invoices
The meal plan charge appears as a separate line item on the student's invoice, clearly distinguishing room rent from meal costs.
Editing Meal Plans
Select any meal plan and click Edit to update the name or price. Changes apply to future invoices — existing paid invoices are not affected.
💡
Create a "No Meals" plan at ₨0 if many of your students don't use hostel meals. This makes allocation cleaner — the field is always filled even when no meal service is provided.
📋
Allocations

Officially assigning students to rooms and beds — the core workflow of HMS.

An Allocation is the formal assignment of a student to a specific bed in a specific room. This is what makes a student "Active" and starts their financial tracking. All payments, invoices, and checkout processes are linked to an allocation.

ℹ️
Before allocating: Make sure the student exists in the system (add them first if not), and that you have at least one room with an available bed configured.

Creating a New Allocation

  1. Navigate to Allocations

    Click "📋 Allocations" in the sidebar, then click "Allocate Now".

  2. Select the Student

    Choose from the dropdown list of registered students. Only students not currently allocated are shown.

  3. Choose Room Type

    Select the category of room (e.g., Single, Double Sharing). This filters the available rooms.

  4. Select Room & Bed

    Only available rooms and beds are shown. Choose the specific room number and then the specific bed within that room.

  5. Choose Meal Plan

    Select a meal plan (or "No Meals" if none). The monthly total updates automatically.

  6. Set Check-In Date

    Use the calendar picker to select the date the student moves in. Defaults to today.

  7. Set Expected Checkout Date

    Optional — if you know when the student will leave.

  8. Review Monthly Charges

    The system shows the total monthly fee: Room Rent + Meal Plan + any additional charges or discounts you add.

  9. Confirm Allocation

    Click "Confirm Allocation". The student status changes to Active, the bed status changes to Occupied, and fee tracking begins.

Allocation Management Page

The Allocation Management page shows all active and historical allocations in a table.

ColumnDescription
Allocation IDUnique identifier for this allocation
Student NameThe allocated student
Room / BedRoom number and bed assigned
Check-In DateWhen the student moved in
Monthly RentTotal monthly charge (room + meal)
StatusActive / Completed / Cancelled

Viewing Allocation Details

Click on any allocation in the list to see its full detail page — including payment history, total paid, outstanding balance, and the complete breakdown of all charges since move-in date.

📌
Bookings

Advance reservations — hold a room before the student arrives.

The Bookings module allows you to reserve a specific bed for a student who will arrive on a future date. This is especially useful for students coming from out of town who need to confirm their room in advance.

Three Types of Bookings

📌
Pre Book
An informal reservation. The student's status becomes "Pre Booked" and the bed is marked "Booked". No payment required. Typically used when a student expresses interest but hasn't committed yet.
Confirm Book
A firm reservation. The student has committed to take the room. Status becomes "Confirm Booked". Still no advance payment — but the room is held firm.
💰
Paid Book
The student has paid an advance deposit. Status becomes "Paid Booked". The advance amount is recorded. The bed is firmly held until their arrival date.

Creating a Booking — Step by Step

  1. Open Booking from Students Page

    Select a student from the Students list and click "📌 Pre Booking". Alternatively, access from the Bookings menu.

  2. Booking Date (Locked)

    The booking date is always set to today automatically. It cannot be changed — this is a security feature to ensure accurate records.

  3. Set Allocation/Arrival Date

    Use the calendar to pick the date the student will actually arrive and move in. Can be any future date.

  4. Select Room Type, Room & Bed

    Choose the desired room type, then the specific room and bed. Only available beds are shown.

  5. Select Meal Plan

    Choose the meal plan the student will be on after moving in.

  6. Choose Booking Mode

    Select Pre Book, Confirm Book, or Paid Book. If Paid Book is selected, enter the advance amount paid.

  7. Save Booking

    Click Save. The student status and bed status update immediately. The booking is now visible in the Bookings management page.

Converting a Booking to an Allocation

When the booked student arrives on their date:

  1. Go to Students

    Find the student (they will show as "Pre Booked", "Confirm Booked", or "Paid Booked").

  2. Select the Student

    Click on their row. A contextual "🛏 Allocate Now" button appears at the top of the page.

  3. Click Allocate Now

    The booking details are pre-filled into the allocation form. Confirm and the booking converts to an active allocation. Any advance paid is recorded in their payment history.

Cancelling or Editing a Booking

Navigate to Bookings in the sidebar. Select the booking, then use the Edit or Cancel/Refund options. Cancelling a booking releases the bed back to "Available" status. This action is restricted to Admin and Manager roles.

💰
Payments

Recording and tracking every fee payment from your students.

The Payments module is your financial ledger. Every time a student pays their monthly fee, you record it here. HMS keeps a running balance for each student — showing exactly how much they've paid and how much is still due.

Payment Page Layout

👤
Left Panel
Student Information

Search and select student

📋
Top Right
Pending Fees

All outstanding amounts

💵
Middle Right
Payment Entry

Record a new payment

🧾
Bottom Right
Payment Receipts

History of all payments

Recording a Payment

  1. Search for the Student

    Use the search field to find the student by name or ID. Select them to load their allocation and balance details.

  2. View Pending Fees

    The "Pending Fees" panel shows all outstanding monthly fees — which months are due and the total amount owed.

  3. Enter Payment Details

    Fill in: Amount Paid, Payment Date (calendar picker), Payment Method (Cash / Bank Transfer / Online / Cheque), and optional Remarks.

  4. Submit Payment

    Click the payment button. An invoice number is auto-generated (format: INV-YYYYMMDDHHMMSS-XXXX) and the payment is recorded instantly.

  5. Print Receipt (Optional)

    After recording, you can immediately print or save the payment receipt / invoice as PDF.

Payment Methods Supported

💵
Cash
Direct cash payment handed to staff or admin.
🏦
Bank Transfer
Student sends money directly to the hostel bank account.
📱
Online Payment
Any online/mobile payment method (EasyPaisa, JazzCash, etc.).
📑
Cheque
Payment by bank cheque — amount recorded on receipt of cheque.

Viewing Payment History

The "Payment Receipts" section shows every payment ever made for the selected student — date, amount, method, invoice number, and who recorded it. Full financial transparency for every student.

📄
Invoices

Professional receipts for every payment — printable and PDF-ready.

The Invoices module lets you view, generate, and print professional invoices for all student payments. An invoice is automatically created every time a payment is recorded.

What's Included on an HMS Invoice

SectionContents
HeaderYour hostel name, address, phone, email — from your hostel profile
Invoice DetailsUnique invoice number, issue date
Student DetailsName, room number, bed number, allocation period
Itemized ChargesMonthly Rent, Meal Plan Fee, Additional Charges, Discounts
Payment SummaryTotal Due, Amount Paid, Remaining Balance
Payment MethodHow payment was received
QR CodeBarcode for quick reference
FooterThank you note, hostel contact info

Generating & Printing an Invoice

  1. Go to Invoices

    Click "📄 Invoices" in the sidebar. All invoices are listed with date, student name, amount, and invoice number.

  2. Search or Filter

    Find a specific invoice by student name, invoice number, or date range.

  3. Select an Invoice

    Click on any invoice to open the full preview.

  4. Print or Save as PDF

    Click Print to send to a physical printer, or save as PDF to share digitally with the student (email, WhatsApp, etc.).

💡
Invoices are generated using ReportLab — a professional PDF library. The output is clean, formatted, and ready to give to students or file for your records.
📦
Checkout

Processing a student's departure from the hostel — complete and official.

The Checkout module handles the complete process when a student leaves your hostel. It calculates their final balance, processes any last payments, and formally ends their allocation — releasing their bed for new students.

Checkout Process — Step by Step

  1. Open Checkout

    Click "📦 Checkout" in the sidebar. The page shows two panels: Active Allocations (left) and Checkout Summary (right).

  2. Search and Select Student

    Use the search bar to find the departing student, or scroll through the Active Allocations list. Click their row to load their details.

  3. Review Financial Summary

    The right panel shows: Total Rent Due (from allocation start to today), Total Amount Paid, Outstanding Balance, and any advance deposit paid.

  4. Record Final Payment (if any)

    If the student owes a balance, record their final payment here before confirming checkout.

  5. Apply Deductions / Security Deposit

    If there are damages or the student had a security deposit to refund, enter these amounts. The system adjusts the final balance accordingly.

  6. Confirm Checkout

    Click the "Confirm Checkout" button. HMS asks for confirmation, then: sets allocation status to Completed, sets bed status to Available, sets student status to Checked Out.

  7. Print Checkout Receipt

    After checkout is confirmed, print the final checkout receipt / clearance document for the student.

After Checkout

🛏
Bed Returns to Available
The bed is immediately available for the next student. No manual action needed.
📊
Historical Records Preserved
The student, their allocation, and all payment history remain in the system as a permanent record. Checked-out students appear in reports and history.
📄
Checkout Details Page
Access the complete checkout details from "Checkout Management" — showing the student's full financial breakdown from first day to last.
💸
Expenses

Tracking every rupee spent in running your hostel.

The Expenses module records all operational costs of running your hostel. By tracking expenses alongside income (payments), you get a true picture of your profitability.

⚠️
Access Restriction:The Expenses module is only accessible to Admin and Manager roles. Staff members cannot view or add expenses.

Recording an Expense

  1. Click "➕ Add Expense"

    Opens the Add Expense form.

  2. Select Category

    Choose from: Electricity, Water, Gas, Maintenance, Salary, Grocery, Internet, Rent, Repair, Other.

  3. Enter Amount

    The exact amount spent, in your hostel's configured currency.

  4. Set Date

    When the expense was incurred (defaults to today).

  5. Add Description

    Brief note explaining the expense — e.g., "Monthly electricity bill", "Plumber for room 205 repair".

  6. Save

    The expense is recorded and appears in the list, searchable by keyword or date.

Managing Expenses

🔍
Search Expenses
Use the search bar to find expenses by category, description, or date range.
Edit Expense
Select any expense and click Edit to correct the amount, category, or description.
🗑
Delete Expense
Remove an incorrectly entered expense. This action is permanent — Admin/Manager only.
💡
Expense data feeds directly into the Reports module — where you can see monthly expense summaries, compare income vs expenses, and calculate your net profit per month.
📈
Reports

Business-grade reports and analytics for your hostel.

The Reports module is your business intelligence center. Generate detailed reports filtered by any date range — print them or export as PDF for your accountant, owner review, or audit purposes.

⚠️
Admin Only:The Reports module is restricted to the Admin role. Managers and Staff cannot access reports.

Available Report Types

💰
Financial Report
Total revenue collected in any time period, broken down by month. Shows pending dues, collection rate, and net income after expenses.
🏠
Occupancy Report
Which rooms and beds are occupied vs available. Current occupancy percentage and historical occupancy trends over time.
🧍
Student Report
List of all active students with their room assignments. New admissions in any period. Checkout history. Complete student roster for any date.
💵
Payment Report
All payments collected in a period. Students with outstanding balances. Payment method breakdown (cash vs bank vs online).
📋
Allocation Report
All active allocations. Historical allocations by period. Average stay duration. Room utilization statistics.
💸
Expense Report
Total expenses by category and period. Monthly expense breakdown. Income vs Expense comparison for net profit calculation.

Generating a Report

  1. Select Report Type

    Choose the type of report you need from the navigation tabs.

  2. Set Date Range

    Use the date pickers to set your Start Date and End Date. You can select daily, weekly, monthly, or any custom period.

  3. Apply Filters

    Some reports allow additional filters — e.g., by room type, payment method, or student status.

  4. Generate

    Click the Generate button. The report loads with data, tables, and charts based on your selected parameters.

  5. Print or Export PDF

    Click Print to send to a printer. The PDF includes your hostel header, the data tables, and charts — formatted professionally using ReportLab.

Charts in Reports

Reports include Matplotlib-powered charts — bar charts for monthly revenue, pie charts for payment status, line charts for occupancy trends. These charts are also included when you export to PDF.

⚙️
Settings

Configuring HMS for your hostel's specific needs.

⚠️
Admin Only:Settings are accessible only to the Admin role. Managers and Staff cannot access this section.

The Settings page is organized into four tabs: General, Users, System, and Backup.

Tab 1 — General Settings

🏢 Hostel Information

Edit all hostel profile details — name, type, description, owner name, phone, email, address, city, area, postal code, and established year. Changes apply immediately to all future invoices and reports.

SettingDescription
Hostel NameChange the official hostel name
Hostel TypeBoys / Girls / Co-Hostel
Contact InformationPhone, email, full address
CountrySets country on invoices
Currency Codee.g., PKR, USD — used in all financial calculations
Currency Symbole.g., ₨, $ — shown before all amounts

Tab 2 — User Management

👥 Managing Staff Accounts

Add and manage login accounts for your team members.

Add New User
Create a new Manager or Staff account. Set their username, password, email, recovery word, and role. They can log in immediately.
Edit User
Update a user's name, email, or role. Useful if a staff member gets promoted from Staff to Manager.
🔑
Reset Password
If a Manager or Staff member forgets their password, the Admin can reset it from here. No recovery word needed when Admin resets it.
🗑
Delete User
Remove a user account for a staff member who has left. Their past activity logs are retained for record-keeping.
🔑
To change your own password (as Admin), use the Change My Password form in this tab. You must enter your current password to set a new one.

Tab 3 — System Settings

🖥 Application Configuration
SettingDescription
Language / LocaleAdjusts date formats and regional settings
Log Retention PeriodHow many days of activity logs to keep. Older logs are automatically cleaned up.
Default Checkout TimeStandard checkout time shown on allocation forms

Tab 4 — Backup Settings

💾 Data Protection Configuration
📁
Backup Folder
Click "Browse" to select where backup files should be saved. Default: Documents/HMS/Backups. You can choose any folder — even an external drive.
🔄
Auto Backup
Toggle this ON to automatically backup your database every time you close HMS. The backup is saved as hostel_backup_YYYYMMDD_HHMMSS.db in your configured backup folder.
📅
Backup Retention
Set how many days to keep backup files. Default: 15 days. Older backups are automatically deleted to save disk space. Adjust based on how far back you might need to recover.
💾
Manual Backup Now
Create an immediate backup at any time by clicking "Backup Now". Use this before making major changes or importing large amounts of data.
Restore from Backup
If your data is lost or corrupted, restore from a previous backup file. Browse to select the .db backup file and restore.
📜
Activity Logs

Complete audit trail — every action, by every user, at every time.

⚠️
Admin Only:Activity Logs are accessible only to the Admin role.

HMS automatically logs every significant action performed in the system. This creates a complete, tamper-evident audit trail — essential for hostels with multiple staff members.

What Gets Logged

CategoryExamples of Logged Actions
AuthenticationLogin, Logout, Failed Login Attempt, Password Change
StudentsStudent Added, Student Edited, Student Deleted, Photo Uploaded
RoomsRoom Type Created, Room Added, Bed Added, Bed Status Changed
AllocationsAllocation Created, Allocation Details Viewed, Allocation Cancelled
BookingsBooking Created, Booking Confirmed, Booking Cancelled, Advance Paid
PaymentsPayment Recorded, Payment Edited, Invoice Generated, Invoice Printed
CheckoutCheckout Initiated, Checkout Confirmed, Final Receipt Printed
ExpensesExpense Added, Expense Edited, Expense Deleted
ReportsReport Generated, Report Exported, Report Printed
SettingsHostel Info Updated, User Created, Password Reset, Backup Created
Access DeniedAny unauthorized access attempt by a lower-role user
SystemApplication Started, Application Closed, License Check, Auto-Backup Created

Log Entry Structure

Timestamp
Exact date & time
👤
User
Who performed the action
Action
What was done
📝
Details
Specific description

Filtering Logs

The Logs page includes filters to help you find specific events quickly:

📅
Date Range Filter
Set start and end dates to view logs from a specific period — e.g., "show all logs from last week".
👤
User Filter
Filter by username to see all actions performed by a specific staff member.
Action Filter
Filter by action type — e.g., show only "Payment" related logs, or only "Login" events.

Log Retention & Cleanup

Logs are stored in a separate database file (hms_logs.db) and are automatically cleaned up based on the retention period set in Settings → System. This prevents the log database from growing too large over time.

📝
Policies

Displaying and enforcing your hostel's rules within the system.

The Policies module allows you to store and display your hostel's rules, terms, and conditions directly within HMS. This creates a digital record of your policies — visible to all staff and students who use the system.

Policy Acceptance

When a user first logs in, HMS can require them to read and accept the hostel policy before accessing the system. The policy_accepted flag is stored in the user record — creating a permanent digital acknowledgment that the user has read and agreed to your rules.

Who Can Access Policies

RoleAccess
AdminFull access — can view and edit policies
ManagerCan view policies
StaffCan view policies
💡
Use the Policies section to store hostel rules such as: visiting hours, noise restrictions, prohibited items, maintenance request procedures, fee due dates, and consequences for rule violations.
💡
Help & About

Built-in documentation and application information.

Help Page

Click 💡 Help in the sidebar to access the built-in Help section. This is a comprehensive in-app guide covering how to use every module. It is always available offline — no internet needed.

💡
If you or a staff member gets confused about any feature, check the Help section first before contacting support. It covers step-by-step instructions for all common tasks.

About Page

Click 👤 About to see information about the HMS software and its developer.

FieldValue
Software NameHostel Management System (HMS)
Versionv1.0 (April 2026)
DeveloperMuhammad Hassaan | Binary Keji
TypeIndependent Solo Developer
Websitewww.binarykeji.site
Emailbinarykeji@gmail.com
Phone+92 348 6662274
TechnologyPython · Tkinter · SQLite · AES Encryption · ReportLab · Matplotlib
🛡
User Roles & Permissions

Understanding who can do what in HMS.

HMS implements a Role-Based Access Control (RBAC) system with three user roles. Each role has a specific set of permissions designed to give team members the access they need — without exposing sensitive data to those who shouldn't see it.

👑 Admin

Full system access

  • Dashboard
  • Students
  • Rooms
  • Meal Plans
  • Allocations
  • Bookings
  • Payments
  • Invoices
  • Checkout
  • Expenses
  • Reports
  • Settings
  • Activity Logs
  • Policies
  • Help & About
🧑‍💼 Manager

Operational access

  • Dashboard
  • Students
  • Rooms
  • Meal Plans
  • Allocations
  • Bookings
  • Payments
  • Invoices
  • Checkout
  • Expenses
  • Policies
  • Help & About

✗ No Settings, Reports, or Logs

👷 Staff

Day-to-day tasks only

  • Dashboard
  • Students
  • Rooms
  • Meal Plans
  • Allocations
  • Payments
  • Invoices
  • Checkout
  • Help & About

✗ No Bookings, Expenses, Settings, Reports, or Logs

Detailed Permission Matrix

ModuleAdminManagerStaff
Dashboard✓ Full✓ Full✓ Full
Students — View
Students — Add/Edit
Students — Delete
Students — View Detail
Rooms & Beds✓ Full✓ Full✓ Full
Meal Plans✓ Full✓ Full✓ Full
Allocations✓ Full✓ Full✓ Full
Bookings✓ Full✓ Full
Payments✓ Full✓ Full✓ Full
Invoices✓ Full✓ Full✓ Full
Checkout✓ Full✓ Full✓ Full
Expenses✓ Full✓ Full
Reports✓ Full
Settings✓ Full
Activity Logs✓ Full
Policies✓ Full✓ View✓ View
🔒
Security & Backup

How HMS keeps your data safe and recoverable.

Security Features

🔒
Offline-First Architecture
All data is stored in a local SQLite database on your computer (Documents/HMS/database/hostel_management.db). Nothing is sent to any cloud server during normal operation.
#️⃣
SHA Password Hashing
All user passwords are hashed using SHA-based encryption before storage. Even if someone opened the database file directly, they cannot see any passwords.
🔑
AES License Encryption
Your license data is stored encrypted using AES. The license is also machine-bound — it cannot be copied to another computer.
🖥
Machine Binding
Your license is tied to your specific hardware using SHA fingerprinting. If someone copies your license key to another computer, it won't work.
📜
Complete Audit Trail
Every action in HMS is logged with username, timestamp, and details. Nothing can be done without it being recorded.
🛡
Role-Based Access Control
Staff members only see and access what their role permits. Sensitive financial and administrative data is protected from lower-role users.

Database Location

Windows: C:\Users\YourName\Documents\HMS\database\hostel_management.db Logs DB: C:\Users\YourName\Documents\HMS\database\hms_logs.db Backups: C:\Users\YourName\Documents\HMS\Backups\

Auto-Backup System

When Auto Backup is enabled in Settings → Backup:

💾
Triggered on Close
Every time HMS is closed, it silently creates a timestamped backup file: hostel_backup_YYYYMMDD_HHMMSS.db
📅
Automatic Retention Cleanup
Backups older than your configured retention period (default: 15 days) are automatically deleted.
📁
Configurable Location
Save backups to a USB drive, external hard drive, or network folder for extra safety.

Recovering from a Backup

  1. Locate Your Backup File

    Go to your configured backup folder (default: Documents/HMS/Backups). Find the backup file from the date before your data was lost.

  2. Close HMS

    Make sure HMS is not running.

  3. Replace the Database File

    Copy your backup .db file to Documents/HMS/database/ and rename it to hostel_management.db (replacing the current file).

  4. Restart HMS

    Open HMS normally. It will load from the restored backup.

💡
Best Practice:Enable Auto Backup and also manually copy your backup folder to an external USB drive or cloud storage (Google Drive, Dropbox) once a week. This protects you from hardware failure.
Keyboard Shortcuts

Speed up your workflow with built-in keyboard shortcuts.

Toggle Fullscreen Mode
F11
Exit Fullscreen Mode
ESC
Quick Exit / Logout
CtrlQ
💡
Fullscreen Tip:Use F11 to expand HMS to full screen when doing data entry — the extra screen space makes it easier to work with tables and forms. Press F11 again or ESC to return to windowed mode.
FAQ & Troubleshooting

Common questions and solutions.

❓ I forgot my admin password. What do I do?

On the Login screen, click "Forgot Password". Enter your username and the recovery word you set during registration. If they match, you can set a new password instantly.

❓ The software says "License Invalid". What happened?

This can happen if: (1) Your trial period expired — purchase a license to continue. (2) The software was moved to a different computer — licenses are machine-bound. Contact Binary Keji at binarykeji@gmail.com to resolve license issues.

❓ A bed shows as Occupied but the student has left. How do I fix it?

Process a proper Checkout for that student from the Checkout module. This will automatically set the bed status back to Available. Never manually delete an allocation — always use the Checkout process.

❓ I recorded a wrong payment amount. Can I edit it?

Go to Payments, select the student, and find the payment in their "Payment Receipts" section. Click Edit to correct the amount. All corrections are logged in Activity Logs for accountability.

❓ My HMS database seems corrupted / I lost data. What do I do?

Go to your backup folder (Documents/HMS/Backups). Find the most recent backup file before the issue. Close HMS, copy the backup file to Documents/HMS/database/, rename it to hostel_management.db, and restart HMS. This is why auto-backup is so important — enable it in Settings.

❓ Can I run HMS on two computers?

Each HMS license is tied to one computer. To run on a second machine, you need a second license. Contact Binary Keji for multi-computer licensing options. The database cannot be shared between two running instances simultaneously.

❓ The application is running slowly. What can I do?

Try: (1) Restart the application. (2) Close other heavy programs. (3) If your hostel has many years of data, consider archiving old records. (4) Ensure you have at least 2GB of free RAM.

❓ Can a student be in two rooms at the same time?

No. HMS prevents double-allocation. A student with an Active allocation cannot be allocated again until they are checked out from their current room.

❓ How do I add a new staff member login?

Go to Settings → Users tab (Admin only). Click "Add New User", fill in their name, username, password, and select their role (Manager or Staff). They can log in immediately with those credentials.

📞
Contact & Support

Get help from the developer — directly and personally.

HMS is built and maintained by an independent solo developer who provides direct, personal support. When you contact us, you speak to the person who actually built the software.

🌐
Website
📧
Email
binarykeji@gmail.com
📱
Phone / WhatsApp
+92 348 6662274
👨‍💻
Developer
Muhammad Hassaan

What We Can Help With

🔑
License Issues
Activation problems, machine transfers, license renewal, or upgrading from trial to paid.
🐛
Bug Reports
Found something that isn't working correctly? Report it and we'll fix it in the next update.
Feature Requests
Want a feature that HMS doesn't have yet? Tell us — your feedback shapes the roadmap.
🎓
Training & Onboarding
Need help getting your team set up and trained on HMS? We can guide you through the setup process.
💼
Business Inquiries
Multiple hostels, custom features, reseller partnerships — reach out to discuss.
🚀
Planned Future Features:Based on user feedback, upcoming HMS updates include mobile app support, advanced report customization, SMS/WhatsApp fee reminder integration, and multi-branch hostel management.