BookMyStay | Multi-Branch Hotel Booking App with Admin Panel
Hotel Booking App + Booking Website + Web Admin Panel in one package | Built for hotels, resorts and
guest houses with one or many properties | 10 Payment Gateways + Pay at Hotel + Guest Wallet | 5 Languages
with RTL | Full Source Code
BookMyStay is a complete online hotel booking system. Guests book rooms on your
website or in your Android and iOS app, see live availability, pay online, at the
hotel or from their wallet, and manage every stay from their account. Your team runs the whole business —
properties, rooms, rates, bookings, check-in and check-out, coupons, taxes, reviews, emails, push notifications and
branding — from one web Admin Panel, and each branch manager sees only their own property.
Built for independent hotels, hotel chains and resort groups, guest houses and homestays with several properties,
agencies building for hospitality clients, and entrepreneurs launching a direct-booking platform with no OTA
commission.
Quick Facts
- 3 apps from one codebase — Customer Website, Customer App (Android and iOS) and a Web
Admin Panel
- Unlimited properties — room types, floors and numbered rooms per branch
- Live availability checked on the server, a 30-minute room hold while the guest pays, no double
bookings
- 10 payment gateways, Pay at Hotel and a guest wallet — every method switchable from the
panel
- Roles and permissions across 25 modules; branch managers are limited to their own property
- 12 editable email templates, push notifications, PDF invoices, coupons, taxes and cancellation
policies
- 5 languages including RTL Arabic, light and dark mode, live rebranding with no rebuild
- Starter database included — demo hotels, rooms, coupons, banners and emails imported
with one command
- 100% unobfuscated source code and step-by-step documentation for technical and non-technical
buyers
Please note: BookMyStay runs on a pay-as-you-go cloud backend and integrates third-party payment
gateways that need your own merchant accounts and charge their own fees. These services bill you directly and are
not included in the item price — see “Technology Stack and Requirements” and “Third-Party
Service Costs” below.
Important Notice
Beware of scams and fraud: This product is officially sold only through the Envato Marketplace (CodeCanyon). Do not purchase from
unauthorized sources or third-party resellers.
Live Demo and Demo Instructions
Admin Panel
Open the fully working Admin Panel and explore every module:
The demo panel runs in read-only demo mode: you can open every screen, but saving is switched off so the demo
stays intact for everyone.
Customer Website
Search, compare rooms and walk through checkout in your browser:
Android APK Download
Install and test the customer app on an Android device:
iOS TestFlight Link
Install and test the customer app on an iPhone or iPad via TestFlight:
Note: Install the TestFlight app on your iOS device before opening the link. Test payments in the
demo use the gateways’ sandbox mode — no real money is charged.









