openactive / modelling-opportunity-data

OpenActive Modelling Opportunity Data specification
https://www.openactive.io/modelling-opportunity-data/
Other
6 stars 6 forks source link

prerequisites property #210

Open thill-odi opened 5 years ago

thill-odi commented 5 years ago

Proposer

ODI

Use Case

As a participant in a sporting activity, I want to know what formal qualifications (e.g., swimming certificate, archery training, health commitment statement) I need to fulfil to participate in an activity.

As an activity provider, I want to feel assured that all participants in my activity have the necessary formal qualifications to participate in it.

As an activity provider, I need to provide guarantees to my insurers that all participants in my activities are fit and able to do so.

Why is this not covered by existing properties?

This is simply not modelled anywhere in the Opportunity specification. termsOfService in the Booking spec is the closest thing we've got to this - but the domain is quite different.

Please provide a link to example data

Health Commitment Statements:

Background: http://test.ukactive.com/wp-content/uploads/2016/06/ukactive_HCS-1.pdf Example: https://www.lifestyle-intervention.uk/health-commitment-statement

Similarly, snorkelling/SCUBA: https://www.bsac.com/training/learn-to-snorkel/fit-to-snorkel/

Mandatory certification prior to booking opportunities:

(nb: it's not clear whether the comparative difficulty of getting this information is an argument for or against including it in the spec)

Archery: http://www.archeryuk.uk/prices.html.

Snorkelling/Scuba: https://www.bsac.com/already-a-diver/

Wall-climbing: https://www.mileendwall.org.uk/courses/detail/roped-climbing-for-beginners

Qualifications and Gradations

Swimming grades: https://www.better.org.uk/facilities-and-activities/lessons-and-courses/swimschool

Iyengar yoga, graded in terms of length of practice: https://iymv.org/iyengar-yoga-london-class-levels/

Proposal

Addition of a prerequisites array property, with a REQUIRED "name" property, a RECOMMENDED "url" attribute, and an OPTIONAL "description" field.

Example

"prerequisites":[
   {
      "name":"Snorkel self-declaration medical fitness form",
      "url":"https://www.bsac.com/training/learn-to-snorkel/fit-to-snorkel/",
      "description":"Snorkelling requires a reasonable level of fitness and there are some medical conditions that may prevent someone taking up the sport."
   },
   {
      "name":"British Sub Aqua Club Ocean Diver Certification",
      "url":"https://www.bsac.com/training/learn-to-scuba-dive/ocean-diver-course/#tab-1",
      "description":"If you’re keen to learn to dive, the BSAC’s Ocean Diver course is the place to start."
   }
]
thill-odi commented 5 years ago

Though we've more-or-less agreed to park this one until we've got more providers with this kind of data, I thought I'd throw down a couple of notes here from the 19 June call.

  1. It was suggested that we include some kind of ability to link to opportunities to gain the prerequisites - though what exact form this linkage would take, and how formalised it needed to be (simply a URL? A range of schema.org or OpenActive types?) remained open questions. 1a. Part of this question seemed to revolve around exactly what we're modelling: there's a (meaningful?) difference between a full-on 11-week SCUBA training course and a 30-minute intro to wall-climbing before you can use the facilities.
  2. Possibly the idea of a separate attribute here is simply overkill, and this information is better communicated in a freetext general description field.
  3. What this is largely capturing is the distinction between 'novice' and 'beginner', discussed at https://github.com/openactive/modelling-opportunity-data/issues/82.
thill-odi commented 5 years ago

Reviewing some of the questionnaire feedback, it seems clear that a number of sports and activities have prerequisites based on some kind of minimal safety training or experience - and that these prerequisites at times have legal or insurance implications (see e.g. Archery, Snorkelling, and Swimming)

The proposal, then, is to create another subclass of oa:Terms, along the lines of oa:PrivacyPolicy or oa:TermsOfUse, the purpose of which is two-fold:

So:

{
"type": "Prerequisites",
"name": "Duckling 4",
"url":" https://www.swimming.org/learntoswim/asa-duckling-awards/",
"requiresExplicitConsent":"true",
"relatedLink":"https://ducklingsanddolphins.co.uk/project/duckling-awards-1-4/"
}
thill-odi commented 5 years ago

Suggestions from @nickevansuk via the W3C call:

  1. In order to deal with situations were a number of different qualifications might exist (as in e.g. harmonised Welsh and English diving qualifications), this should be modelled as an array, with requiresExplicitConsent or similar in the parent.
  2. More research is needed to make sure we're covering all cases here.