Open nickevansuk opened 3 years ago
Noting that bookingChannel
is likely best moved back to a beta property, for future consideration for the modelling spec
This translates into the following updates to the specification and tooling:
availableChannel
at the Offer
level to bookingChannel
at the opportunity level, and move this back to beta due to lack of adoption (#161)prepayment
to openBookingPrepayment
advanceBooking
to openBookingInAdvance
oa:isOpenBookingAllowed
to Person
and Organization
, for use in the organizer
property.oa:isOpenBookingAllowed
in the business logic, replacing the check for availableChannel
Additionally this text describing openBookingInAdvance
should be fixed in the specification:
Indicates whether to accept this offer, a Customer must book in advance, whether they must pay on attending, or have option to do either.
Should be
Indicates whether to accept this Offer, a Customer must book in advance (
https://openactive.io/Required
); or whether a Customer may choose either book in advance or simply "walk-in" without booking in advance (https://openactive.io/Optional
). If Open Booking is not available for this Offer (https://openactive.io/Unavailable
), the method of booking is specified elsewhere in the data, possibly by theurl
of theOffer
.
The current definition of
availableChannel
conflicts with other properties within the specification. This property should be refactored to fix the issues described below, simplify implementations, and ensure that it is fit for purpose going forward."
availableChannel
" is currently defined as the "The channels through which a booking can be made
", with values ofOpenBookingPrepayment
,TelephoneAdvanceBooking
,TelephonePrepayment
andOnlinePrepayment
. It is defined at theOffer
level, and its functionality currently overlaps withprepayment
andadvanceBooking
properties that are also defined at the `Offer level.Additionally:
availableChannel
" should be more specific e.g. "bookingChannel
"prepayment
andadvanceBooking
property definitions should clearly indicate that they relate only to Open Booking, to ensure no overlap in definition. Potentially these should also be renamed toopenBookingPrepayment
andopenBookingInAdvance
prepayment
andadvanceBooking
relate only to Open Booking, it is not required to havebookingChannel
defined at theOffer
level - asadvanceBooking
ofUnavailable
can be used for anyOffer
that is not available viaOpen Booking
.availableChannel
/bookingChannel
values ofTelephoneAdvanceBooking
,TelephonePrepayment
,OnlinePrepayment
(andOnlineAdvanceBooking
for completeness) into the Modelling Specification - at theSessionSeries
/FacilityUse
level, as this level of specificity is not available at theOffer
level anyway for all known use cases, and these other values do not relate to Open Booking.openBookingPrepayment
andopenBookingInAdvance
are available at theOffer
level, the availability of "Open Booking API" for a particular Seller can be specified at theorganizer
level - which fits with the per-Seller agreements and approval that are required to enable Open Booking.Hence an additional property should be defined at the Seller level:
allowOpenBooking
.This also allows brokers to easily filter on Sellers based on whether or not they support Open Booking.
This should be reflected in the definition of
8.1 Definition of a 'bookable' Opportunity and Offer pair