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)

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)

On this page