Modern Hotel Booking — WordPress Hotel Booking Plugin Logo

Modern Hotel Booking

How to Add Room Types to Your WordPress Hotel Booking Plugin

Add Room Types WordPress Hotel Booking — Free Setup Guide

Configure your hotel’s room types and individual rooms in 8 steps — free, unlimited rooms, no restrictions. This guide covers the two-tier room structure, capacity settings, amenities, pricing, and how to display your rooms on your WordPress site using native Gutenberg blocks.

⏱️ Setup time: 15–30 minutes

Version: Free — unlimited rooms

🏨 Works for: Hotels, B&Bs, guesthouses, vacation rentals

📅 Last updated: July 2026

Add room types WordPress hotel booking plugin — Room Types setup panel showing title, capacity, amenities and pricing configuration
Hotel Booking → Room Types → Add New — configuring a room type with capacity, amenities, and base rate

✅ Completely free. Room types, individual rooms, capacity limits, amenities, and base pricing are all available in the free version of Modern Hotel Booking. No Pro licence required. Unlimited room types. Unlimited individual rooms. Pro adds advanced seasonal pricing rules and automatic iCal sync.

Understanding the Two-Tier Room Structure Before You Add Room Types

When I was setting up beachhouse.ro, this was the part that wasn’t immediately obvious. Modern Hotel Booking uses a two-tier system: Room Types and individual Rooms. They serve different purposes and both are required for bookings to work.

🏷️

Room Type (the template)

Defines the shared properties of a group of identical rooms: the name, description, photos, base nightly rate, capacity limits, and amenities. Think of it as the marketing container.

Example: “Sea View Double” — all the details that apply to every Sea View Double room at your property.

🛏️

Individual Room (the physical unit)

A specific physical room assigned to a Room Type. Each individual room tracks its own availability independently — preventing double bookings when multiple guests try to book the same dates.

Example: “Room 101”, “Room 102”, “Room 103” — each assigned to the Sea View Double type, each with its own availability calendar.

💡 Plan before you build. Before opening the WordPress admin, write down your room types and how many physical rooms belong to each. A property with 3 room types and 8 rooms total takes about 15 minutes to set up fully. Going in without a plan takes three times as long. On beachhouse.ro I have one room type and one individual room — single property, straightforward. If your setup is more complex, the planning step saves significant time.

Steps 1–6: Add Room Types to Your WordPress Hotel Booking Setup

Create a Room Type for each distinct category of room at your property. If all your rooms are identical, you need one Room Type. If you offer double rooms, family rooms, and suites, you need three. Complete all steps for one Room Type before moving to the next.

1

Open Room Types and create a new entry

In your WP admin go to Hotel Booking → Room Types → Add New. This opens the room type editor — a standard WordPress post editor with additional custom fields for hotel-specific configuration.

2

Enter the room type name and description

Enter a clear, guest-facing title — this is what guests see on your booking page. Use descriptive names like Sea View Double rather than internal codes like SVD01. Add a description in the content area: what makes this room type distinct, what guests can expect, any notable features. This is your sales copy — write it for the guest, not for internal use.

3

Set the base nightly rate

Enter your standard nightly rate in the Base Price field. This rate applies to every individual room assigned to this type and appears on your booking page. This base rate is a free feature. If you need different rates for peak season, school holidays, or weekends, see the Pricing section below — seasonal pricing is a Pro feature.

4

Configure capacity limits

Set the maximum occupancy for this room type. Three fields to configure:

  • Max Adults — maximum number of adults allowed
  • Max Children — maximum number of children (if your property accepts children)
  • Total Capacity — the absolute maximum guests regardless of adult/child mix

These limits are enforced at checkout — guests cannot select guest numbers exceeding your capacity settings. If you don’t accommodate children, set Max Children to 0.

5

Select amenities and add photos

In the amenities panel, tick everything that applies to this room type — WiFi, Air Conditioning, Pool Access, Parking, Breakfast Included, Balcony, Sea View, Private Bathroom. Custom amenities you’ve created (see Custom Amenities below) appear here too.

