New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Describing free events, advanced booking requirements, etc #98
Comments
For the "Events that do not require booking in advance / Just turn up and pay" and "Just turn up for free" use cases, I'm going to suggest we use different property.
I think the key requirement is to indicate whether an Event is bookable in advance or whether you have to turn up and pay on the day. Events that are bookable in advance will have one or Offers that have However to make this clearer, and to be consistent with what we're doing with free events, I'm suggesting that we add a new property: We can specify a conformance rule to generate an error if is not bookable in advance, but there's an Offer with a URL. And perhaps generate a suggestion if there is an Offer with no url, to indicate that the |
I'd actually suggest the requirement is
Conformance rule and suggestion sound great! |
OK, so:
A user can turn up to an Event and pay on the day. Or its free. User can book in advance or turn up.
A user must book in advance to attend the Event. There MUST be at least one Offer with either a |
Additional Analysis of isAccessibleWithoutBooking and PrepaymentNoting an overlap with the Google Reserve concept of
It should be noted that where Google Reserve is capturing what is possible within the Reserve system, the semantics of Considering the possible states with respect to advanced booking rather than prepayment, along with the two properties proposed so far, neither are able to represent the options here:
New ProposalHence instead of
Each of which have potential values of:
With an additional two conformance rules:
Additionally in terms of booking functionality:
Advanced Booking / Prepayment State Matrix
|
I've updated this issue title to reflect the evolving discussion. Tagging in @drchristhorpe for overlap with booking specification. @nickevansuk suggest we discuss on community group call this afternoon. I've restated the key requirements below:
Neither of the second two requirements are currently covered in the modelling or booking specifications. I think the proposal makes sense, but I think the properties you're describing should be properties of an For two reasons:
The following would be an Offer that allows someone to book in advance. If they do they'll need to pay 5 quid. Otherwise they can choose to pay a fiver on the day.
Regardless of where the properties are added, there's some implications for the booking API. At a minimum this would need to be revised to:
There is an issue for this noted here Support for partial payments, e.g. booking now and paying later (but before the event) is currently out of scope for v1.0 of the booking spec. But there are also implications for API calls. E.g. if an Event must be booked in advance and there is no need to take payment (because its free, or because the user can choose not to pay until later), then could the apply calls be simplified? There is an issue for this here. This could be done as a single call. There are various options for doing that. |
I agree with all the rationale of putting this in Offer, in terms of flexibility and extensibility, interpretation of payment/booking/pricing, communicates meaning better etc. Only thing that I'm wondering is whether this makes it more difficult to display a notice like "Advanced Booking Required" in the UI at the event level, however this could be inferred from the Offers in aggregate in the same way as the primary price being displayed. In the future we will likely want to signify that an offer is a "headline price" (see #116), this same logic could be applied to aggregate advanceBooking and prepayment in a meaningful way for the UI requirement above. In the "headline price" proposal, the AggregateOffer subclasses Offer, so Offer still makes sense for this. So noting these considerations, agree with your revision @ldodds 👍 |
Also suggest default values of (if no properties provided)
|
@dolkensp @Jadecation @jopotts / @gregjoy1 @nickbaileyuk any thoughts on What do you think of the above? Specifically should this be set at the @jopotts / @gregjoy1 - I know that you have a "Pay later"/"Offline payments" option in Bookwhen? |
Hi all, i have had a look at the matrix and believe that this covers all possible bases and seems to make sense. In my opinion the matrix needs to be at Offer level rather than Event level. In some cases organisers will have special offers i.e. buy 10 where you have to buy them all in advance but if you only buy one you can buy it on the day. In reference to the pre-payment options the reality is that in some cases people will be able to (pre) pay online but other cases there will not be an online payment function so they will have to call and pay over the phone. This is a helpful piece of information for people to know how to progress with the booking so would be beneficial to include. |
I think it definitely needs to be available on I understand the desire to put something up higher for ease of use, but I think #116 will cover that off nicely. Specifically for Clubspark, we currently support multiple payment methods, including Stripe, Gocardless, Cheque, Cash, and in some cases, Third-Party wallets/accounts. It may be worth considering a more fully featured definition of payment methods/requirements where we can actually indicate which methods are available, and if they are pre/post/recurring payment. I can see a scenario, for example, where a provider may only want to display offers where payment can be taken via Paypal. |
Great insights @Jadecation @dolkensp - following your observations, can I propose two further properties: availableChannelThe following property defined on
The OpenBooking* relates to the availability of the OpenActive Open Booking API for this payment. This fits with the language of the existing schema.org properties acceptedPaymentMethod and availableDeliveryMethod. The idea is that Note we might also want to add Values for If specified at the Offer level this also allows for Online-only Offers, or a specific Offer for OpenBookingPrepayment. Suggested conformance rules:
acceptedPaymentMethodSuggest we add We should specify that in the OpenActive context acceptedPaymentMethod specifically relates to payment available at the Event (e.g. "cash on the door") rather than prepayment. Note that the above use of acceptedPaymentMethod is already implemented in Open Sessions and EMD in this way. Suggested conformance rules:
Suggestion to split out: acceptedPaymentMethod per channel into a separate issueIt's unlikely that we'd want to specify the types of acceptedPaymentMethods available on Hence I wonder whether per-channel acceptedPaymentMethod at the Organization or BookingService level should be factored into #147 and split out into a separate issue, as on balance it seems orthogonal to the other two properties here? I've created a starter-for-10: #160 Thoughts? |
@nickevansuk can you split out any new suggestions into separate proposals? |
@ldodds ^ have created #121 (comment) and #161 |
Replying from mobile, so forgive formatting, I'll try and clean it up when I'm back at a PC.
Regarding:
It's unlikely that we'd want to specify the types of acceptedPaymentMethods available on OnlinePrepayment, OpenBookingPrepayment and TelephonePrepayment on a per-Offer or per-Event basis
ClubSpark actually allows organizers to do exactly this.
I'm not familiar with the history of the capability, but I could imagine it might be used when organizing fundraising events (cash only potentially) or when you know certain sessions are going to be staffed by different organizers (who might not have the same payment facilities or training as a regular organizer)
I don't think it's critical, but something we do support.
Peter Dolkens
… On 13 Sep 2018, at 16:08, Nick Evans ***@***.***> wrote:
@ldodds ^ have done
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Interesting @dolkensp - do you have any data on how many organizers actually use the feature to create separate configurations per-Offer or per-Event? |
The The additional proposals will be part of a later revision. |
@nickevansuk sorry, haven't had a chance to look this up yet - pretty busy few weeks here. I'll try get to it next week if that's not too late. |
Fix required status type (part of #98)
Proposer
ODI
Use Case
When the event is free there needs to be a consistent way to describe how to access such an event.
Why is this not covered by existing properties?
Ways to describe free events with type
Offer
are currently ambiguous.Proposal
Bookable free Offers
To allow free opportunities to be booked through the same mechanism as paid opportunities, the following format must be used for a free bookable Offer. Note the “price” is set to the string “0”.
Free Events
For universally free events (distinct from those that have one or more free Offers as well as paid Offers) that require booking in advance, but are accessible for free to anyone, the following property must also be set:
Events that do not require booking in advance / Just turn up and pay
For events that may or may not be bookable, but are accessible without necessarily requiring booking in advance (i.e. “just turn up and pay”), the following property should also be set.
Just turn up for free
For events where no booking is required (though it may be available via an Offer) and the participant can “just turn up for free”, the above two properties can be used in combination:
Beta use
These properties are all present in schema.org, and can be used freely during beta.
The text was updated successfully, but these errors were encountered: