If you run a 20-room boutique hotel in Al Seef, a set of serviced apartments in JBR or a heritage guesthouse in AlUla, you probably know the numbers by heart. Every booking that arrives through an online travel agency costs a commission, often somewhere between 15 and 25 percent. And the guest who booked through the platform belongs to the platform: you get a masked email, no way to invite them back, and a review score you don't control.
A direct-booking website doesn't replace the platforms. They're where new guests find you. What it does is give returning guests, corporate clients and people who found you on Instagram or Google Maps a way to book without that commission. It also gives you a guest list you own.
This post walks through building one, step by step, with the actual prompts I'd type into an AI app builder. I work on one of them (Mythex), so I'll use it for the examples, but the structure and the decisions apply whatever you build with.
What a hotel site actually has to do
Most hotel websites are brochures: photos, a map, a phone number and a "Book now" button that opens a WhatsApp chat. That works until you have more than a handful of rooms. Then the front desk spends the day answering "is there a sea-view room on the 14th?" by hand.
A site that really takes bookings has to do five jobs:
- Show rooms and live availability, per room type and per night, so guests can answer the "is it free?" question themselves.
- Price correctly: weekend vs. weekday rates (and in the Gulf the weekend is Friday–Saturday, or Saturday–Sunday in the UAE since 2022), seasonal rates for winter and Eid, minimum stays, and taxes and fees shown up front.
- Take the booking: guest details, special requests, and either an online payment or a clear "pay on arrival / bank transfer" rule.
- Work in Arabic and English. Not a translated afterthought, but a right-to-left layout that reads naturally, because a large share of Gulf domestic travel is booked in Arabic.
- Give staff a back office: today's arrivals and departures, which rooms need cleaning, and a way to block rooms for maintenance or for bookings that came in by phone.
The fifth job is where generic website builders usually stop. A page builder can make the first four look good; it can't give your housekeeping lead a list of rooms to turn over by 2pm.
Step 1: Describe the hotel, not the website
The most common mistake with AI builders is starting with design ("a luxury hotel website with a gold theme"). Start with how the hotel works instead. The design is easy to change later; the data model isn't.
Here's a first prompt for a fictional 18-room hotel:
Build a booking website for a boutique hotel in Dubai with 18 rooms in 4 room types: Classic (8 rooms), Deluxe (6), Junior Suite (3) and Family Suite (1). Each room type has photos, a description, max guests, bed type and amenities. Guests pick dates and number of guests, see which room types are available for every night of the stay with the total price, and book. Prices are per night per room type, with a different rate on Saturday and Sunday nights. Show prices in AED including VAT and the Tourism Dirham fee as separate lines. The site must work in English and Arabic, with full right-to-left layout in Arabic and a language switch in the header.
Notice what's in there: the rooms inventory (how many of each type), the pricing rule, the tax display and the language requirement. Each of those is a decision you'd otherwise discover halfway through.
Check the result with a real stay: two adults, three nights, Thursday to Sunday. Does the total match what you'd charge at the desk? If not, say so in plain words: "The Saturday rate should apply to Friday and Saturday nights, not Saturday and Sunday."
Step 2: Add the rules that protect you
Once basic booking works, add the rules your front desk applies without thinking:
Add seasonal rates: from 15 December to 10 January, rates are 40% higher. Add a minimum stay of 2 nights on Friday and Saturday arrivals. Let staff close a room type for specific dates. Hold a booking as "pending" for 30 minutes while the guest completes payment, then release the room if payment isn't completed.
That last rule matters more than it looks. Without a hold, two guests can book the last Deluxe room at the same moment. With a hold that expires, you never sell the same room twice from your own site.
Step 3: Decide how guests pay
There are three common choices in the Gulf, and the right one depends on your guests:
- Pay at the hotel. The simplest option, and fine for returning guests and corporate accounts. Ask the AI to require a phone number and to send a confirmation the guest can show at check-in.
- Bank transfer within 24 hours. Common for longer stays and family bookings. Add an "awaiting transfer" status and a staff button to mark it paid.
- Online card payment. Needs your own account with a payment provider. Which providers you can use depends on your country and bank: Stripe works for UAE businesses, while hotels in Saudi Arabia usually use a regional gateway (Tap, PayTabs, HyperPay and others). Ask the builder to add checkout with the provider you've opened an account with, and test it in the provider's test mode before going live.
A reasonable starting point is pay-at-hotel plus bank transfer, with card payment added once the rest works.
Step 4: Build the back office
This is the part that saves staff time. A prompt:
Add a staff area that only signed-in staff can open. It shows today's arrivals and departures, in-house guests, and a 14-day grid of rooms by night with each booking as a block. Staff can create a booking by hand (for phone and walk-in guests), assign a specific room number to a booking, mark a booking as checked in, checked out or no-show, and block a room for maintenance. Add a housekeeping view listing rooms to clean today, which the housekeeping lead can tick off from a phone.
Then add the guest list you couldn't get from the platforms:
Keep a guest record for each guest with their stays, nationality, preferred language, and notes like "prefers high floor". Let staff export guests who agreed to marketing to a CSV.
Collect marketing consent explicitly at booking. In the UAE and Saudi Arabia, personal-data laws (the UAE PDPL and the Saudi PDPL) expect a clear basis for using guest data, so a consent checkbox is the honest default.
Step 5: Arabic, properly
If you included Arabic in the first prompt, check three things:
- Direction. The whole layout should mirror in Arabic: the date picker, the price breakdown, and the arrow on the "Next" button.
- Numbers and dates. Decide whether Arabic pages show Western digits (1, 2, 3), which most Gulf hotel sites use for prices, or Arabic-Indic digits. Pick one and tell the builder.
- Real copy. Machine translation of room descriptions reads like machine translation. Write the Arabic room names and the first paragraph yourself, or have a native speaker review them, and paste them in.
Mythex builds the whole app in Arabic as well as English, including the staff area, which helps if your front desk works in Arabic.
Step 6: Publish on your own domain
When the booking flow works end to end (search, book, confirm, staff sees it, housekeeping sees it), publish it. Connect your own domain (for example book.yourhotel.ae) so the booking page sits next to your existing site, or replace the site entirely. Then:
- Link it from your Instagram bio and your Google Business Profile's booking or website link.
- Put the direct-booking link in your WhatsApp Business auto-reply, so the "is there a room?" question gets an instant answer.
- Give returning guests a reason to book direct that doesn't break your platform agreements: a welcome drink, late checkout, or free airport pickup tend to work better than price cuts.
The honest limits
A custom booking site does a lot, but be clear about what it doesn't do on its own:
- It isn't a channel manager. If the same rooms are also on Booking.com, Airbnb or Expedia, you need availability to stay in sync. Smaller properties sometimes manage with calendar (iCal) sync, which some platforms offer for some property types, or by allocating a fixed number of rooms to direct bookings. A busy hotel with many channels usually needs a proper channel manager or PMS, and your site should then take availability from it. Decide this before launch, not after the first double booking.
- Regulatory details are yours. Tourism licence numbers, guest registration requirements and the exact fees to show depend on the emirate or region and change over time. Check with your regulator and tell the builder what to display.
- Someone owns it. Rates change, photos get updated, a new room type opens. Plan for one person who makes those changes. With an AI builder they're plain-language requests, not developer tickets, but someone still has to make them.
- Test the money paths twice. Make test bookings for every payment option, every room type and a stay that crosses a rate change, and check the totals by hand.
For hotel groups and management companies
If you manage several properties, or a team of people works in the back office, access control starts to matter. Your revenue manager shouldn't share a login with the night auditor, and guest passport details shouldn't be visible to anyone with a link.
On Mythex's Business plan the staff area can be members-only, so only signed-in people in your team workspace can open it. Each member has a role, and sign-in can go through your company's Google Workspace domain. If you run several hotels, a separate project per property keeps each hotel's data apart while one team manages them all.
The hotel website builder page has a starting prompt you can copy, and plans are on the pricing page. The Free plan is enough to try steps 1 and 2 and see whether the result fits how your hotel works.
Wherever you build it, start with the back office, not the homepage. The guest-facing pages are what people notice, but the arrivals list and the housekeeping view are what your team will use every day.
If your hotel has a pricing or booking rule that doesn't fit the prompts above, describe it in the comments and I'll suggest how to phrase it.
Top comments (0)