Then add photos. Use the Featured Image for the primary room photo — this is the image guests see in listings. Use the Gallery field for additional photos. Minimum recommended size: 1200px wide. Good photos are the single highest-impact thing you can do for booking conversion — don’t skip this step.

6

Publish and repeat for each room type

Click Publish. The room type is now ready to have individual rooms assigned to it. Go back to Hotel Booking → Room Types → Add New and repeat steps 1–6 for every distinct room type at your property. Complete all your room types before moving to individual room setup in Step 7.

Step 7: Add Individual Rooms to Each Room Type

With your room types published, add the physical rooms. Each individual room entry represents one bookable unit — one room that guests can reserve. This is the level at which availability is tracked, so double bookings are prevented automatically.

7

Go to Rooms → Add New and assign the room type

Go to Hotel Booking → Rooms → Add New. Enter the room name or number — for example Room 101, Beach Bungalow A, or simply Studio 1. Then:

  1. Select the parent Room Type from the dropdown — this assigns the room to its category and inherits all the shared properties (rate, amenities, capacity, description, photos)
  2. Click Publish — the room is now in the active availability pool and can be booked
  3. Go back to Hotel Booking → Rooms → Add New and repeat for every physical room at your property

For a property with 3 room types and 8 rooms total, this step takes around 5 minutes. For a single vacation rental like beachhouse.ro — one room type, one room — it’s under a minute.

⚠️ Common mistake: Publishing a Room Type without adding any individual rooms. The Room Type appears on your site but cannot be booked — the booking system has nothing to allocate. You need at least one individual room assigned to each Room Type before guests can make a reservation.

Step 8: Display Rooms on Your WordPress Hotel Booking Site

With room types published and individual rooms assigned, the final step is displaying them on your site. Modern Hotel Booking includes native Gutenberg blocks — no shortcodes required. Two blocks handle room display:

🏨

Hotel Booking — Rooms Block

Displays all published room types in a listing format — photos, description, rate, capacity, amenities, and a Book Now button. Add this block to your rooms page or homepage.

Search for Hotel Booking Rooms in the block inserter.

📅

Hotel Booking — Calendar Block

Displays an availability calendar for a specific room type. Guests can see which dates are available and initiate a booking directly. Add this to individual room pages.

Search for Hotel Booking Calendar in the block inserter.

💡 Typical page structure: Create a Rooms page with the Rooms block — this shows all your room types in a listing. Then create individual pages for each room type (or use the Room Type’s own post page) and add the Calendar block there. The Rooms listing links to the individual room pages, giving guests a natural browse-then-book flow.

Pricing — Base Rates (Free) & Seasonal Pricing (Pro)

The base nightly rate you set at the Room Type level applies year-round by default. For many small properties — especially those with stable pricing — this is all you need. For properties where rates vary significantly by season, the distinction between free and Pro matters.

Pricing Feature Free Pro Notes
Base nightly rate per room type Set once at room type level, applies year-round
Seasonal / date-range pricing rules Peak season rates, school holiday rates, weekend rates
Weekend pricing rules Automatic Friday/Saturday rate uplift
Minimum stay requirements Enforce minimum nights per booking or per season

On the Black Sea coast, summer rates for beachhouse.ro are roughly double what off-season rates are. Managing that manually by changing the base rate twice a year works on the free version — but it’s easy to forget, and it doesn’t handle mid-season promotions or last-minute rate drops. The Pro seasonal pricing handles all of that automatically.

Adding Custom Amenities to Your WordPress Hotel Room Configuration

The default amenity list covers the common options — WiFi, Air Conditioning, Pool, Parking, Breakfast. But every property has something specific. A private terrace. A wood-burning stove. Direct beach access. Custom amenities let you add whatever your property actually offers.

  1. Go to Hotel Booking → Amenities → Add New
  2. Enter the amenity name — for example Private Beach Access or Wood Burning Fireplace
  3. Optionally add a description and an icon
  4. Click Publish
  5. The new amenity now appears in the amenities checklist when editing any Room Type

