Type Alias: CascadeOptions
type CascadeOptions = {
actorId?: string | null;
maxOffersPerCascade?: number;
offerTtlSeconds?: number;
};Defined in: server/bookings/waitlist-service.ts:59
How long an offer stays live before the offer-expiry sweeper reclaims it.
Properties
actorId?
optional actorId?: string | null;Defined in: server/bookings/waitlist-service.ts:67
Actor recorded on the offer-send events (null = system).
maxOffersPerCascade?
optional maxOffersPerCascade?: number;Defined in: server/bookings/waitlist-service.ts:77
Cap on how many parties this cascade offers before returning
(default DEFAULT_MAX_OFFERS_PER_CASCADE). The cascade runs inline on
cancel/declineOffer/expireOfferParty, and each pass re-reads the
resource's whole queued list — so an unbounded loop lets one transition do
work proportional to (queue length × parties offered) on a request thread.
Hitting the cap is not lossy: the remaining parties stay queued at their
FIFO positions and are offered by the next cascade trigger or sweeper run.
offerTtlSeconds?
optional offerTtlSeconds?: number;Defined in: server/bookings/waitlist-service.ts:65
Seconds an offer stays open before it expires (the accept-by deadline
stamped on waitlist_offers.offerExpiresAt). When omitted the offer never
auto-expires (offerExpiresAt = null) and the §5.2 guard always passes.