Klarhimmel UI

Multi-location local service

Template

A multi-page site for a local service business with two to five locations (clinic, salon, workshop, dental or vet practice): home, services with prices, one service in detail, locations, one location in detail, reviews, about, careers, and a booking and contact page.

npx shadcn add @klarhimmel/template-multi-location
multi-location preview

Install

npx shadcn add @klarhimmel/template-multi-location

Page 1 of 9

Home (/)

home. 9 sections, each one block with this template's own copy.

AnchorBlockContent
#topheader/simpleNärhet AB
#herohero/centeredGood care, close to where you live
#servicesfeatures/gridWhat we offer
#locationscontact/officesFind us near you
#howsteps/horizontalBooking takes a minute
#reviewstestimonials/ratingCustomers rate us [score] out of [maximum]
#faqfaq/accordionGood to know
#ctacta/bannerBook your time today
#footerfooter/link-columnsNärhet AB

Page 2 of 9

Services (/services/)

services. 7 sections, each one block with this template's own copy.

AnchorBlockContent
#topheader/simpleNärhet AB
#herohero/minimalServices and prices
#pricespricing/rowsWhat it costs
#includedfeatures/listWhat is always included
#faqfaq/accordionAbout our services
#ctacta/cardPick a service and a time
#footerfooter/link-columnsNärhet AB

Page 3 of 9

Service (/services/service-name/)

service-detail. 8 sections, each one block with this template's own copy.

AnchorBlockContent
#topheader/simpleNärhet AB
#herohero/split[service name]
#includedfeatures/listWhat you get
#visitsteps/timelineWhat happens, step by step
#pricepricing/singleOne clear price
#faqfaq/accordionAbout this service
#ctacta/bannerBook [service name]
#footerfooter/link-columnsNärhet AB

Page 4 of 9

Locations (/locations/)

locations. 6 sections, each one block with this template's own copy.

AnchorBlockContent
#topheader/simpleNärhet AB
#herohero/minimalOne standard at every location
#officescontact/officesOur locations
#standardfeatures/gridThe same standard everywhere
#ctacta/bannerWhich location suits you?
#footerfooter/link-columnsNärhet AB

Page 5 of 9

Location (/locations/city-name/)

location-detail. 7 sections, each one block with this template's own copy.

AnchorBlockContent
#topheader/simpleNärhet AB
#herohero/splitGöteborg
#visitcontact/mapFind us
#teamteam/gridWho you will meet here
#voicestestimonials/gridWhat customers here say
#bookcontact/bookingPick a time at this location
#footerfooter/link-columnsNärhet AB

Page 6 of 9

Reviews (/reviews/)

cases. 6 sections, each one block with this template's own copy.

AnchorBlockContent
#topheader/simpleNärhet AB
#herohero/minimalWhat our customers say
#ratingtestimonials/rating[score] out of [maximum] from [number] reviews
#walltestimonials/wallIn their words
#ctacta/bannerJoin them
#footerfooter/link-columnsNärhet AB

Page 7 of 9

About us (/about/)

about. 7 sections, each one block with this template's own copy.

AnchorBlockContent
#topheader/simpleNärhet AB
#herohero/minimal[A line about who you are]
#storycontent/columnsWhy we are the way we are
#numbersstats/rowThe company in numbers
#peopleteam/departmentsWho runs it
#ctacta/cardMeet the team
#footerfooter/link-columnsNärhet AB

Page 8 of 9

Careers (/careers/)

careers. 7 sections, each one block with this template's own copy.

AnchorBlockContent
#topheader/simpleNärhet AB
#herohero/minimalWork close to home, with people you like
#whyfeatures/gridWhat it is like here
#rolesblog/listJoin us
#faqfaq/accordionHow we hire
#ctacta/cardSend an open application
#footerfooter/link-columnsNärhet AB

Page 9 of 9

Contact (/contact/)

contact. 7 sections, each one block with this template's own copy.

AnchorBlockContent
#topheader/simpleNärhet AB
#herohero/minimalBook a time
#bookcontact/bookingFree times this week
#channelscontact/channelsReach us another way
#visitcontact/officesOur locations
#messagecontact/formSend a message
#footerfooter/link-columnsNärhet AB

Install

CLI

npx shadcn add @klarhimmel/template-multi-location

pnpm

pnpm dlx shadcn@latest add @klarhimmel/template-multi-location
Style
  • Klarhimmel
  • Geist / Geist
  • radius 8
Needs
React 19, Tailwind CSS v4 and the theme import. The page and every block it uses land under components/klarhimmel/.

Before you ship

Wire these before shipping

The template is a finished page with placeholder wiring. These are yours to connect.

Copy

Every string is neutral placeholder text, and the company name, city and contact details are placeholders too. Replace them with the company's own.

Links

Links to the template's own pages (`/services/`, `/contact/`) are plain paths: point them at your router. Links to https://example.com are placeholders.

Forms

Set `action` on the contact form and the booking panel (it is `/replace-with-your-endpoint` now). With `method: 'post'` they submit natively, with no JavaScript. The live demo never submits.

Images

Image slots are empty and carry a description (alt text): add photographs of the company's own work, people and premises.

Style

Uses the default Klarhimmel palette, Geist fonts, radius and spacing. Import theme.css after Tailwind.