Skip to content
UI Kit
Accent color

Hotel website sections

For hotels, guest houses and boutique stays. The house as a drawn cross section, rates with cancellation terms, packages day by day and online check-in with a digital key.

4 variants
Switch category

From the first look to the room key

A hotel website sells a stay before it sells a room. These sections take guests from the house itself to the rate, the package and the arrival, each with its own calm layout on the phone, where most stays are planned.

The house shows the hotel as a drawn cross section whose floors rise in while scrolling, pointing at a floor swaps in its opening hours and features. Rate plans lets guests pick a room, then a rate with perks and cancellation terms, the total follows the nights and the button names the price. Packages lists arrangements with nights and price per person, the chosen one unfolds day by day on a timeline. Online check-in asks arrival time, parking, wishes and contact in three short steps and ends with a digital room key.

Put the cancellation terms right next to each rate, that is where guests decide between flexible and cheaper. Packages work best with three to five offers and a clear price per person. Send the check-in link a few days before arrival, then the front desk simply hands over the key.

Hotel

The houseNew in 1.2

The hotel as a drawn cross section, the floors rise in one after another while scrolling. Point at a floor or pick it below, its opening hours and features swap in.

Rate plansNew in 1.2

Pick a room, then a rate with its perks and cancellation terms, the best price carries a badge. Set the nights, the total glides along and the button names the price.

PackagesNew in 1.2

Arrangements with nights and the price per person. Pick one and the stay unfolds day by day on a timeline that draws itself while scrolling, with what is included above it.

Online check-inNew in 1.2

Three short steps with a progress line, arrival time, parking, wishes and contact. Missing fields say what they need. At the end the booking card turns into a room key.

Details

What Hotel brings along, read from the registry and the source.

Variants
4
Version
1.0.0 · since 1.2.0
File
components/ui/hotel.tsx
Brings along
utilskitbuttoniconsectionmotion
npm packages
None
Languages
English and German, 51 texts of its own
Studio
Adjust in code

Props

The HotelProps interface from components/ui/hotel.tsx, with the comments from the code.

  • variantoptional
    HotelVariant

    houserate-planspackagespre-check-in

  • eyebrowoptional
    React.ReactNode
  • titleoptional
    React.ReactNode
  • descriptionoptional
    React.ReactNode
  • floorsoptional
    HotelFloor[]

    house: floors from top to bottom, a spa floor sits below ground

  • ratesoptional
    HotelRate[]

    rate-plans

  • roomsoptional
    HotelRoomType[]
  • packagesoptional
    HotelPackage[]

    packages

  • bookingoptional
    HotelBooking

    pre-check-in

  • arrivalSlotsoptional
    string[]

    pre-check-in: arrival times as "HH:MM"

  • requestsoptional
    { id: string; label: string; icon?: IconName }[]

    pre-check-in: wishes to tick

  • currencyoptional
    string

Built-in texts

Hotel writes these texts itself. The language follows the KitProvider, the labels prop replaces single ones.