💡 Create your amenities before creating room types. If you build your amenities list first, they’ll be available to tick when you set up each room type — you won’t have to go back and edit room types after the fact. A 5-minute step upfront that saves 20 minutes of back-and-forth.

Troubleshooting WordPress Hotel Booking Room Setup Issues

Room type appears on the site but cannot be booked — “no rooms available” message

No individual rooms are assigned to this room type, or the assigned rooms are in Draft status. Go to Hotel Booking → Rooms and check: (1) at least one room is assigned to this room type, (2) all assigned rooms are Published, not Draft. A Room Type needs at least one Published individual room to accept bookings.

Room types don’t appear on the frontend Rooms block

Check three things: the room type is Published (not Draft), the page displaying the Rooms block has been saved and published, and your caching plugin cache has been cleared. In test environments, also check that WordPress’s reading settings aren’t set to “discourage search engines” — some caching behaviours differ in that mode.

Capacity fields are accepting more guests than the maximum I set

Confirm the capacity values were saved correctly by reopening the Room Type editor and checking all three capacity fields — Max Adults, Max Children, and Total Capacity. Then clear your caching plugin and test again in an incognito browser window. A cached booking form can show stale capacity values even after you’ve updated the settings.

Featured image not showing on the room listing

Open the Room Type editor and confirm the featured image is set in the Featured Image panel (right sidebar, bottom). It’s easy to add an image to the post content area by mistake instead of setting it as the featured image. They’re different fields — the Rooms block uses the Featured Image, not images embedded in the content body.

Still having issues?

Post on the WordPress.org support forum ↗ or email [email protected]. Include your room type name, the number of individual rooms assigned, and a description of what the booking form shows (or doesn’t show).

Frequently Asked Questions

How many room types and rooms can I add in the free version?

Unlimited. Modern Hotel Booking imposes no limits on room types or individual rooms in the free version. A small B&B with 3 rooms and a large hotel with 50 rooms use the same setup process with no restrictions on either end.

What is the difference between a Room Type and an individual Room in the WordPress hotel booking plugin?

A Room Type is a template defining shared properties — nightly rate, description, capacity, amenities, photos. An individual Room is a physical unit assigned to a type. “Sea View Double” is a Room Type. “Room 101”, “Room 102”, and “Room 103” are individual rooms assigned to it. Each room tracks its own availability independently.

Can I set different prices for the same room type on different dates?

The base nightly rate is set at Room Type level and available in the free version — it applies year-round. Advanced seasonal pricing rules (peak season rates, weekend uplifts, school holiday rates, minimum stay requirements) are available in the Pro version.

How do I display rooms on my WordPress hotel booking site?

Add the Hotel Booking — Rooms block to any page using the WordPress block inserter. It automatically displays all published room types with photos, description, rate, capacity, amenities, and a Book Now button. No shortcodes required.

Why is a room showing as unavailable when it should be free?

Check three things: the room is Published (not Draft), it is assigned to a Room Type (not unassigned), and no existing booking or manual date block covers the dates in question. Go to Hotel Booking → Bookings for overlapping reservations and Hotel Booking → Calendar for manual date blocks.

Can I add custom amenities beyond the default list?

Yes. Go to Hotel Booking → Amenities → Add New to create custom amenities. Once created, they appear in the amenities checklist when editing any Room Type and display on your room listings. Create your amenities list before setting up room types to avoid having to go back and edit.

Do I need to add individual rooms or can I just use Room Types?

You need at least one individual room assigned to each Room Type for bookings to work. The Room Type defines the properties — the individual room is what gets booked. Even for a single vacation rental with one room, you need one Room Type and one individual Room entry.

Need seasonal pricing?

Room setup is free and unlimited. Upgrade to Pro for advanced seasonal pricing rules, weekend rates, minimum stay requirements, and automatic iCal sync with Airbnb and Booking.com.

Modern Hotel Booking is a lightweight, zero-commission reservation engine and 24/7 AI Concierge receptionist for WordPress.

Keep 100% of your revenue and own your guest data.

© 2026 Modern Hotel Booking. All rights reserved.

Built with love for independent property owners.