Hotel User Manual
Everything you need to run your hotel on RoomsDirect — from adding your first room to exporting reports.
Important disclaimer
This manual is provided as a general guide to the RoomsDirect software and is supplied as-is, without warranty of any kind. While every effort is made to keep it accurate, the platform operator makes no guarantees that the manual or the software is error-free, complete, secure, uninterrupted, or fit for any particular purpose.
You are solely responsible for how you use the platform and for the accuracy of the information you publish, including room descriptions, photos, prices, availability, payment instructions, and your legal pages. Nothing in this manual constitutes legal, financial, tax or accounting advice, and you should obtain your own professional advice where needed.
To the maximum extent permitted by law, the platform operator shall not be liable for any loss, damage, expense or dispute arising from your use of the platform, the manual, or any booking made through it. The platform does not provide payment processing; you and your guests settle payments directly between yourselves.
1. Overview
RoomsDirect gives every hotel its own public booking website and a private admin panel. Guests search dates, choose rooms and confirm bookings on your page; you manage everything from your admin dashboard.
How it fits together
- Portal — the front page lists all participating hotels. Guests can search and pick one.
- Your hotel page — a branded page (e.g.
http://www.sandgroper.net/booking/?hotel=your-hotel) where guests search dates, choose rooms, add extras and confirm bookings. - Your admin panel — the private control centre where you manage rooms, availability, bookings, payments, discounts, vouchers, settings and reports.
Every hotel's data is kept strictly separate. Bookings, rooms, extras, codes, pages and settings are all scoped to your hotel only.
2. Getting started & access
The platform does not use a username to log in. Instead your hotel is given a secret admin link (a long URL that includes a private token) plus a password.
Your admin link and password
- The platform administrator creates your hotel and gives you two things: the admin URL and your hotel's initial password.
- Open the admin URL in your browser. It looks like:
http://www.sandgroper.net/booking/admin?hotel=your-hotel&admin=0123456789abcdef… - You will be asked for your password. Enter it and you are in.
- After a successful login the long token is removed from the address bar automatically — it only needs to be in the URL the very first time.
Who can do what
- Super-admin (platform administrator) — manages hotels, hotel passwords and tokens. Cannot see your bookings.
- Hotel admin (you) — full control over your own hotel: bookings, rooms, extras, discounts, vouchers, settings, pages, reports, import/export and the activity log.
Super-admin: customising the public portal
The super-admin dashboard includes a Portal customisation card where the platform administrator can edit the public portal pages directly — the home page promo and pricing sections, the platform contact details, and the About, Contact, Privacy Policy and Terms pages. Each text area is a small rich-text (WYSIWYG) editor with undo/redo, bold, italic, underline, headings, text size, text colour, text alignment, bullet and numbered lists, links and Google Material icon support. Changes are saved with the Save portal button and appear on the portal immediately.
Logging out
Use Log Out at the bottom of the sidebar, or the bell bar in the top-right when you are finished. Always log out on shared computers.
3. Dashboard
The first page you see after logging in gives you a snapshot of your hotel:
- Stat cards — key numbers such as bookings in progress, deposit money owed and rooms occupied.
- Current Bookings — in-house and upcoming stays (excludes cancelled and completed ones), showing reference, guest, room, dates, status and total.
- Run Overdue Check — scans bookings that are past the deposit due date and marks unpaid ones as Overdue. You can run this manually any time; it is also run automatically by the platform's scheduled task (cron).
The bell icon in the top bar shows how many new bookings have arrived and jumps to the Bookings page.
Each section on this page (and on other admin pages) is a card. Cards open and close using the triangle button in their top-right corner, so you can collapse sections you don't need. Use the Expand all / Collapse all button at the top of the page to open or close every card at once. Several cards can be open at the same time.
4. Bookings
Booking statuses
| Status | Meaning |
|---|---|
| Pending | Booking created but no deposit recorded yet. |
| Awaiting Deposit | Guest needs to pay the required deposit. |
| Deposit Paid | The deposit portion has been received. |
| Fully Paid | The whole amount has been received. |
| Overdue | The deposit deadline passed without payment. |
| Cancelled | Booking cancelled (by guest request or by you). |
| Completed | Stay finished and settled. |
Finding bookings
Use the search box to search by guest name, booking reference or email, and use the status filter to narrow the list.
Viewing and editing
Open any booking to see the full detail: guest contact, stay dates, rooms, extras, totals, discount/voucher applied, payment history and any cancellation request. You can edit guest details and the stay.
Creating a booking (walk-ins / phone)
Click New booking and fill in guest details, check-in/check-out, adults and children. Add rooms and extras from the dropdowns. Use Force create even if the room is unavailable only when the room is genuinely being given to this guest anyway (e.g. taking a same-day walk-in on a blocked night).
Recording payments
The website never takes or processes money. When a guest pays you directly (bank transfer, cash, card at reception, etc.), record it here so the booking's status and totals stay correct: open the booking, click to record a payment, enter the amount, the method (Bank Transfer, Cash, Card, Other) and an optional reference/notes. Tick This is a refund / payment adjustment to deduct from the paid total instead.
Cancellation requests
Guests can request cancellation from their booking status page. The request appears on the booking in your admin. Confirm or decline it; confirming moves the booking to Cancelled. While a request is pending, guests can also withdraw it themselves from their status page — the request is cleared, the Cancel req. badge disappears, and the withdrawal shows in the Activity Log.
Invoices
Guests can download a branded PDF invoice from their booking status page. The invoice shows rooms, extras, subtotal, discount, voucher, GST/tax, total, deposit due, amount paid and balance due. When a balance remains to be paid, the invoice also repeats your payment instructions and bank details (only if Show bank details is enabled), so guests can pay straight from the PDF.
5. Rooms
Adding a room
Go to Rooms → Add Room and fill in:
- Name — shown on your public page.
- Room type key — a suggested type (single, double, twin, suite, etc.) that pre-fills the bed icon and guest capacity. You can still adjust capacity afterwards.
- Description — a friendly description; guests see the full text in the room photo gallery.
- Base price / night — the nightly price before taxes.
- Identical units — how many identical copies of this room you have (e.g. 4 identical deluxe rooms). Keep at 1 for a unique room. Multiple units let guests pick more than one at once.
- Max adults / children — capacity limits for availability searches.
- Check-in / check-out times — per-room, shown to guests. Defaults come from your hotel settings.
- Size (sqm) — optional, shown in the gallery.
- Amenities notes — optional text shown to guests.
- Room icons — tick the icons that describe the room (Wi-Fi, breakfast, parking…). You can also type any Material Symbol name with a label to create a custom icon. Custom icons saved on any room become reusable presets.
- Status — Active rooms appear on your website; Inactive rooms are hidden but kept.
- Image gallery (URLs) — paste full
https://…image URLs, one per row, or click Upload on a row to host the file and fill in the URL automatically. The first image is the card photo; the order is the gallery order guests see when they click the photo. See Hosting your images on GitHub below for another free way to get URLs.
Hosting your images on GitHub (free image URLs)
Images are stored as full https://… URLs. In the admin you can paste a URL or use the Upload button beside each image field (room gallery, logo, portal card) to upload a file and have the URL filled in for you. You can also host images yourself — a free GitHub account is one option; see below.
Step 1 — Create a free GitHub account
- Go to github.com and click Sign up.
- Enter your email, a password and a username, then verify your email address.
- The free plan is all you need — you can skip the optional survey steps at the end.
Step 2 — Create a public repository for your images
- In the top-right corner of GitHub, click the + icon and choose New repository.
- Give it a name, for example
hotel-images. - Set the repository to Public. Public is required so the images are visible on your website without a login.
- Click Create repository.
Step 3 — Upload your images
- On your repository page click Add file → Upload files, then drag your photos in or browse for them.
- Add a short commit message such as "Add room photos" and click Commit changes.
- Photos up to about 25 MB each can be uploaded this way — normal phone or camera photos are fine.
- Tip: use simple file names without spaces, e.g.
deluxe-room-1.jpginstead ofIMG 0421.JPG. This makes the URLs easier to read and avoids problems.
Step 4 — Copy the direct image URL
When you click a photo in GitHub you land on a preview page. That page’s URL is not the image URL itself. Use one of these two ways instead:
- Recommended — jsDelivr CDN link (fast and reliable):
https://cdn.jsdelivr.net/gh/USERNAME/REPOSITORY@main/FOLDER/IMAGE.jpg
For example, if your username issunset-hotel, your repository ishotel-images, and the photo sits in the main folder:https://cdn.jsdelivr.net/gh/sunset-hotel/hotel-images@main/deluxe-room-1.jpg - GitHub’s raw link: open the photo, then right-click the image and choose Copy image address, or click Download and copy the address from the address bar. It looks like:
https://raw.githubusercontent.com/sunset-hotel/hotel-images/main/deluxe-room-1.jpg
Step 5 — Paste the URLs into your settings
- Room photos: in your admin, go to Rooms → Add Room (or edit an existing room), and paste one image URL per row in Image gallery (URLs). The first URL becomes the room’s card photo.
- Logo: in your admin, go to Settings → Hotel details and paste the image URL into Logo URL.
- Save, then open your public page to check the images load.
Ordering rooms
Drag rooms by the handle to set the order shown on the website.
Load Default Rooms
Quickly create a starter set of typical rooms if your room list is empty.
Duplicate & template rooms
Some hotels can Duplicate a room (copy fields in one step) and mark a room as a Template room to push updates to linked copies. This is optional — the platform administrator must enable Enable room duplicate & template features for your hotel in the super-admin dashboard. If you do not see Duplicate or Template controls, ask them to turn it on.
6. Availability & iCal sync
Block dates
Open a room's Availability & iCal panel and choose a from/to date (same date for a single day), add a note such as "Maintenance", and click Block Dates. Blocked nights are not bookable. You can remove blocked ranges from the list.
Calendar view
Open the room's Calendar to see each night colour-coded:
- Available — no bookings and not blocked.
- Partial — some units still free.
- Full — all units booked.
- Blocked — manually closed.
Select any day to see which bookings fall on it.
iCal sync
Two-way-ish calendar integration, great for syncing with Airbnb, Booking.com or Google Calendar:
- Export URL — paste this link into any calendar app (or external channel) that supports iCal subscriptions. It exports the room's bookings so your other calendars stay in sync.
- Import from URL — paste an iCal feed URL (e.g. from another booking channel) and click Import Blocked Dates. Events in that feed are added as blocked dates here.
7. Extras
Extras are add-ons guests can choose during booking, e.g. breakfast, late checkout, airport transfer.
- Name & description — shown on the extras step of booking.
- Price — the amount for one unit.
- Price type:
- Per booking — charged once (e.g. a welcome hamper).
- Per night — multiplied by the number of nights.
- Per guest — multiplied by the number of guests.
- Max quantity — the largest quantity a guest can pick (use 1 for things like late checkout).
- Status — active extras are offered; inactive ones are hidden.
- Available for rooms — restrict an extra to specific rooms, or leave empty so it is offered for every room.
8. Discount codes
Create promo codes guests type at checkout.
- Code — what the guest types (e.g.
WINTER10). - Type — Percent (e.g. 10%) or Fixed amount.
- Value — the percent or dollar amount.
- Min nights — optional minimum stay to use the code.
- Max uses — optional cap; leave blank for unlimited. The used counter shows how many times it has been redeemed.
- Valid from / to — optional date window.
- Status — active codes can be used; inactive ones cannot.
9. Gift vouchers
Issue gift vouchers that guests redeem at checkout.
Issuing a voucher
- Code — leave blank to auto-generate one.
- Cash value — a dollar credit (leave 0 for a room-only voucher).
- Room (optional) — tie the voucher to a specific room; the guest must book that room to use the benefit. You can combine room + cash.
- Room nights covered — how many nights the room benefit covers; blank covers the whole stay.
- Issued to, email, phone — recipient details used by the Send options.
- Expires — optional expiry date.
Sending a voucher
After issuing, use Send to share the voucher by copy, email, SMS or open a PDF gift certificate. The message uses your voucher template in Settings.
Redemption
At checkout the guest types the code; the platform validates it against the room requirement (if any) and tracks the remaining value and nights. You can see the cash and nights left on the vouchers list.
10. Settings
Hotel details
Name, tagline, description and portal image appear on your card in the public portal listing (searchable by guests). Your name, tagline and description are also used in emails, invoices and your booking status page. The page slug and timezone are managed by the platform administrator.
Contact details — structured address (street, suburb, state, postcode, country), phone, WhatsApp, email and website — are shown on your hotel page footer, on the guest booking status page, on the PDF invoice, and on the portal map when geocoding succeeds. The website can be a bare domain (e.g. www.yourhotel.com) or a full https://… URL.
Logo — paste a full https://… image URL or use Upload beside the field. You can also host the file yourself (see the GitHub guide under Rooms).
Payments
There are no payment gateways — the website does not collect or process money. It only shows your guests how to pay you directly, and you record received payments in the admin. These settings control what guests see and how totals are calculated:
- Currency code / symbol — e.g. USD / $.
- Deposit % — the percent of the total required as a deposit (saved on each booking at checkout).
- Tax / GST % — added on top of room/extra prices. The guest total always includes this (e.g. 10 for Australian GST).
- Check-in / check-out time — defaults for new rooms.
- Payment instructions — the message shown to guests on how to pay you directly. Use the template dropdown above the field to prefill a common wording (bank transfer, pay by credit card over the phone, pay on arrival, or "we will contact you"), then customise it freely. Supports placeholders, e.g.
{{deposit}}. - Bank details — bank name, account name, BSB, account number, sort code, IBAN, SWIFT/BIC and notes. Shown to guests on the "How to pay" section of their booking page so they know where to send the money. Use the Show bank details checkbox to hide them (e.g. when guests pay over the phone or on arrival instead).
{{deposit}} required deposit · {{depositDue}} still to pay toward deposit · {{total}} · {{bookingRef}} · {{guestName}} · {{hotelName}}
Automatic checks & calendar links
- Unpaid bookings — the system checks your bookings automatically throughout the day. Bookings that are never paid are marked Overdue, then cancelled after the number of days set under Booking rules & safeguards, so the rooms go back on sale. There is nothing to set up.
- Room calendar links — each room has a calendar (iCal) link you can add to your own calendar app (Google Calendar, Outlook, your phone). Open a room's Calendar view and copy the link shown there.
Change admin password
Enter your current password and a new one (at least 12 characters). The password is what you type at the admin prompt.
Appearance
Choose the theme colours (primary, accent, background, surface, text, muted, border, success, warning, danger) used across your public site and admin. Save, then reload the page to apply.
11. Notification templates
Templates are grouped by direction, so it's easy to see who each message goes to:
- From Guest to Hotel — the enquiry email, SMS and WhatsApp messages guests send to you from their booking status page ("Contact us about this booking"). These default to a guest-voice message, so the wording reads as the guest asking about their booking.
- From Hotel to Guest — the messages you send guests from a booking. The email, SMS and WhatsApp buttons in a booking's edit window all use these templates (subject, body, SMS and WhatsApp confirmations), plus a Payment reminder and a Cancellation notice for chasing overdue deposits or notifying guests that a booking was cancelled.
- From Guest to anyone — the gift voucher message, shareable to any recipient (copy, email, SMS or PDF certificate).
Press Enter for a new line in any template (do not use %0D%0A).
| Placeholder | Replaced with |
|---|---|
{{guestName}} | Guest's name |
{{bookingRef}} | Booking reference |
{{checkIn}} / {{checkOut}} | Stay dates |
{{total}} | Booking total |
{{deposit}} / {{depositDue}} | Deposit amounts |
{{balance}} | Balance still to pay |
{{amountPaid}} / {{paid}} | Amount already paid |
{{status}} | Current booking status (e.g. "Awaiting Deposit") |
{{hotelName}} | Your hotel name |
{{hotelPhone}} | Your contact phone number |
{{hotelEmail}} | Your contact email address |
{{hotelAddress}} | Your hotel address |
{{statusUrl}} | Link to the guest's booking page |
{{invoiceUrl}} | Link to the guest's PDF invoice |
Gift voucher message
Used for Share / Copy / Email / SMS and the PDF certificate. Placeholders include {{code}}, {{value}}, {{cashValue}}, {{cashRemaining}}, {{roomName}}, {{roomNights}}, {{roomRemaining}}, {{issuedTo}}, {{expires}}, {{status}}, {{benefit}}, {{bookUrl}} and {{details}} (all filled fields in one block).
12. Pages
The Pages section edits the text of your public pages: About, Contact, Terms & Conditions, Privacy Policy and Cancellation Policy. Set a title and content for each, then save.
These pages appear in your site navigation and footer. Guests must tick the terms & cancellation checkboxes before they can book.
Your Contact page shows your contact details (address, phone, WhatsApp, email and website) automatically from Settings → Hotel details. Use the page content for any extra notes only — leave contact details out of it so they are not shown twice.
RoomsDirect notice
Your Terms & Conditions, Privacy Policy and Cancellation Policy pages automatically include a short RoomsDirect notice beneath your own content (with the headings "RoomsDirect notice — applies to all bookings" on the Terms and Privacy pages, and "RoomsDirect notice — cancellations" on the Cancellation Policy page). It states that the booking platform is not a party to the stay agreement, that no payment is taken online, and that the hotel is responsible for guest booking data. It also states that the hotel is solely responsible for the accuracy of its listing, and that the platform is not liable for losses or disputes arising from the stay or booking. This notice is added by RoomsDirect and cannot be edited or removed from the admin panel.
13. Reports
- Bookings by status — count and total value per status.
- Monthly revenue (paid) — paid revenue month by month.
- Room performance — room-nights sold and revenue per room.
- Extras performance — units sold and revenue per extra.
Reports are scoped to your hotel and reflect paid activity only where noted.
14. Import / Export
- Export Settings (JSON) — download all your configuration: settings, rooms, extras, discounts, vouchers and pages. Great for backups or moving between properties.
- Export Bookings (CSV) — download all bookings for spreadsheets and accounting.
- Import Settings — upload a previously exported JSON file. Existing records with matching codes/slugs are updated; new ones are added.
15. Activity log
Every important action (login, room changes, booking updates, payment records, voucher issues, setting changes) is recorded with the date, the user who did it, the action and details.
Use it to audit what happened and when. The log is read-only and never stores passwords or secret keys. Use the Previous / Next buttons to page through history.
16. The guest experience
Knowing the guest flow helps you spot issues and support guests.
- Search — guests pick check-in, check-out, adults and children on your home page.
- Rooms — available rooms turn green with the stay price; unavailable rooms show red with a reason. Unique rooms use Select; identical units use +/−. Clicking a room photo opens the gallery with the full description, capacity, icons, amenities and price.
- Extras — guests choose extras and quantities.
- Checkout — guests enter name, email, phone and any special requests, apply a discount code or gift voucher, accept terms and confirm. The total includes deposit and GST/tax where configured. No payment is taken online — the guest has not paid anything at this point.
- Confirmation — the guest is taken to their booking status page with a unique reference and link. There they see how to pay you directly: your payment instructions and bank details, plus the deposit/balance amounts. They can also download the PDF invoice, share or copy the booking, and request cancellation.
- Payment & recording — the guest pays you directly (bank transfer, cash, etc.). When the money arrives, mark the booking in your admin so it moves from Awaiting Deposit to Deposit Paid or Fully Paid.
- Find booking — guests who lose their link can re-find the booking with just their booking reference from the "Find booking" link.
Guests' in-progress booking steps are remembered in their browser (local storage), so closing the tab does not lose the draft.
17. Security best practices
- Keep the admin link and password private — never post them publicly.
- Use a long, unique password and change it regularly (Settings → Change admin password).
- Log out when you finish, especially on shared devices.
- Do not share your room calendar (iCal) links with anyone outside your team — they contain your booking details.
- Use https image URLs for the logo and room photos so images always load on your secure site (no file uploads are used).
- Export your settings JSON regularly as a backup.
- Review the Activity log periodically for anything unexpected.
18. Troubleshooting & FAQ
I cannot log in to my admin panel
- Use the exact admin URL given by the platform administrator — it contains a token. Opening just
/adminwill not work. - Check the password (it is case-sensitive).
- If the token or password was rotated, ask the administrator to regenerate your admin link or reset your password.
A guest says the room is unavailable but I can see availability
- Check blocked dates and the calendar view for that room.
- Check imported iCal feeds — a feed may have added blocked dates you did not create.
- Room capacity (max adults/children) may be below the guest's party size.
Room photos are not showing
- Only full
https://…image URLs are accepted. - Make sure the image host is reachable and the URL is not blocked from public access.
- Follow Rooms → Hosting your images on GitHub to get a direct image URL (or a jsDelivr CDN link) that works on the public website.
My images, prices or bookings look wrong on the site
- After saving Appearance colours, reload the public page.
- Room base price is per night before tax; guests see the total for their stay.
How do I refund a guest?
Open the booking and record a payment adjustment: tick This is a refund / payment adjustment and enter a negative-style amount — it is deducted from the paid total.
Do I have to set up the automatic overdue check?
No — the platform's scheduled task runs it for all hotels automatically. The Run Overdue Check button lets you trigger it immediately.
Can guests cancel their own bookings?
They can request a cancellation from their status page. You confirm or decline it from the booking in your admin.
Can guests withdraw a cancellation request?
Yes — while a request is still pending (before you confirm it), guests can withdraw it from their booking status page. The request is cleared, so the Cancel req. badge disappears from the booking list, and the withdrawal is recorded in the Activity Log so you can see it happened. A booking that has already been cancelled cannot be reinstated by the guest.