Login & roles
Open hms.saskey.in and sign in with the email + password your admin provided. Your access to screens depends on your role:
Navigation overview
The left sidebar is organised into collapsible groups. Which items you see depends on your role. This is the complete current menu:
π Dashboard β daily snapshot: occupancy %, arrivals, departures, today's revenue, and (for finance roles) MTD revenue / expenses / receivables.
Front Office
- ποΈ Rooms β live grid of every room with status colour (Vacant Clean / Vacant Dirty / Occupied / Out-of-order). Walk-in from here.
- π Bookings β list + calendar + filters (Arrivals, Confirmed, In-house, Checked-out, Cancelled, date range, search).
- π Night Audit β preview tonight's auto-postings; run manually if a day was missed.
- π Front Desk β quick arrivals & departures board for today.
- π§Ύ Counter Sale β standalone walk-up / B2C billing for miscellaneous items with HSN & GST (no room needed).
- % Quick Discount β manager shortcut to apply a folio discount.
Operations
- π§Ή Housekeeping β floor-wise room tasks with start/stop timer.
- βοΈ Maintenance β tickets by priority + room + category; maintenance role also enters Utilities readings and issues Electrical store items.
- π€ Guests β guest CRM with stay history and total spend.
F&B
- π½οΈ KOT / Restaurant β kitchen order tickets that post to the folio.
- πͺ Banquet β hall bookings with their own list, calendar, search/filters, advance ledger and invoice flow.
Inventory
- π Linen β par levels, stock across locations (store / rooms / floors / drivers / laundry / rewash), laundry vendor settlement, write-offs.
- π§ Assets β fixed-asset register.
- π¦ Store β consumables inventory by category (Toiletries, Minibar, Stationery, GoDown/Store, Electrical) with issue/transfer, reorder levels, and stock valuation.
Accounts
- π§Ύ Invoice Register β every issued invoice with status & outstanding.
- π’ Corporates β B2B credit accounts, monthly statements, AR aging.
- π§Ύ GST Filing β GSTR-1, GSTR-2B (purchases), GSTR-3B summary.
- π§Ύ Purchases β vendor bills, GST input, stock/asset receipts, record payment.
- β©οΈ Purchase Returns β return goods to a vendor with reversing entries.
- πΈ Expenses β day-to-day expenses posted to the ledger.
- π Cash/Bank Ledger β running cash & bank position by account.
- π³ Card Settlement β reconcile card/UPI clearing to bank credits.
- π Journal / Contra β manual journal & contra (cashβbank) entries.
- π¦ Bank Reconciliation β match statement lines to ledger.
- π Financials β P&L, Balance Sheet, Trial Balance.
- π Chart of Accounts β the seeded Indian GL codes.
Property
- β‘ Utilities β EB / solar / water / generator meter readings with auto units & rate.
- π‘ Channels β OTA / channel-manager connections.
Reports & Admin
- π Reports β MTD, Day/Flash, Outstanding, Cashier, Invoice Register, Store Issue/Inventory, Vendor Statement, Revenue by Corporate, AR Aging, Housekeeping, Maintenance, Daybook, GSTR-1/2B/3B, Booking Register, Breakfast List and more.
- π Missing Invoices β bookings/folios that still need an invoice.
- π Masters β room categories, charge categories, store items, vendors, corporates, etc.
- π Integrations β SMS / WhatsApp templates, door-lock, external services.
- π€ Users β invite staff, set roles & floor scope.
- βοΈ Settings β property config, theme, GST slabs, cash/bank routing, policies.
First-time setup checklist
Before the first guest, an admin should walk through:
Create a booking
- Bookings β + New Booking.
- Pick the guest (search by phone first; system auto-fills if guest exists). If new, fill name + phone + ID type/number.
- Pick check-in and check-out dates.
- Set adults + children. The rate auto-recalculates: 1A β single rate, 2A β double rate, 3+ β double + extra-person Γ N.
- Choose the room category and (optionally) assign a specific room. You can leave it unassigned and pick at check-in.
- Save. Booking status starts as
confirmed.
Walk-in (guest at the desk now)
- Rooms screen β click a vacant_clean room β Walk-in button.
- Fill guest details, ID type + number, address.
- Confirm adults (rate updates live).
- Optionally collect an advance amount + payment method now β it'll be posted to the folio immediately.
- Save. The booking is created with
status=checked_inand the room flips tooccupied.
Multi-room booking (one guest, several rooms)
From an existing booking detail page, click + Link Another Room. Each linked room has its own rate (per category and occupancy), but they share one folio + one invoice.
Change occupancy mid-stay
On Booking Detail β click π₯ Occupancy. Pick new adults / children. The system:
- Updates the saved per-room occupancy.
- Re-computes the rate from the room category settings.
- If past nights have already been charged, you'll see a confirm prompt β choose either "reverse + re-post past nights at the new rate" (creates offsetting JV entries) or "future-only" (past nights keep their old rate).
Check-in
- Booking Detail β Check-in.
- Confirm room assignment (system blocks dirty rooms β Mark Clean first).
- System sets
actual_check_in=NOW(), room βoccupied, status βchecked_in.
Check-out
- Booking Detail β Check Out.
- Late checkout? You'll see a suggested fee based on Settings β Late Checkout Policy. You can override.
- System asks you to settle the folio balance before closing β Record Payment or set the booking as Corporate Bill-To.
- Folio closes, room flips to
vacant_dirty, a housekeeping task is auto-created.
Room shift
To move a guest to a different room: Booking Detail β Room Shifting β pick the new (vacant_clean) room. The original folio history stays; future charges go to the new room.
Extend / shorten stay
Booking Detail β Amend Stay. Pick the new check-out date. Extending posts additional night charges; shortening reverses charges from the dropped dates (room + GST rows only β F&B and misc charges stay).
Counter Sale (walk-up billing)
Use Front Office β Counter Sale to bill a walk-up / B2C customer for miscellaneous items without creating a room booking β e.g. a one-off item sale after checkout.
- Add line items (name, HSN/SAC, qty, rate). GST is applied per line from the HSN/category.
- Choose payment method β the sale is paid immediately (collection + revenue post together).
- Save β a counter invoice is issued in its own series, a balanced JV posts (Dr Cash/Bank, Cr Other Service Revenue + Output GST), and stock decrements if the item is from Store.
Folio & charges
Every booking has one folio. The Folio tab on Booking Detail shows all transactions grouped by date, with taxes indented under their parent charge.
To add a non-room charge (Food, Laundry, Mini Bar, etc.), click + Add Charges, pick a category, amount, and (optionally) override the SAC or GST rate. The category's default GST from Settings is used automatically.
Apply discount
- Folio β % Apply Discount.
- Enter the percentage and a reason.
- System reverses every room + extra-person row, then re-posts them with GST calculated on the discounted base. F&B / Laundry / etc. are not discounted.
Record payments
Folio β + Record Payment. Pick the method (Cash / Card / UPI / Bank Transfer / Cheque). The deposit account auto-fills from your Settings β Cash/Bank routing defaults, but you can override at payment time.
Each payment writes a receipt (RCPT/FY/00001), posts a balanced JV (Dr Bank / Cr AR), and updates the folio balance.
Generate invoice
Once checkout is complete (or the booking is corporate-billed), Booking Detail β Invoice tab β Print Invoice. The first click finalises the document number (INV/FY/00001) and locks the line items β further changes need a credit note.
For Pro-forma at any time: Folio tab β Pro Forma.
Share invoice on WhatsApp
From the Invoice modal β π¬ Send via WhatsApp. The system mints a 30-day public share link hms.saskey.in/i/<token> and opens WhatsApp with a pre-filled message to the guest. No PDF attachment needed; the guest just taps the link.
GST handling
Three layers:
- Room slabs β Settings β GST: exempt-below / low rate / threshold / high rate.
- Charge categories β each row has its own default GST. F&B 5%, Banquet 18%, etc.
- Place of supply β derived from the guest's GSTIN (first 2 digits = state). Same state β CGST + SGST. Different state β IGST.
Banquet β new booking
- Banquet β + New Booking.
- Fill event name, date, hall, pax count, food rate/pax, hall charges, contact.
- Optionally enter an initial advance + payment method.
- Save. Status starts as
confirmed.
Advance payments + receipts
Open the booking detail β Payment Ledger β + Add Payment. Multiple advances are allowed any time before the event. Each gets a receipt number RCPT-BNQ/FY/00001 you can print from the π¨οΈ icon.
Complete event β generate invoice
After the event happens, click Mark Completed. The Generate Invoice button enables only at this point (locks the amount; pre-event changes are allowed).
Cancel & refund
Open detail β Cancel Booking β confirm reason. The system:
- Reverses the revenue + GST JV (if invoice was issued).
- Does NOT touch payment rows β money is still in your bank.
- Surfaces a β©οΈ Refund button with the eligible amount.
Click Refund β pick mode (Cash / UPI / Bank) β pick which account to refund from β submit. Each refund creates a refund-receipt row and posts Dr Advance / Cr Bank.
Housekeeping tasks
Housekeeping page shows rooms grouped by floor with their cleaning tasks. Tap a room β Start begins a timer. Stop closes the task and records duration.
Multi-floor assignments: Settings β Users β click a housekeeping staff member β Floors β tick the floors they handle. They'll only see their floors in the mobile app + web.
Maintenance tickets
Maintenance page lists open / in-progress / closed tickets. Receptionists raise tickets from Booking Detail β π§ Ticket β category (electrical / plumbing / AC / etc.), priority (low/normal/high/urgent), description.
Maintenance staff get a push notification on their phone and a row on their mobile dashboard.
Install the mobile app
Android: Google Play Store β search "HMS by Saskey" β Install. Or use the internal-testing invitation link from your admin.
iOS: TestFlight invitation (forthcoming on App Store).
Sign in with the same email + password you use on the web.
Role-specific screens
Push notifications
The app delivers role-targeted push notifications within seconds:
- New maintenance ticket β maintenance staff.
- Housekeeping task assigned β the assigned housekeeper.
- Overstay alert (daily) β admin, manager, receptionist.
- Night audit complete β admin, manager.
- Daily revenue digest at 8:00 AM β admin, manager (yesterday + month-to-date figures).
Each device belongs to its current login's property only. If you stop receiving them: enable Notifications in app permissions, then sign out + back in to re-register your push token.
Night audit
Runs automatically at 00:05 IST daily. Posts room charges for every in-house booking for that night. Open Night Audit to preview what's about to post, or run it manually if you missed a day.
Reports
- Day Sales β collections by date and method.
- Revenue & Tax β GST-segregated revenue (CGST/SGST/IGST) for the period.
- P&L β income vs expenses from the journal entries.
- Balance Sheet β assets / liabilities / equity at a point in time.
- Trial Balance β every account's Dr / Cr balance for the FY.
- Receivables Aging β open folios broken down by age.
GSTR-1 export
Reports β GSTR-1 β pick month. The output groups invoices by HSN/SAC, calculates per-bucket taxable + tax, and produces the format CA / accountant can use to file. Voided invoices are excluded.
Store & consumables
Inventory β Store tracks non-linen consumables in categories: Toiletries, Minibar, Stationery, GoDown/Store, Electrical. Items are created in Masters with a purchase unit, issue unit and conversion factor (e.g. 1 ltr = 1000 ml); stock is set from Purchases, not entered here.
- Issue β consume stock to a room / floor / reception / driver.
- Transfer β move stock between locations.
- Reorder-level flags show "Low Stock"; Export CSV / PDF available.
- Electrical items are issue/transfer-restricted to the Maintenance role (plus Admin/Manager).
Linen & laundry
Inventory β Linen shows stock across every location (Store, In Rooms, In Floors, Drivers, Laundry, Rewash) with a par level per category and a Total Owned reconciliation. Send to / receive from the laundry vendor, send/receive rewash, and settle vendor bills from the Vendor Settlement tab.
Assets
Inventory β Assets is the fixed-asset register β track owned equipment, assign to rooms, and link maintenance.
Invoice Register
Accounts β Invoice Register lists every issued invoice (room, counter, banquet) with date, customer, total, status and outstanding. Filter by date/status and open any invoice.
Corporates & receivables
Accounts β Corporates holds B2B credit accounts (GSTIN, credit terms). Bill a checkout "to corporate", then generate a monthly statement and track AR aging per corporate. Payments received settle the outstanding.
Purchases & vendor bills
Accounts β Purchases records a vendor bill: line items typed as store / linen / asset / utility / maintenance, GST input, and totals. Store/linen lines receive stock automatically. Use Record Payment to settle (Cash/Bank), which posts Dr Vendor / Cr Bank; a fully-settled bill shows paid.
Purchase Returns
Accounts β Purchase Returns returns goods to a vendor and posts the reversing stock + ledger entries.
Expenses
Accounts β Expenses logs day-to-day expenses (category, amount, date, mode) straight to the ledger and P&L.
Cash / Bank Ledger
Accounts β Cash/Bank Ledger shows the running balance of each cash and bank account with every debit/credit, so you can tie the drawer/bank to the books.
Card Settlement
Accounts β Card Settlement reconciles the Card/UPI clearing account to actual bank credits from the acquirer (net of charges).
Journal / Contra
Accounts β Journal / Contra posts manual journal entries and contra entries (cashβbank movements, e.g. cash deposited to bank).
Bank Reconciliation
Accounts β Bank Reconciliation matches bank-statement lines against ledger entries to confirm the book balance agrees with the bank.
GST Filing
Accounts β GST Filing gives the filing views: GSTR-1 (outward supplies by HSN/SAC), GSTR-2B (purchases / input credit), and the GSTR-3B summary.
Financials
Accounts β Financials renders the P&L, Balance Sheet and Trial Balance straight from the journal entries for any FY / period.
Chart of Accounts
Accounts β Chart of Accounts is the seeded Indian GL (Cash, Bank, Receivables, Card/UPI clearing, Output CGST/SGST/IGST, Room/F&B/Other revenue, expensesβ¦). Cash/Bank routing in Settings points each payment method at one of these codes.
Utilities (meter readings)
Property β Utilities records meter readings for EB, solar, water and generator β enter opening & closing, the units consumed compute automatically (with an EB rate for cost). The Maintenance role can also enter these from the mobile app.
Channel Manager
Property β Channels manages OTA / channel-manager connections for inventory & rate sync.
Missing Invoices
Reports & Admin β Missing Invoices surfaces checked-out / corporate-billed bookings that still need an invoice generated, so nothing slips past GST filing.
Masters
Reports & Admin β Masters is where you maintain reference data: room categories & rates, charge categories (SAC + GST), store items & categories, vendors, corporates, and more.
Integrations
Reports & Admin β Integrations configures external services β SMS / WhatsApp templates (check-in Wi-Fi, confirmation, reminder, receipt), door-lock encoder, and other connectors.
Settings β Theme colours
Settings β Theme β set the Primary and Accent hex codes. Used everywhere: sidebar gradient, h1 colour, accent strip, primary buttons. Leave blank to fall back to navy / blue defaults.
Settings β SMS templates
Provider: pay4sms.in (or SmartPing). Paste the token + sender ID + DLT template IDs from your DLT portal. The Settings page has a π§ͺ Test SMS form β pick an event, type a phone, send. The result + the actual rendered message both show inline.
Settings β Charge categories
Add each non-room service you'll bill: F&B, Laundry, Mini Bar, Banquet, Spa, etc. Each row stores SAC code + default GST rate. When you add a charge on a booking and pick this category, both fields auto-fill.
Settings β Cash / Bank routing
Pick which Chart-of-Accounts account each payment method posts to. Example: Cash β 1101 (Cash on hand), Card β 1141 (Card Settlement), UPI β 1151, Bank Transfer β 1131 (SBI CA), Cheque β 1101.
Settings β Users & roles
Invite a user with email + role. Change role inline anytime. For housekeeping / maintenance roles, also assign the floors they should see (Floors button next to the user row).
Cancel & refund β accounting view
The system distinguishes booking cancel from refund:
- Cancel = reverse the revenue recognition (and the invoice's GST). Sets status='cancelled'.
- Refund = operator decides when and via which mode the money actually leaves. Multiple partial refunds allowed.
Troubleshooting
The theme isn't applying on some pages
Hard refresh the browser (Cmd+Shift+R / Ctrl+Shift+R). Confirm Settings β Theme shows your colours saved. Open DevTools β Inspect <html> β look for --theme-primary in computed styles.
An SMS test failed
Check the error message inline. Common causes: DLT template ID empty, body still uses {#var#} instead of {#alphanumeric#} (both now supported), pay4sms balance ran out.
F&B GST showing 18% instead of 5%
Settings β Charge Categories β "Food & Beverage / Restaurant" β set Default GST to 5%. Save. New F&B charges will post at 5%; existing wrong ones need to be void + re-added.
Walk-in showed 1 adult when I entered 2
This was a known bug fixed in B93.7. Update to the latest deploy. Existing affected bookings: click Occupancy β set the right value β confirm "no rate change" (since the rate is already correct).
Invoice grand total doesn't match folio
The right-side summary subtracts discount + payments; the line items show gross. If they don't reconcile, run a Trial Balance and check the journal entries for that booking β every Dr should match Cr per account.
Mobile app doesn't show new tasks
Pull to refresh. If push isn't arriving: settings β notifications enabled. Sign out + back in to re-register the push token.
Get support
WhatsApp: +91 84892 56789
Email: info@saskey.in
Web: saskey.in
Mention your property name and the booking number you're stuck on β that gives us instant context.