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.

On this page