Build a hotel booking website with Claude
Every step, every prompt and every setting from the video, in the order we do them. Copy a prompt, paste it into Claude, and use your own hotel details. The demo hotel is Stonepine Lodge, a made-up mountain lodge.
Hosting and WordPress
The site runs on WordPress, and WordPress needs hosting. I use Hostinger, and the link below applies my code MRWEB automatically, so there is nothing to type in.
- Open mrweb.tv/hosting, click Claim deal and pick a plan. I use Unlimited in the video. Premium is enough for a single new site.
- Choose how long to sign up for. Twelve months or more includes a free domain for the first year.
- In hPanel, start the website setup and choose WordPress. If it offers the AI builder or templates, start from scratch, because we add our own theme.
- Set your WordPress login and save it somewhere safe.
- Claim your free domain, or use the temporary one for now and connect yours later.
- Let it install, then click through to the WordPress dashboard.
- Delete the sample page, Hello World and the default plugins. The theme only sets itself up on an empty site.
Settings before you build
- Settings, General: your site title, tagline, timezone and date format. Your booking dates and emails use this timezone.
- Settings, Permalinks: choose Post name. Claude’s connection relies on this later.
- Settings, Reading: tick Discourage search engines while you build. You untick it at launch.
- Plugins: deactivate LiteSpeed Cache while you build, so every change shows straight away. You switch it back on at launch.
- Settings, Discussion: turn comments off. A hotel site does not need them.
- Users, Profile: set your display name.
The Montana theme
Montana is a free block theme for hotels and lodges. It creates your Home, Rooms, About, Blog and Contact pages and the menu for you.
- Download the zip from the Montana page on Colorlib.
- In WordPress, go to Appearance, Themes, Add New Theme, Upload Theme, and upload the zip.
- Activate it, then open Pages to see what it created.
MotoPress Hotel Booking
MotoPress Hotel Booking looks after your rooms, rates, bookings, calendar and payments. Get it from mrweb.tv/hotel-booking, then install and activate it. It adds its own booking pages, including search results, checkout and your account page. Then set your currency under Accommodation, Settings, General.
Connect Claude to your website
Claude connects to WordPress through the Easy MCP AI plugin. You can connect on Claude’s free plan. For a full build like this one, use the Pro plan for the month you are building and cancel it afterwards.
- Install and activate the Easy MCP AI plugin.
- Switch on the two design tools.
- Copy the connection URL.
- In Claude, go to Settings, Connectors, and add a custom connector with that URL.
- Approve it. Stay on the approval screen for a moment, because this is where you choose exactly what Claude can change.
Then check the connection with this first prompt.
You’re now connected to my WordPress website. Before we change anything, take a look around and tell me what you can see: the theme, the pages, the plugins that are installed, and whether you can see the MotoPress Hotel Booking plugin.
Rooms and prices
This one prompt sets up the seasons, services, amenities, room types, rooms and prices. It tests that each item saves before it builds anything, shows you the plan, and waits for your go-ahead.
This is Stonepine Lodge, a small rustic timber-and-stone mountain lodge. Using the MotoPress Hotel Booking plugin, we’re going to set up our room catalogue in this order: 1. Seasons: * Winter, from 15 December to 31 March. * Standard, from 1 April to 14 December. Apply both to every day of the week and set them to repeat annually. 2. Services: * Breakfast: 15, periodicity Per Day, charged Per Adult. * Ski storage: free (price 0), periodicity Once, charged Per Accommodation. 3. Amenities: Free Wi-Fi, Ensuite, Tea & coffee, Hairdryer, Heating, Mountain view. 4. Bed types: King bed, Single bed, Double + 2 singles. 5. Accommodation types: * Double Room: 8 accommodations, 2 adults, 0 children, King bed. * Single Room: 4 accommodations, 1 adult, 0 children, Single bed. * Family Room: 2 accommodations, 2 adults, 2 children, Double + 2 singles. Write a short, warm description for each. Set the view to Mountain view, tick all the amenities, and add both services. 6. Rates, one per accommodation type, with a price per night for each season: * Double: Winter 190, Standard 140. * Single: Winter 130, Standard 95. * Family: Winter 280, Standard 210. Before you plan anything, test that you can actually save each kind of item: create one test version of each with every field filled in as above, check it saved correctly, then delete it. Then show me the plan, and list clearly anything that failed the test so I can do it by hand first. Wait for my go-ahead before creating the real catalogue.
Swap in your own hotel, room types and prices. Then open Accommodation in WordPress and look through what Claude created.
Design and pages
Two prompts, one after the other. Refresh the site after each so you can see what changed.
Restyle the website for Stonepine Lodge, a small family-run timber-and-stone mountain lodge. Use forest green, stone grey and warm wood tones, an elegant heading font with a clean, easy-to-read body font, and set the site title to Stonepine Lodge with the tagline “A family-run mountain lodge”. Make sure the buttons, menu and footer all match the new style.
Now rewrite the homepage and the About and Contact pages for Stonepine Lodge, in a warm, friendly tone. Replace the theme’s demo images with free stock photos that suit a rustic mountain lodge (timber, stone, snowy peaks, cosy rooms), and tell me if you can’t add photos so I can upload my own. Use made-up contact details I can swap later. Then replace the theme’s enquiry form with the MotoPress availability search, so guests can pick dates and book. Put the MotoPress room listing on the Rooms page, style both to match the lodge, and tidy the menu so it shows Home, Rooms, About and Contact.
The theme’s enquiry form only emails you. The MotoPress search takes a booking and a payment, which is why it replaces it.
Booking settings
Go to Accommodation, Settings, General. This is where you decide how bookings work. Here is what I set, in the order the sections appear.
| Section | What to do |
|---|---|
| Pages | Leave the pages MotoPress created. Create a Terms and Conditions page with your cancellation policy and house rules, publish it and select it here. Tick the box to open the terms in a separate window. |
| Booking Confirmation | Choose Confirmation upon payment. The booking is confirmed the moment the guest pays. |
| Accounts | Choose whether guests get an account automatically, get a checkbox at checkout, or can log in as returning guests. |
| Search Options | Set max adults and max children to match your biggest room. For us that is 2 adults and 2 children. |
| Currency | Set your currency. |
| Misc | Set your real check-in and check-out times. They appear in the confirmation email. |
| Disable Booking | Tick this and write a message when you need to stop taking bookings. The message replaces the booking form. |
| Display Options | Leave template mode on theme mode, so MotoPress uses your theme’s styling. |
| Calendars Synchronization | Use this if you also list rooms on Booking.com or Airbnb. Bookings sync both ways, so you never get double-booked. |
Click Save Changes.
Guest email
Go to Accommodation, Settings, Customer Emails. Of the five, the Approved Booking Email is the one every guest reads after they pay, so that is the one to rewrite. Leave the others as they are. The Email Tags dropdown under the editor is where the % tags come from.
Your stay at %site_title% is confirmed
You're all booked in
Hi %customer_first_name%, thanks for booking with us, we can't wait to welcome you. Your booking number is %booking_id%. Check-in is %check_in_date% from %check_in_time% and check-out is %check_out_date% by %check_out_time%. %reserved_rooms_details% Your total is %booking_total_price%. Ski storage is free, and breakfast is $15 per adult per day if you'd like it. %cancellation_details%
Change the lodge details to your own and save.
Payments
We set this part up ourselves. Your payment details should never be shared with an AI.
- Go to Accommodation, Settings, Payment Gateways and open Stripe.
- Keep it in sandbox mode, which is practice mode with no real money, and add your Stripe keys.
- Switch on Apple Pay and Google Pay, then set up the webhook and your domain as the settings screen shows.
- In your Stripe dashboard you can also switch on local payment methods next to cards. They show up at checkout straight away, with nothing to change in WordPress.
For test payments, use Stripe’s test card 4242 4242 4242 4242, any future expiry date and any three-digit security code.
Hold a payment, charge it later
With Stripe authorization, the guest’s card is held when they book and you decide later whether to take the payment or release it. Here is how to switch it on.
- Go to Accommodation, Settings, General and set Confirmation Mode to Confirmation upon payment. Save.
- Go to Accommodation, Settings, Payment Gateways, Stripe, and set Charging Method to Manual. Save.
- Leave ACH and iDEAL off. They do not support holding a payment.
- Make a test booking. The booking shows as Pending admin, and the payment shows as Awaiting charge in Payment History.
- Open the payment, either in Payment History or by clicking the payment ID inside the booking. Under Reserved Funds you see a Reserved till date.
- Click Charge now to take the payment. The booking becomes Confirmed and the guest gets the confirmation email.
- Or click Return funds to release the hold. The guest is not charged, but the booking stays active, so change its status yourself.
Test booking and calendar
- Open a private browser window and go to your homepage.
- Pick your dates, choose a room, add breakfast and pay with the Stripe test card.
- Check the confirmation page and the confirmation email with the booking number.
- Back in WordPress, open Accommodation, Bookings to see it in the list, then the reports page for the money coming in.
- Open the new calendar. See who is staying tonight, add a phone booking by dragging across dates, block a room for repairs, and change the price of a single night right in the calendar.
Going live
Two settings from step 2 need switching back.
- Settings, Reading: untick Discourage search engines, so Google can find your hotel.
- Plugins: reactivate LiteSpeed Cache, so the site loads fast for your guests.
- Make one more test booking to check everything still works with the cache on.
Before you launch, read through the descriptions and prices Claude wrote, and swap in your own photos.

