Direct booking for hotels
More direct bookings — without OTA commission.
WordPress booking engine for your hotel website. Self-checkout — live in minutes.
Context
Why hotels need more direct bookings
OTAs drive visibility — but charge up to 25% commission per booking. Keeping guests on your own website saves fees and preserves the guest relationship.
High OTA commissions
Booking.com, Expedia, and others often charge 15–25% per reservation. With 50 rooms and solid occupancy, that adds up to five figures per year.
Guest data with third parties
OTAs bring reach — but email, preferences, and history sit on external platforms. Direct bookers stay your contacts.
Portal dependency
Algorithms, ranking, and pricing rules are often set from outside. Your own booking engine on your website returns control of rates, availability, and branding.
Technology should stay simple
Many hotels (5–50 rooms) do not want enterprise PMS or expensive SaaS iframes. StayBooking runs as a WordPress plugin — familiar, maintainable, on your domain.
Features
StayBooking booking dashboard
StayBooking is a WordPress plugin for hotel direct bookings. Guests reserve on your website. Rooms, rates, occupancy, payments, invoices, and the guest portal stay in WordPress, without an OTA iframe.
Multi-step booking form
Guests pick arrival, room, extras, and confirmation in separate steps. The form lives on your hotel website and is built for properties with 5 to 50 rooms.
Rooms, rates and seasons
In WordPress admin you set room categories, occupancy prices, seasonal rates, minimum stays, and coupons. New direct bookings use the current values.
Extras and add-ons
Breakfast, parking, pets, or late checkout appear as optional services in checkout. Guests pick them, and the amount is added to the booking.
Occupancy calendar and front desk
The multi-month occupancy plan shows availability per room. The house board lists arrivals, departures, and open bookings for the current day.
Payments and deposits
StayBooking accepts pay at hotel, bank transfer, Stripe, or PayPal. Deposits and pay-by-link for guests are optional.
Invoices and e-invoicing
StayBooking generates PDF invoices and receipts automatically. XRechnung and ZUGFeRD are available for German e-invoice delivery.
Guest portal
Guests look up their booking on your website, cancel themselves, complete pre-check-in, and pay outstanding balances. They do not need an OTA account for that.
iCal calendar sync
Availability can be matched via iCal with Booking.com, Airbnb, and HRS. Import and export run without a separate channel manager.
Website building blocks
Search field, room list, room detail, and price teasers ship as shortcodes. Use them for booking paths on the homepage or on landing pages.
Emails and reminders
Guest and hotel receive a confirmation. Templates are editable, and pre-arrival reminders run without a mandatory mail SaaS in the core.
German admin UI
The StayBooking screens in the WordPress backend are in German. Front desk and hotel operations do not have to work with English PMS terms.
Self-hosted in WordPress
Booking data lives in your WordPress database on your domain. There is no SaaS iframe and no OTA commission per direct booking.
Try StayBooking in three steps
Install the plugin, open the guest demo, and check the WordPress admin. You do not need an OTA or an external dashboard for that.
-
Install the plugin
Activate StayBooking in WordPress, add rooms, and embed the booking form via shortcode on your hotel website.
-
Open the demo website
Experience the guest booking flow live: travel dates, room choice, extras, and confirmation in a real hotel website look.
-
Explore the admin demo
Sign in with demo / demo to the WordPress backend. Front desk, bookings, occupancy, and all StayBooking areas run on sample data.
Product
What StayBooking looks like
Two areas: the guest booking experience on your website and management in WordPress.
For your guests
Guests pick dates, room category, and extras — all in your hotel website look and feel.
Book direct
The old way
Maintain OTA listings, embed an iframe, or subscribe to a cloud PMS like Noovy with setup fee and monthly subscription — instead of WordPress-native direct booking.
With StayBooking
Install the plugin. Add rooms. Insert the shortcode — direct bookings on your domain, under your control.
Feedback
Hotels booking more direct
Experiences from StayBooking customers — WordPress-native, no OTA commission per direct reservation.
Privacy
Privacy and peace of mind
StayBooking stays on your WordPress site — booking data on your domain, without external booking SaaS.
- Self-hosted in WordPress — reservations and guest data stay on your website.
- No OTA commission on direct bookings — you keep the margin.
- No external booking iframe in the frontend — guests stay on your hotel website.
- GDPR-friendly operation — without a US booking platform as a mandatory middle layer.
Process
Live in three steps
- Download the plugin
- Install in WordPress
- Enter your license key
- Insert [stay_booking] shortcode
- Done — guests can book directly
Compare alternatives
StayBooking vs. Noovy, SaaS iframe & OTA
Prices and features may change — StayBooking live via Stripe; Noovy per noovy.com/pricing (€500 setup, €200/month net, marketing snapshot).
Challenges
Common hurdles — and how StayBooking helps
Orientation for hotel operators and decision-makers — technical detail lives in the FAQ.
How do I start direct bookings quickly?
Install StayBooking, activate your license, and place the [stay_booking] shortcode on your booking page — self-install in minutes on WordPress.
See booking moduleDo I still need OTAs?
Portals can drive visibility — StayBooking complements your direct channels without commission per reservation on your website.
FeaturesWhere is booking data stored?
On your WordPress website — not on external booking SaaS. You keep control of guests, rates, and availability.
Go to checkoutInvestment
Pricing & checkout — StayBooking
€59 net/month or €590 net/year
per license (plus VAT)
Enter one domain label per license. Subdomains are billed separately — each subdomain requires its own license. You can deactivate a license for one domain at any time and reactivate it on another domain later.
Billing details
Login email = technical operator. Billing details = end client on the invoice.
Billing address
This address appears on your invoice.
- Germany
- Afghanistan
- Albania
- Algeria
- American Samoa
- Andorra
- Angola
- Anguilla
- Antarctica
- Antigua & Barbuda
- Argentina
- Armenia
- Aruba
- Australia
- Austria
- Azerbaijan
- Bahamas
- Bahrain
- Bangladesh
- Barbados
- Belarus
- Belgium
- Belize
- Benin
- Bermuda
- Bhutan
- Bolivia
- Bosnia & Herzegovina
- Botswana
- Bouvet Island
- Brazil
- British Indian Ocean Territory
- British Virgin Islands
- Brunei
- Bulgaria
- Burkina Faso
- Burundi
- Cambodia
- Cameroon
- Canada
- Cape Verde
- Caribbean Netherlands
- Cayman Islands
- Central African Republic
- Chad
- Chile
- China
- Christmas Island
- Cocos (Keeling) Islands
- Colombia
- Comoros
- Congo - Brazzaville
- Congo - Kinshasa
- Cook Islands
- Costa Rica
- Croatia
- Cuba
- Curaçao
- Cyprus
- Czechia
- Côte d’Ivoire
- Denmark
- Djibouti
- Dominica
- Dominican Republic
- Ecuador
- Egypt
- El Salvador
- Equatorial Guinea
- Eritrea
- Estonia
- Eswatini
- Ethiopia
- Falkland Islands
- Faroe Islands
- Fiji
- Finland
- France
- French Guiana
- French Polynesia
- French Southern Territories
- Gabon
- Gambia
- Georgia
- Ghana
- Gibraltar
- Greece
- Greenland
- Grenada
- Guadeloupe
- Guam
- Guatemala
- Guernsey
- Guinea
- Guinea-Bissau
- Guyana
- Haiti
- Heard & McDonald Islands
- Honduras
- Hong Kong SAR China
- Hungary
- Iceland
- India
- Indonesia
- Iran
- Iraq
- Ireland
- Isle of Man
- Israel
- Italy
- Jamaica
- Japan
- Jersey
- Jordan
- Kazakhstan
- Kenya
- Kiribati
- Kuwait
- Kyrgyzstan
- Laos
- Latvia
- Lebanon
- Lesotho
- Liberia
- Libya
- Liechtenstein
- Lithuania
- Luxembourg
- Macao SAR China
- Madagascar
- Malawi
- Malaysia
- Maldives
- Mali
- Malta
- Marshall Islands
- Martinique
- Mauritania
- Mauritius
- Mayotte
- Mexico
- Micronesia
- Moldova
- Monaco
- Mongolia
- Montenegro
- Montserrat
- Morocco
- Mozambique
- Myanmar (Burma)
- Namibia
- Nauru
- Nepal
- Netherlands
- New Caledonia
- New Zealand
- Nicaragua
- Niger
- Nigeria
- Niue
- Norfolk Island
- North Korea
- North Macedonia
- Northern Mariana Islands
- Norway
- Oman
- Pakistan
- Palau
- Palestinian Territories
- Panama
- Papua New Guinea
- Paraguay
- Peru
- Philippines
- Pitcairn Islands
- Poland
- Portugal
- Puerto Rico
- Qatar
- Romania
- Russia
- Rwanda
- Réunion
- Samoa
- San Marino
- Saudi Arabia
- Senegal
- Serbia
- Seychelles
- Sierra Leone
- Singapore
- Sint Maarten
- Slovakia
- Slovenia
- Solomon Islands
- Somalia
- South Africa
- South Georgia & South Sandwich Islands
- South Korea
- South Sudan
- Spain
- Sri Lanka
- St. Barthélemy
- St. Helena
- St. Kitts & Nevis
- St. Lucia
- St. Martin
- St. Pierre & Miquelon
- St. Vincent & Grenadines
- Sudan
- Suriname
- Svalbard & Jan Mayen
- Sweden
- Switzerland
- Syria
- São Tomé & Príncipe
- Taiwan
- Tajikistan
- Tanzania
- Thailand
- Timor-Leste
- Togo
- Tokelau
- Tonga
- Trinidad & Tobago
- Tunisia
- Turkey
- Turkmenistan
- Turks & Caicos Islands
- Tuvalu
- U.S. Outlying Islands
- U.S. Virgin Islands
- Uganda
- Ukraine
- United Arab Emirates
- United Kingdom
- United States
- Uruguay
- Uzbekistan
- Vanuatu
- Vatican City
- Venezuela
- Vietnam
- Wallis & Futuna
- Western Sahara
- Yemen
- Zambia
- Zimbabwe
- Åland Islands
No country found.
Your order
- Plan
- Licenses
- Net
- Discount
- VAT
- Total (incl. VAT)
FAQ
Frequently asked questions
Can I cover multiple websites?
Yes. Add one license per site in checkout — each with its own key and Stripe subscription.
Can I use a key on a different domain?
Yes. Deactivate the license in WordPress on the old site, then activate the same key on the new site. Only one site is active per key at a time.
Do you support subdomains?
No. Please enter the main domain (www is normalized).
How do I install the plugin?
After purchase, download the ZIP, install it under Plugins → Add New → Upload Plugin, activate the plugin, and enter your license under Settings → Direct Booking. Then add [stay_booking] to your booking page.
One license per hotel domain?
Yes. Each license is bound to one hotel domain. Separate licenses are required for multiple properties or subdomains.
Are there OTA commissions?
No. StayBooking charges a fixed license fee (€59 net/month or €590 net/year per domain) — no commission per direct booking.
Where is booking data stored?
In your WordPress database on your website — self-hosted, without a mandatory SaaS iframe for the booking form.
Existing customers
Dashboard
Licenses, shortcode, and billing — all in one place.
- Manage licenses & keys
- View invoices
- Get plugin & shortcode