openactive / open-booking-api

Repository for the Open Booking API specification
Other
2 stars 3 forks source link

Virtual event access control #176

Open nickevansuk opened 3 years ago

nickevansuk commented 3 years ago

When booking virtual events, a mechanism is required for the details of the online meeting to be sent to the Customer following a successful booking.

accessCode and accessPass work for physical sessions, however we need an additional property to cover virtual access (e.g. Zoom, Google, etc), to ensure that the booking of virtual events is supported.

For example:

"accessChannel": {
  "@type": "VirtualLocation",
  "name": "Zoom Video Chat",
  "url": "https://zoom.us/j/1234567890/signup",
  "accessId" : "1234567890",
  "accessCode" : "211277",
  "description": "Please log into Zoom a few minutes before the event"
},

Access details are often only sent prior to the event, and so are not always available at the time of booking, and hence notifications of such details should also be available.

Note that VirtualLocation should be defined in the modelling specification, as it has already been proposed as part of https://developer.openactive.io/publishing-data/virtual-events.

This proposal is therefore dependent on openactive/modelling-opportunity-data#224.

nickevansuk commented 3 years ago

This proposal has been included in the CR3 editors draft to aid existing implementers, using the text below. Comments welcome!

Proposed specification text

A VirtualLocation provides remote participants with a means of attending an Opportunity. The url SHOULD include encoded access credentials where possible. Manual access credentials name, accessId and accessCode SHOULD also be supplied to ensure the Customer can access the Opportunity from any device. description SHOULD include any other information necessary for the Customer to easily access the Opportunity.

For Opportunities that are accessible remotely, the attendeeInstructions of the Opportunity SHOULD include instructions that explain the remote set up, including how the Customer should participate in the Opportunity.

If an accessChannel is not available to the Customer immediately upon booking via the B response, and only accessible via notification, a customerNotice MUST be included in B that includes details of when the means of access will be shared with the Customer, for example "Details of a Zoom room will be sent 1 hour prior to the class starting".

The Broker MUST send an automatic reminder to the Customer that includes the details of the accessChannel 30 minutes prior to the class starting.

  "accessChannel": {
    "@type": "VirtualLocation",
    "url": "https://zoom.us/j/1234567890?pwd=SlBzaVpJaGY0UGJVMX",
    "name": "Zoom Video Chat",
    "accessId" : "1234567890",
    "accessCode" : "211277",
    "description": "Please log into Zoom a few minutes before the event"
  },