Entities

Location

Location entity - components, queries, links, and related actions

Your storefront encounters the Location entity when rendering a store locator: the location finder (a searchable list and map of every location) and individual location detail pages. A Location represents a physical place — a shop, showroom, outlet, or pickup point — with its address, map coordinate, opening hours, contact details, status, and media. It has no outgoing links: the finder resolves the full set with AllLocationsQuery and filters client-side, while detail pages fetch a single Location by slug.

Available since v0.23.0 in @laioutr-core/canonical-types

Components

Base

LocationBase

base
Slug and display name, plus optional store code, source-system external ID, and Google Place ID.
slug
stringrequired
name
stringrequired
code
string

Human-readable store code, e.g. "DE-BER-01".

externalId
string

Identifier of this location in the source system it was imported from.

googlePlaceId
string

Google Place ID, for Maps / reviews / listing-management integrations.

Info

LocationInfo

info
Cover image and short plain-text teaser, sized for finder and list cards so they render without resolving the full gallery or HTML content.
shortDescription
string

Short plain-text teaser. Not HTML — for the full rich description see the dedicated LocationContent component.

Address

LocationAddress

address
Postal address of the physical location.

Coordinates

LocationCoordinates

coordinates
Map-marker geo coordinate (WGS84). The single source of truth for a location's position, kept separate from the postal address.

Contact

LocationContact

contact
Phone, fax, email, and website.
phone
string

Represents a phone number. Formatted as a E.164 number.

pattern^\+?[1-9]\d{1,14}$
fax
string

Represents a phone number. Formatted as a E.164 number.

pattern^\+?[1-9]\d{1,14}$
email
string
formatemail
website
string
formaturi

Opening Hours

LocationOpeningHours

openingHours
Weekly opening-hours schedule.

Status

LocationStatus

status
Operational status (operational, coming soon, temporarily or permanently closed) and an optional opening or reopening date. An absent component means operational.
status
"operational" | "coming_soon" | "temporarily_closed" | "permanently_closed"required
openingDate
string
formatdate

Content

LocationContent

content
Rich HTML description and "how to get here" arrival text for the detail page.

Media

LocationMedia

media
Full media gallery — all images, plus optional non-image assets such as video — for the detail page.

Attributes

LocationAttributes

attributes
Filterable identifier lists: spoken languages, headline features, services and amenities, and accepted payment methods. Known values map to localized labels and icons; unknown identifiers pass through.
languages
string[]

BCP-47 language tags spoken at this location, e.g. ['de', 'en-US'].

features
string[]

Headline highlights surfaced as pills (e.g. in the detail header). WellKnownFeature values are known; others pass through.

services
string[]

Services & amenities. WellKnownService values are known; others pass through.

payment
string[]

Accepted payment methods. WellKnownPaymentMethod values are known; others pass through.

SEO

LocationSeo

seo
Meta title, description, and robots directive for the location detail page.

Queries

  • AllLocationsQuery - Fetch every location for the current shop. Backs the location finder, which searches and filters the resolved set client-side.
  • LocationBySlug - Retrieve a single location by its slug.
Copyright © 2026 Laioutr GmbH