Experience slot
A single departure date for an experience product.
A single departure date for an experience product.
Returned from experience slot search results or an experience_slot block
variable — not the same as a calendar ExperienceSlotCalendar::SlotDrop.
Properties
availability_status
A high-level availability signal for this slot, so themes can show "limited"/"running low" states without deriving them from the raw remaining count.
Returns: String — one of "available", "limited", or "sold_out".
See also: StockManagement::AvailabilityStatus
deposit
The deposit for this slot's experience, accounting for the slot start date.
Returns: DepositDrop or nil
end_on
The date the slot ends on.
Returns: Date
end_time
The end time for this slot in hour-and-minute format, e.g. "11:00".
Returns: String or nil — nil when the experience has no end time.
extras
Extras available on this experience slot within the booking window.
Returns: Array (ExtraDrop)
featured_variant
The display variant for this slot, or the cheapest variant when none is set.
Returns: ExperienceVariantDrop or nil
humanized_date_range
A humanised date range for this slot, e.g. "2 January 2023" or
"2 - 4 January 2023".
Returns: String
id
The experience slot unique identifier, a UUID.
Returns: String
initial_stock
Total starting stock across all variants on this slot, used to scale the "limited" availability signal to this slot's own stock size.
Returns: Integer or nil — nil when any variant has infinite stock.
limited
Whether stock is running low but not yet sold out. Convenience predicate
over #availability_status.
Returns: Boolean
payment_plan
The payment plan for this slot when it can be paid off before the start date.
Returns: PaymentPlanDrop or nil
product
The experience product this slot belongs to.
Returns: ProductDrop
remaining_stock
Total remaining stock across all variants on this slot.
Returns: Integer or nil — nil when any variant has infinite stock.
seating_event
The seating event associated with this slot, when configured.
Returns: Seating::EventDrop or nil
shop_url
The URL for this slot's cart shop page, with the date embedded when using the default shop flow.
Returns: String — honours a custom external booking URL or custom shop page
when configured.
sold_out
Whether all variants on this slot are sold out.
Returns: Boolean
start_on
The date the slot starts on.
Returns: Date
start_time
The start time for this slot in hour-and-minute format, e.g. "11:00".
Returns: String or nil — nil when the experience has no start time.
variants
Bookable variants on this experience slot.
Returns: Array (ExperienceVariantDrop)