Skip to content

location

A location in shop.locations is an active location that the seller has marked as a physical storefront. The list is ordered with the default location first and then by name. It is separate from the narrower store_availability.location snapshot returned for one variant.

Example

{% for location in shop.locations %}
<article>
<h2>{{ location.name | escape }}</h2>
{{ location.address | format_address }}
{% if location.is_open_now %}
<p>Open now</p>
{% endif %}
{% for period in location.today_hours.periods %}
<p>{{ period.open }}{{ period.close }}</p>
{% endfor %}
</article>
{% endfor %}

is_open_now compares the configured HH:MM periods with the current time in the store’s IANA time zone. A period includes its opening time and excludes its closing time. Missing hours produce an empty today_hours.periods array and is_open_now is false.

Pickup labels and instructions are location configuration, not variant stock or transfer estimates. Use variant.store_availabilities when you need current per-variant pickup eligibility.

Properties

PropertyDescription
location.addressPostal address.
location.hoursBuyer-visible hours value for this location.
location.idUnique identifier.
location.is_open_nowtrue when this location is open now.
location.is_physical_storetrue when this location is physical store.
location.nameName.
location.phonePhone number.
location.pickup_enabledtrue when pickup is enabled.
location.pickup_instructionsBuyer-visible pickup instructions.
location.pickup_ready_labelBuyer-visible pickup ready label.
location.today_hoursBuyer-visible today_hours value for this location.

Property list is generated from the storefront engine (LocationDrop), so it always matches what your theme can use. Use {{ location | json }} only as a curated debug snapshot; it can omit lazy or otherwise public properties.