Package step
A creator-defined step in a package booking journey.
A creator-defined step in a package booking journey.
Access via package.steps or as package_step on package booking step pages.
Many methods read the current package_booking from the Liquid context.
Properties
accommodated_adult_count
Total guests selected on this step in the current package booking.
Returns: Integer
auto_progress
Whether the step advances automatically once the customer has met its requirements.
Returns: Boolean
available_star_ratings
Unique star ratings on the step's listable accommodations, sorted ascending. Use to build star-rating filter UIs.
Returns: Array (Float) — empty when the step has no accommodations or none
have a star rating.
See also: PackageProductSearchQueryDrop, PackageStepProductSearchTag
available_tags
Tag categories and values present across the step's listable products, grouped by category and deduplicated. Use to build filter UIs that only show options which will return results.
Returns: Array (TagCategoryDrop) — empty when the step has no listable products or none have tags.
See also: PackageProductSearchQueryDrop, PackageStepProductSearchTag
earliest_check_in_date
Earliest check-in date allowed when the step has required dates and limits additional nights before the required start. Only applies to accommodation steps on multi-date packages.
Returns: Date or nil — nil on fixed-date packages, when date offsets are
not configured, when no start date has been chosen, or when any number
of additional nights may be booked before the required start.
id
The step's unique identifier.
Returns: String — a UUID.
latest_check_out_date
Latest check-out date allowed when the step has required dates and limits additional nights after the required end. Only applies to accommodation steps on multi-date packages.
Returns: Date or nil — nil on fixed-date packages, when date offsets are
not configured, when no start date has been chosen, or when any number
of additional nights may be booked after the required end.
max_guests_required
The guest count the step must accommodate — the package booking's adult count, or the package minimum when no adult count is set.
Returns: Integer
min_guests_required
The minimum guests required on this step. Returns the package adult count
when the step requires an exact guest count; 1 when the step has
required dates but not guest-count requirements; otherwise 0.
Returns: Integer
name
The step's display name.
Returns: String
next_page_path
URL for the next page in the booking journey. When this is the last step, returns the package return-to URL if one was stored, otherwise the checkout path.
Returns: String
package
The package this step belongs to.
Returns: PackageDrop
path
URL for this step in the package booking journey.
Returns: String
product_groups
The listable products on this step, in the order set in the seller admin. Each entry exposes the product and the variants the creator selected for the package.
Returns: Array (Package::Step::ProductDrop)
required_end_date
End of the date range the customer must book when the step has required dates. For multi-date packages with date offsets, calculated from the customer's chosen start date.
Returns: Date or nil — nil when the step has no required dates, or for
multi-date packages when offsets are not configured or no start date
has been chosen.
required_start_date
Start of the date range the customer must book when the step has required dates. For multi-date packages with date offsets, calculated from the customer's chosen start date.
Returns: Date or nil — nil when the step has no required dates, or for
multi-date packages when offsets are not configured or no start date
has been chosen.
seating_event
The seating event for this step in the current package booking. Fixed-date packages use the item's configured slot. Multi-date packages use the booking's selected start date and time and the item's slot strategy.
Returns: Seating::EventDrop or nil — nil when no listable item resolves to
a slot with a seating event.
single_item_constraint?
Whether the step restricts the customer to selecting a single item that fits the entire group.
Returns: Boolean
step_valid?
Whether the customer's cart selections satisfy this step's requirements.
Returns: Boolean
tagline
A short description shown to customers on the step page.
Returns: String or nil
validation_errors
Explanations when the customer's selections do not meet this step's requirements.
Returns: Array (String) or nil — nil when the step is valid.