Skip to content

store_availability

Each item in variant.store_availabilities describes whether that variant can be picked up at one active pickup-enabled location in the store’s country.

The array is defined for the URL-selected variant and the product’s first available variant. Other variants return an empty array until the buyer selects them. Re-render the variant pickup section when the selection changes.

Pickup summary

{% assign variant = product.selected_or_first_available_variant %}
{% assign pickup_locations = variant.store_availabilities
| where: 'pick_up_enabled', true %}
{% for availability in pickup_locations %}
{% if availability.available and availability.pick_up_enabled %}
<p>
Pickup at {{ availability.location.name }}
{{ availability.pick_up_time }}
</p>
{% endif %}
{% endfor %}

Example output:

<p>Pickup at Indiranagar — Usually ready in 2 hours</p>

Location list

{% for availability in variant.store_availabilities %}
{% if availability.pick_up_enabled %}
<article>
<h3>{{ availability.location.name }}</h3>
{{ availability.location.address | format_address }}
{% if availability.available %}
<p>Available — {{ availability.pick_up_time }}</p>
{% else %}
<p>Unavailable at this location</p>
{% endif %}
</article>
{% endif %}
{% endfor %}

The result contains at most 250 locations. The default location is first, followed by creation time and location id. Fulfilment-service locations and locations outside the store’s country are excluded.

For this Liquid property, pickup is checked for one unit. For a tracked variant that does not allow backorders, only locations with a stocked inventory level are returned; a stocked level with zero available units still returns an entry with available set to false. An untracked or backorder-enabled variant is considered available at every eligible pickup location.

pick_up_time is the location’s configured readiness label. It is not a live transfer estimate, and this endpoint does not add in-transit inventory. Render an empty label as absent rather than inventing a readiness time.

For a variant picker, request a small variant-scoped section through the Section Rendering API and replace only the pickup markup.

Properties

PropertyDescription
store_availability.availabletrue when the variant is pickup-available under tracked/backorder rules at this eligible location.
store_availability.locationActive, pickup-enabled, non-fulfillment location in the store country.
store_availability.pick_up_enabledtrue for an eligible pickup location; retained as an explicit compatibility field.
store_availability.pick_up_timeStatic buyer-facing readiness label configured on the location; it is not a transfer ETA.

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