Why Hotels Choose BookMyStay
Booking portals keep 15–25% of every stay. Phone and WhatsApp bookings end in double bookings because nobody
has one live picture of which rooms are free. Payments arrive by bank transfer and are matched by hand, and refunds
turn into arguments. BookMyStay replaces all of that with a direct-booking platform you own: a
guest picks dates and sees live availability, the server prices the stay and verifies the payment with the gateway
before the booking is confirmed, the rooms are held for 30 minutes while they pay, confirmation and check-in
reminder emails go out by themselves, and the front desk sees every arrival, departure and occupied room for today
on one dashboard.
- Keep the commission — direct bookings on your own website and app, with your own
payment gateways
- Never double-book — availability is checked on the server for every booking, with a
timed hold while the guest pays
- Get paid properly — server-verified payments, Pay at Hotel for walk-in style guests, a
wallet for refunds and top-ups
- Run every property from one place — unlimited branches, with managers limited to their
own property by roles and permissions
- Launch fast — import the included starter database and the platform looks alive on day
one
- Rebrand without rebuilding — app name, colours, Google Font and light/dark logos per
platform, changed live from the Admin Panel
Key Features
- 3 apps from one codebase — Customer Website, Customer Android and iOS App, and a
responsive Web Admin Panel
- Unlimited branches — room types, floors and numbered rooms per property, each with its
own time zone, check-in / check-out times, amenities and rules
- Real-time availability — free rooms per date range calculated on the server; rooms are
held for 30 minutes during online payment and released automatically
- Server-side payment security — the server prices every stay, opens the gateway and
verifies the payment server-to-server; gateway secret keys never reach the apps
- 10 payment gateways + Pay at Hotel + Wallet (each gateway needs your own merchant
account and charges its own transaction fees — see “Payment Gateways” below)
- Guest wallet — refunds land in it, guests can top it up with any enabled gateway and
spend it in full or in part at checkout; the top-up feature has its own on/off switch in the panel
- Complete front-desk flow — check-in, check-out, room assignment, payment status,
refunds to wallet, internal notes and a “Check payment” button for guests who paid but never came
back to the site
- Coupons, taxes and cancellation policies — percentage or fixed coupons with limits and
schedules, taxes per country and property type, and day-wise refund tiers per country
- Roles and permissions — view / create / edit / delete across 25 modules; branch managers
see only their own branch, enforced on the backend too
- 12 editable email templates — booking received, confirmed, cancelled, payment received,
refund, check-in reminder, checked in / out, welcome and staff emails, all with a send-test button
- Check-in reminders in the hotel’s own time zone — sent at 9 AM local time the day before
arrival, per booking, with no scheduled jobs running in between
- Push notifications to guests, branch staff or all staff, with an in-app inbox
- PDF invoices guests can download or print, with RTL layout for Arabic
- 3 login methods — Email and Password, Phone OTP, and Google Sign-In
- Live rebranding — app name, primary colour, Google Font and light/dark logos for the
panel, the website and the app, changed from Settings with no rebuild
- 5 languages out of the box including RTL Arabic, plus a 30-language catalog for your own
content; light and dark mode everywhere
- Starter database included — import ready-made demo hotels, rooms, coupons, banners and
email templates with one command
- Low running cost — no always-on server, no cron jobs, photos compressed on upload
- 100% unobfuscated source code, cleanly structured and commented
Customer Website and Mobile App (Android and iOS)
One project builds the public website and the phone app, each with its own layout — a real mobile design,
not a shrunken website.
Onboarding and Authentication
- Configurable onboarding slides with separate light and dark images (editable from the Admin Panel)
- Sign in with Email and Password, Phone number + OTP, or Google
- Profile and personal details, change password, and in-app account deletion (store-policy ready)
- Browsing is open to everyone; signing in is required only to book
Finding a Stay
- Home with promo banners, featured properties, hotel services, how it works and guest reviews
- Search by destination, check-in / check-out dates, rooms, adults and children — carried across the whole
app
- Property list with a price-range slider and multi-select amenity filters
- Sort by price (low to high, high to low) or highest rated
- Property detail — photo gallery, overview, room types, amenities, house rules, location map, policies and
reviews
Booking a Room
- Pick dates and guests — room types show live availability for exactly those nights
- Choose a room type and the number of rooms
- Apply a coupon — the discount and every tax show live in the price summary
- Optionally tick “Use wallet balance” to pay all or part of the stay from the wallet
- Pay with any enabled gateway, or choose Pay at Hotel
- The payment is verified on the server and the booking is confirmed — emails go out automatically
My Account
- My Bookings — upcoming, completed and cancelled, with full booking details
- PDF invoice for every booking — download or print
- My Wallet — balance, add money with any gateway, refunds and full transaction history
- Transactions — every payment made for bookings
- My Vouchers — the coupons available to the guest
- Notifications inbox, synced with push
- Rate and review a stay after checkout
More
- 5 languages (RTL supported) and light / dark theme, remembered per device
- Help and Support with searchable FAQs, Contact Us form, and policy pages — all content driven from the
Admin Panel
- Custom 404 page, PWA manifest and web push worker for the website
Web Admin Panel
The Admin Panel is the operator’s view of the whole business — 30 modules, every one documented with real
screenshots.
- Dashboard — total revenue, bookings, refunds, rooms and guests; today’s check-ins,
check-outs and occupied rooms; revenue by branch, top performing rooms, booking overview chart, recent bookings
and a first-run setup checklist
- Bookings — filter, view, check in, check out, cancel, record payments and refunds, verify
a gateway payment, refund to the guest’s wallet, assign physical rooms, and keep internal notes
- Branch Management — unlimited branches with address, map location (Google Maps or
OpenStreetMap), photos, contact details, check-in / check-out times, time zone, star rating, amenities and
rules
- Room Types, Rooms and Room Inventory — a global room-type catalog, rooms per branch with
pricing, weekend rates, capacity and photos, and floors with numbered room units
- Guests — profiles, booking history, wallet, activate or block
- Managers and Staff with Roles and Permissions — a view / create / edit
/ delete matrix across 25 modules; branch-scoped roles see only their own property
- Coupons — percentage or fixed, minimum booking amount, maximum discount, schedule
window, total and per-guest usage limits
- Taxes — per country and property type, percentage or fixed, applied at checkout
- Cancellation Policies — per country: cutoff time and “N days before check-in
→ x% refund” tiers
- Countries, Cities, Amenities, Property Types and Property Rules — the catalog every
branch is built from
- Reviews — read guest reviews and reply as management; ratings are totalled
automatically
- Customer Inquiries — contact-form messages with new / read / resolved status and email
reply
- Marketing and Content — home banners with targets, landing page sections (Why Choose
Us, Hotel Services, How It Works, Guest Reviews, Footer with social links), About Us, Help and Support topics,
and onboarding slides
- Push Notifications — compose and send to customers, one branch’s staff or all staff;
re-send, filter and review history
- Email Templates — 12 templates with editable subject and HTML body, on/off per template
and a send-test button
- Payment Gateways — keys, enable switch, sandbox/live toggle and a “Test
keys” button per gateway, plus the Wallet Top-up on/off switch, all from the panel
- Settings — Language, App Theme (branding per platform), Notifications, Map (Google Maps
or OpenStreetMap), Currency, Tax Management, SMTP, Email Templates, Cancelling Reasons, Help and Support,
Contact Us, Payment Gateways
- Policies — rich-text Cancellation and Refund, Terms and Conditions, Privacy and Platform
policy pages
- Multi-language content — every name, description and label you type is stored per
language, with a content-language switcher in the top bar
Bookings and Payments — Built for Real Money
The booking path is where hotel scripts usually cut corners, so BookMyStay treats it as the core of the product:
- Server-side pricing — nights, weekend rates, room count, taxes and the coupon are
calculated on the server; the app never decides the amount
- Server-side availability — every booking is written inside a transaction that re-checks
the free rooms for those nights, so two guests can never take the last room
- Timed hold — rooms are held for 30 minutes while the guest pays online and released
automatically if the payment is abandoned
- Gateway verification — the booking is confirmed only after the gateway’s own API confirms
the amount, the currency and the payment reference; landing on a “success” URL proves nothing
- Secrets stay on the server — gateway secret keys live in an admin-only settings record;
the apps read a copy with the secrets stripped out
- Wallet done right — wallet money is taken first and returned automatically if the
online payment for the rest does not go through; refunds and top-ups are credited only after verification
- One active currency — set it once in Settings and every price, wallet balance, email
and gateway charge follows it
Payment Gateways
Ten online gateways are integrated so you can collect payments in most markets — each can be enabled, set to
sandbox/live, tested and configured with your keys directly from the Admin Panel:
- Stripe
- PayPal
- Razorpay
- Paystack
- Flutterwave
- Mercado Pago
- PayFast
- Midtrans
- Xendit
- Orange Money
In addition, Pay at Hotel lets guests reserve now and pay at check-in, and the
Wallet pays bookings from refunded or topped-up balance. The checkout automatically offers only
the methods you have switched on.
Please note: payment gateways are independent third-party services. To accept payments you must
open your own merchant account with each gateway you want to use (subject to the provider’s
approval process and availability in your country), and every gateway charges its own per-transaction
fees according to its pricing. These fees are billed to you directly by the payment provider and are
not included in the item price — see the “Important: Third-Party Service Costs”
section below for details.
Languages
Five UI languages are included: English, Arabic (RTL), French, Hindi and Swedish. Guests pick their language
in-app and the choice persists; RTL applies to the layout, the icons and the PDF invoice. Your own content
— property names, descriptions, amenities, rules, emails — can be entered in any of 30 languages from
the Admin Panel. Adding a new UI language is one translation file, documented step by step.
Security
- Secure sign-in — Email and Password, Phone OTP and Google Sign-In
- Deployed database and storage security rules covering every collection — the same roles and
permissions the Admin Panel shows are enforced on the backend
- Payments verified server-to-server — the client is never trusted with money
- Gateway secret keys readable only by admins with Settings access; the apps receive a secret-free copy
- First-admin bootstrap that locks itself after setup — the first sign-in becomes Super Admin, and the
login page never creates accounts again
- Encrypted data transmission (HTTPS/TLS) throughout
Technology Stack and Requirements
Technology Stack
- Customer Website and App — Flutter 3.x (Dart), one codebase for Web, Android and iOS
- Admin Panel — Flutter Web, responsive
- Backend — Google Firebase: Authentication, Cloud Firestore, Cloud Storage, Cloud
Messaging, Cloud Functions (Node.js 22) and Cloud Tasks; a managed backend with no server of your own to
maintain
- Payments — server-to-server integration with 10 gateways
What You Need Before You Start
- Flutter SDK 3.x (latest stable) with Dart, Android Studio with the Android SDK, and Xcode on macOS (only for
the iOS build)
- Node.js 22 LTS for the backend deploy and the database import — installation is covered step by step in
the documentation
- A Firebase project on the Blaze (pay-as-you-go) plan — required for Cloud Functions and
phone OTP sign-in
- Web hosting for the Admin Panel and the Customer Website — any Apache / LiteSpeed host such as Hostinger
or cPanel (an .htaccess is included), a VPS, or Firebase Hosting — plus a domain with SSL (payment
gateways return guests to your website)
- An SMTP mailbox for booking emails — a Gmail app password, Zoho, SendGrid, Mailgun or your host’s email
- Google Maps API key — optional; the built-in OpenStreetMap option needs no key
- Google Play Console account (one-time $25 fee) and Apple Developer account ($99/year) to publish the app
- Basic familiarity with Flutter and cloud project configuration is recommended
Important: Third-Party Service Costs
Please note: BookMyStay integrates with external services that are billed separately by their
providers. These costs are not included in the item price and depend on your usage volume:
- Cloud backend (Google Firebase, Blaze plan) — pay-as-you-go: costs scale with database
reads/writes, photo storage and function usage. The system is built to stay light — no scheduled jobs, no
always-on server — and small and medium hotels typically stay within the free tier
- SMS / OTP verification — phone sign-in SMS messages are charged per message by the
backend provider
- Payment gateways — Stripe, PayPal, Razorpay and the other gateways charge their own
per-transaction fees; each requires your own merchant account and approval, and availability varies by
country
- Google Maps — optional; if you choose Google Maps over OpenStreetMap, usage is billed
by Google according to its Maps Platform pricing
We recommend reviewing the pricing pages of these services for your country and expected traffic before launching
commercially.
Who Is BookMyStay For?
- Independent hotels that want direct bookings without OTA commission
- Hotel chains and resort groups with several branches
- Guest houses, boutique stays and homestay operators with more than one property
- Serviced apartments and hostels selling rooms by the night
- Agencies building a booking platform for hospitality clients
- Entrepreneurs launching a branded hotel-booking product in their region
What’s Included in the Package
- Customer application — Website + Android + iOS from one source
- Web Admin Panel (full source)
- Backend functions (pricing, payments, availability, wallet, emails, push — full source)
- Database and storage security rules
- Starter database with demo content + one-command import/export scripts (subcollections included)
- Full documentation (HTML and PDF) — step-by-step installation from a brand-new project to store
publishing, console and terminal illustrations at every step, the exact Admin screen for every setting,
payment gateway guide, iOS guide, developer guide and troubleshooting — written for technical and
non-technical buyers alike
Regular Updates and Improvements
We update BookMyStay regularly to keep it stable, secure, and current with platform updates and payment gateway
requirements. Suggestions from buyers are considered for future versions.
Support
The package includes documentation that walks through setup and configuration. If you hit a technical problem or a
bug after purchase, you can reach us by email or through our ticket system, in line with the Envato Item Support
policy.
Refund Policy
Please review the item description, features, and compatibility details carefully before purchasing, as this is a
digital product. Refunds are handled in accordance with the Envato
Market Refund Policy. If you encounter any technical issue or bug, we are committed to helping you resolve
it through our support channels.
Note
The source is modular, cleanly structured, and commented. Changing the app name, branding, colours and even fonts
takes very little effort — most of it happens live from the Admin Panel with no rebuild — and the
managed backend needs no separate server to maintain. The codebase is designed to be extended and scaled as your
hotel business grows.
Version 1.0
- Initial release