-
Couldn't load subscription status.
- Fork 3
Description
Proposer
MCRactive, Westminster City Council, and others from #120.
Use Case
As a Customer of Everyone Active, I want to use a Broker such as MCRactive to book onto a waitlist, either as a guest or via my membership (if authenticated via #120).
Why is this needed?
The current specification does not include any provision for waitlists, except for an example extension that suggests using a separate booking mechanism.
Proposal
This proposal recommends that waiting list booking make use of the Approval flow, with only minor additions required to facilitate this.
If waitlistAvailable: true and remainingAttendeeCapacity is 0 on an Event the Broker must follow Approval flow as per the existing specification.
As OrderProposals are atomic and are approved in an all-or-nothing fashion, a Broker would need to split multiple waitlist OrderItem's into multiple Orders if they desire for them to be approved independently. For example if 2 friends want to be waitlisted together, they submit a single OrderProposal, and only get notified if 2 spaces become available. If non-waitlisted items are bundled with waitlisted OrderItems, no long-term lease is applied, and the OrderProposal is only successful if there is still space in the other non-waitlisted OrderItems when the Customer confirms their waitlist space.
This puts the Booking System in control of the waitlist process, which allows implementation of a range of different waitlist strategies (allocate next in list, first-to-respond, etc). It also allows a Broker to "auto-accept" a waitlist place, assuming they have already authorised the payment.
As will all Open Booking API features, use of this feature will require contractual agreement between the Seller and the Broker, so the Seller always remains in complete control of this.
Additional specification updates required:
- A property
waitlistAvailableof typeBooleanadded toschema:Event. - An additional
SellerAcceptedPendingCustomerConfirmationstate is required, that does not affect the status flow https://www.openactive.io/open-booking-api/#orderproposal-statuses, but requires confirmation of customer at thatSellerAcceptedstage. - An additional arrow on 5.5.5
OrderProposalstatuses fromSellerAcceptedback toAwaitingSellerConfirmationso that the leasing invariant still holds (i.e. anything approved must always be bookable). - Clarify the use of
orderSellerNoteto be updated at each stage of the waitlist (including the very beginning of the flow), for example:orderSellerNoteatAwaitingSellerConfirmation: "You are currently on the waiting list. We’ll notify you if a space becomes available." initiallyorderSellerNoteatSellerAcceptedPendingCustomerConfirmation: “A space is available first-come-first-served, please approve your space soon”.orderSellerNoteatAwaitingSellerConfirmation: "You are currently on the waiting list. We’ll notify you if a space becomes available." if the space got taken.