Show all 51 texts
floorsEnglish FloorsGerman Etagen
levelEnglish Level {n}German Etage {n}
openEnglish Opening hoursGerman Öffnungszeiten
roomEnglish RoomGerman Zimmer
rateEnglish RateGerman Rate
sizeGuestsEnglish {size} m² · up to {n} guestsGerman {size} m² · bis {n} Gäste
perNightEnglish per nightGerman pro Nacht
nightsEnglish NightsGerman Nächte
oneNightEnglish One night lessGerman Eine Nacht weniger
moreNightEnglish One night moreGerman Eine Nacht mehr
nightsNEnglish {n} nightsGerman {n} Nächte
nightsOneEnglish 1 nightGerman 1 Nacht
totalEnglish Total stayGerman Gesamter Aufenthalt
taxesEnglish Including VAT and breakfast where listedGerman Inklusive MwSt. und Frühstück, wo angegeben
reserveEnglish Reserve for {price}German Für {price} reservieren
reservedEnglish Reserved. Your confirmation is on its way.German Reserviert. Deine Bestätigung ist unterwegs.
refundableEnglish Free cancellationGerman Kostenlos stornierbar
fixedEnglish Best priceGerman Bester Preis
fromEnglish fromGerman ab
perPersonEnglish per personGerman pro Person
includesEnglish IncludedGerman Inklusive
itineraryEnglish Your stay, day by dayGerman Dein Aufenthalt, Tag für Tag
bookEnglish Request this packageGerman Paket anfragen
requestedEnglish Request sent. We will reply within a day with dates that fit.German Anfrage gesendet. Wir melden uns innerhalb eines Tages mit passenden Terminen.
chooseEnglish PackageGerman Paket
stepArrivalEnglish ArrivalGerman Anreise
stepWishesEnglish WishesGerman Wünsche
stepContactEnglish ContactGerman Kontakt
arrivalTimeEnglish When do you arrive?German Wann kommst du an?
parkingEnglish I need a parking spaceGerman Ich brauche einen Parkplatz
parkingHintEnglish Garage under the house, one space per roomGerman Tiefgarage im Haus, ein Platz pro Zimmer
wishesEnglish Anything we can prepare?German Was dürfen wir vorbereiten?
noteEnglish A note for the front deskGerman Eine Notiz an die Rezeption
notePhEnglish Late dinner, an anniversary, a feather-free pillow …German Spätes Abendessen, ein Jahrestag, ein Kissen ohne Federn …
nameEnglish Full nameGerman Vor- und Nachname
emailEnglish EmailGerman E-Mail
termsEnglish I confirm the details of my stayGerman Ich bestätige die Angaben zu meinem Aufenthalt
nextEnglish ContinueGerman Weiter
backEnglish BackGerman Zurück
sendEnglish Check in onlineGerman Online einchecken
requiredEnglish Please fill in this fieldGerman Bitte fülle dieses Feld aus
emailInvalidEnglish Please enter a valid email addressGerman Bitte gib eine gültige E-Mail-Adresse ein
termsMissingEnglish Please confirm the detailsGerman Bitte bestätige die Angaben
doneTitleEnglish You are checked inGerman Du bist eingecheckt
doneTextEnglish Your room key is ready on arrival, skip the queue and head straight up.German Dein Zimmerschlüssel liegt bei Ankunft bereit, an der Schlange vorbei direkt aufs Zimmer.
bookingEnglish BookingGerman Buchung
numberEnglish Booking numberGerman Buchungsnummer
guestEnglish GuestGerman Gast
stayEnglish StayGerman Aufenthalt
keyEnglish Room keyGerman Zimmerschlüssel
stepEnglish Step {n} of {total}German Schritt {n} von {total}

Accessibility

Read from the source of the component.

  • Hotel handles the keys Arrow up, Arrow down, Arrow left and Arrow right itself.
  • Sets aria-checked, aria-current, aria-describedby, aria-invalid, aria-label, aria-live and aria-pressed, so screen readers announce purpose and state.
  • Uses the roles radio, radiogroup and status.
  • Announces changes through a live region without moving focus.
  • Every field has a label, visible or for screen readers.
  • Adds text for screen readers where icons and graphics stand alone.
  • Shows a visible focus ring when used with the keyboard.
  • The server renders the starting state in full, JavaScript only adds the interaction.

Motion

  • Brings animations of its own, calmly timed and without wobble.
  • With reduced motion (prefers-reduced-motion) it stays still. 4 places in the code switch motion off then.

Frequent questions

How do I install Hotel?

With aiw add @ai-website/hotel. The command puts components/ui/hotel.tsx into your project, the code is yours from then on. It brings along button, icon, section and motion. It needs no further npm packages.

Which variants does Hotel have?

4 variants, The house, Rate plans, Packages and Online check-in. You pick one with the variant prop, for example variant="rate-plans".

Can I translate the texts of Hotel?

Yes. Hotel carries 51 texts of its own in English and German, such as “Floors”, “Opening hours” and “Room”. The language follows the KitProvider, single texts change through the labels prop.

Can an AI assistant build with Hotel?

Yes. Through the MCP server of the aiw CLI, Claude, Cursor, GitHub Copilot, Windsurf, Codex and Gemini find Hotel with aiw_components and install it with aiw_add @ai-website/hotel. Name the variant in your prompt, for example variant="house", and the assistant writes your content straight into the props.

Often searched

Jump to

Copied to the clipboard