Slot
A bookable slot for a variant on a calendar date, backed by a slot variant mapping.
A bookable slot for a variant on a calendar date, backed by a slot variant mapping.
Not to be confused with ExperienceSlotDrop, which represents a slot on a product page. Retrieved from ExperienceSlotCalendar::DateDrop#slots_by_variant and the experience slot calendar tag.
Properties
availability_status
A high-level availability signal for this variant on this slot, so themes can show "limited"/"running low" states without deriving them from the raw remaining count. Prefers the stock manager's own status (letting an external provider's signal come through) and falls back to the percentage-based rule when it doesn't have one. This drop has no starting-stock figure of its own, so the fallback always uses the absolute threshold rather than a percentage.
Returns: String — one of "available", "limited", or "sold_out".
See also: StockManagement::AvailabilityStatus
end_on
The date the slot ends on.
Returns: Date — use with Liquid's date filter for display formatting.
end_time
The end time of the slot.
Returns: String or nil — 24-hour HH:MM format, e.g. "11:00"; nil when
the experience has no end time configured.
id
The experience slot's unique identifier.
Returns: String — a UUID.
initialize
Returns: SlotDrop — a new instance of SlotDrop
limited
Whether stock is running low but not yet sold out. Convenience
predicate over #availability_status.
Returns: Boolean
price
The variant price on this slot in the current currency.
Returns: VariantPriceDrop — at the variant's maximum occupancy.
{{ slot.price.fractional | money }}product
The experience this slot belongs to.
Returns: ProductDrop
remaining_stock
Remaining stock for this variant on this slot.
Returns: Integer or nil — nil when stock is infinite.
shop_url
URL to book this slot — the experience shop page with the slot preselected, or a custom external checkout URL when configured.
Returns: String
sold_out
Whether this variant is sold out on this slot.
Returns: Boolean — true when manually marked sold out or stock is
exhausted.
start_on
The date the slot starts on.
Returns: Date — use with Liquid's date filter for display formatting.
start_time
The start time of the slot.
Returns: String or nil — 24-hour HH:MM format, e.g. "11:00"; nil when
the experience has no start time configured.