Search

Safe-listed ?search query parameters from the current page URL.

Safe-listed ?search query parameters from the current page URL.

Assigned as the search Liquid variable by Site::Renderer when the request includes a search query string; otherwise search is not defined — use +`% if search %`` before accessing it.

Use dot syntax for the fixed attributes below (e.g. search.name). Tag category filters from the URL are also exposed on the same object via bracket syntax with the category name as it appears in the query, e.g. `search["Amenities"]+ — there is no dot accessor for dynamic category names.

Values feed into ProductSearchTag and ExperienceSlotSearchTag.

Properties

[]

Bracket or dot access to a permitted search or tag category parameter.

Returns: String or Array (String) or Hash or Boolean or nil — nil when the key is not permitted or absent.

{{ search["departure_date"].greater_than }}
{{ search["Amenities"] | join: ", " }}

active_promotion

Whether to filter to products with an active promotion.

Returns: Boolean or String or nil

category

The product category filter.

Returns: String or nil

city

The city filter. Accepts a single value or an array from the URL.

Returns: String or Array (String) or nil

country

The country filter. Accepts a single value or an array from the URL.

Returns: String or Array (String) or nil

departure_date

Departure date comparisons from the URL.

Returns: Hash{String=>String} or nil — keys include "greater_than", "greater_or_equal_than", "less_than", "less_or_equal_than", and "equal_to".

departure_month

The departure month filter as passed in the URL, e.g. "Jan" or "1".

Returns: String or nil

duration

Duration comparisons from the URL.

Returns: Hash{String=>String} or nil — keys include "greater_than", "greater_or_equal_than", "less_than", "less_or_equal_than", and "equal_to".

duration_unit

The duration unit filter.

Returns: String or nil

exclude_sold_out_products

Whether to hide sold-out products from results.

Returns: Boolean or String or nil

guest_count

The number of guests in the search.

Returns: String or nil

include_organisation_packages

Whether to include packages from other companies in the organisation.

Returns: Boolean or String or nil

include_organisation_products

Whether to include products from other companies in the organisation.

Returns: Boolean or String or nil

month

The calendar month filter as a number, e.g. 2 for February.

Returns: Integer or String or nil

name

The free-text name search term.

Returns: String or nil

product_id

Product IDs to filter by. Accepts a single value or an array from the URL.

Returns: String or Array (String) or nil

search_params

The permitted search parameters as a symbol-keyed hash.

Returns: Hash{Symbol=>Object} — fixed search keys only; tag category params are in #tag_params.

series_id

The series ID filter.

Returns: String or nil

sort

The sort order, e.g. "name_asc", "duration_desc", "departure_date_asc".

Returns: String or nil

subcategory

The subcategory filter. Accepts a single value or an array from the URL.

Returns: String or Array (String) or nil

tag_params

Tag-based filtering params, keyed by tag category name.

Dynamic and depend on the company's tag categories.

Returns: Hash{String=>String, Array<String>} — empty when no company was passed at initialisation.

tags

Tag value filters. Accepts a single value or an array from the URL.

Returns: String or Array (String) or nil

year

The calendar year filter, e.g. 2024.

Returns: Integer or String or nil

On this page