OpenActive Developers
Data ValidatorDataset DashboardW3C Community Group
  • Welcome to our community
  • Publishing Data
    • Data Feeds
      • How an RPDE data feed works
      • Types of RDPE feed
      • Implementing RPDE
      • Testing RPDE feeds
      • Scaling RPDE feeds
    • Activity list references
    • Including geo coordinates
    • Schedules
    • Dataset Sites
    • Virtual Events
    • On-Demand Events
    • Opening Hours
    • Data Quality
  • Using data
    • Harvesting opportunity data
      • Large Integers in JavaScript
    • Tutorial: Consuming an RPDE feed
    • Attribution
  • Open Booking API
    • Key Decisions
    • Implementing booking
    • Testing booking
      • Configuring Test Suite
      • Implementing the Test Interface
        • Test Interface Actions
        • Create Opportunity Endpoint
      • Random Mode: Generating Test Opportunity Data
      • Running Test Suite
      • Generating the Conformance Certificate
  • Data Model
    • Data Model Overview
    • @context and JSON-LD
    • Types Reference
      • Action
      • AudioObject
      • BabyChanging
      • Barcode
      • BookingService
      • BooleanFormFieldSpecification
      • Brand
      • ChangingFacilities
      • ConceptScheme
      • Concept
      • CourseInstance
      • Course
      • Creche
      • CustomerAccount
      • DataCatalog
      • DataDownload
      • Dataset
      • DropdownFormFieldSpecification
      • DynamicPayment
      • Entitlement
      • EventSeries
      • Event
      • FacilityUse
      • FileUploadFormFieldSpecification
      • GeoCoordinates
      • HeadlineEvent
      • ImageObject
      • IndividualFacilityUse
      • InternalApplicationError
      • InternalLibraryConfigurationError
      • InternalLibraryError
      • Lease
      • LocationFeatureSpecification
      • Lockers
      • MediaObject
      • OfferOverride
      • Offer
      • OnDemandEvent
      • OpenBookingError
      • OpeningHoursSpecification
      • OrderItem
      • OrderProposal
      • OrderQuote
      • Order
      • Organization
      • ParagraphFormFieldSpecification
      • Parking
      • PartialSchedule
      • Payment
      • Person
      • Place
      • PostalAddress
      • PriceSpecification
      • PrivacyPolicy
      • PropertyValueSpecification
      • PropertyValue
      • QuantitativeValue
      • Schedule
      • ScheduledSession
      • SessionSeries
      • ShortAnswerFormFieldSpecification
      • Showers
      • Slot
      • SportsActivityLocation
      • TaxChargeSpecification
      • TermsOfUse
      • Terms
      • Toilets
      • Towels
      • VideoObject
      • VirtualLocation
      • WebAPI
  • Specifications
    • Specifications Overview
  • Useful links
    • Data Visualiser
    • Data Validator
    • Dataset Dashboard
    • Non-technical Guidance
  • OpenActive on GitHub
    • Overview
    • Activity List
    • Community
    • Controlled Vocabularies
    • Dataset Publication
    • Documentation
    • Implementation Support
    • Programmes
    • RPDE
    • SKOS
    • Specifications
    • Validators
Powered by GitBook
On this page
  • Properties
  • Required properties
  • Recommended properties
  • Optional properties
  • Beta Extension properties
Edit on GitHub
  1. Data Model
  2. Types Reference

OnDemandEvent

This page describes the OnDemandEvent type.

PreviousOfferNextOpenBookingError

Last updated 10 months ago

This type is derived from , which means that any of this type's properties within schema.org may also be used. Note however the properties on this page must be used in preference if a relevant property is available.

Properties

Required properties

Property
Expected Type
Description

@type

Must always be present and set to "@type": "OnDemandEvent"

@id

A unique URI-based identifier for the record.

The primary purpose of the URI format in this context is to provide natural namespacing for the identifier. Hence, the URI itself may not resolve to a valid endpoint, but must use a domain name controlled by the resource owner (the organisation responsible for the OpenActive open data feed).

Example

"@id": "https://api.example.com/on-demand-events/12345"

activity

Specifies the physical activity or activities that will take place during an event.

Example

"activity": [ { "@type": "Concept", "@id": "https://openactive.io/activity-list#5e78bcbe-36db-425a-9064-bf96d09cc351", "prefLabel": "Bodypump™", "inScheme": "https://openactive.io/activity-list" } ]

name

The name of the event

Example

"name": "Speedball"

offers

An array of schema:Offer that include the price of attending.

Example

"offers": [ { "@type": "Offer", "identifier": "OX-AD", "name": "Adult", "price": 3.3, "priceCurrency": "GBP", "url": "https://profile.everyoneactive.com/booking?Site=0140&Activities=1402CBP20150217&Culture=en-GB" } ]

organizer

The person or organization ultimately responsible for an event. An organizer might be an schema:Organization or a schema:Person.

Example

"organizer": { "@type": "Organization", "@id": "https://id.bookingsystem.example.com/organizers/1", "name": "Central Speedball Association", "url": "http://www.speedball-world.com" }

url

A URL to a web page (or section of a page) that describes the event.

Example

"url": "https://example.com/event/1234"

Recommended properties

Property
Expected Type
Description

ageRange

Indicates that an event is recommended as being suitable for or is targetted at a specific age range.

Example

"ageRange": { "@type": "QuantitativeValue", "minValue": 50, "maxValue": 60 }

description

A plain text description of the event, which must not include HTML or other markup.

Example

"description": "A fast paced game that incorporates netball, handball and football."

duration

The duration of the event given in [ISO8601] format.

Example

"duration": "PT1H"

genderRestriction

Indicates that an event is restricted to male, female or a mixed audience. This information must be displayed prominently to the user before booking. If a gender restriction isn't specified then applications should assume that an event is suitable for a mixed audience.

Example

"genderRestriction": "https://openactive.io/FemaleOnly"

image

An image or photo that depicts the event, e.g. a photo taken at a previous event.

Example

"image": [ { "@type": "ImageObject", "url": "http://example.com/static/image/speedball_large.jpg", "thumbnail": [ { "@type": "ImageObject", "url": "http://example.com/static/image/speedball_thumbnail.jpg" } ] } ]

level

A general purpose property for specifying the suitability of an event for different participant “levels”. E.g. Beginner, Intermediate, Advanced. Or in the case of martial arts, specific belt requirements.

Example

"level": [ "Beginner" ]

workFeatured

A video, audio or other media that represents the actual recording of the OnDemandEvent.

Example

"workFeatured": { "@type": "VideoObject", "url": "https://www.youtube.com/watch?v=3fbCs0GVjgQ", "embedUrl": "https://www.youtube.com/embed/3fbCs0GVjgQ", "thumbnail": [ { "@type": "ImageObject", "url": "http://example.com/static/image/speedball_thumbnail.jpg" } ] }

Optional properties

Property
Expected Type
Description

accessibilityInformation

Provide additional, specific documentation for participants about how disabilities are, or can be supported at the Event.

Example

"accessibilityInformation": "This route has been British Cycling assessed as an accessible route, meaning it is suitable for the majority of adaptive bikes. The route will have no or low levels of traffic, there will be plenty of space and will have a good surface throughout. If you have any questions about using this route on an adaptive bike on this ride, please use visit https://www.letsride.co.uk/accessibility or call 0123 456 7000 and ask for the Recreation team."

accessibilitySupport

Used to specify the types of disabilities or impairments that are supported at an event.

Example

"accessibilitySupport": [ { "@type": "Concept", "@id": "https://openactive.io/accessibility-support#1393f2dc-3fcc-4be9-a99f-f1e51f5ad277", "prefLabel": "Visual impairment", "inScheme": "https://openactive.io/accessibility-support" } ]

additionalAdmissionRestriction

Free text restrictions that must be displayed prominently to the user before booking. This property must only contain restrictions not described by oa:ageRestriction or oa:genderRestriction.

Example

"additionalAdmissionRestriction": [ "Participants younger than 12 must be accompanied by an adult", "Participants must be comfortable standing for long periods of time" ]

ageRestriction

The enforced attendee age range requirement of the Event or Offer, that must be displayed prominently to the user before booking.

Example

"ageRestriction": { "@type": "QuantitativeValue", "minValue": 15, "maxValue": 60 }

attendeeInstructions

Provides additional notes and instructions for event attendees, for example more information on how to find the event, what to bring, etc. The value of this property must not include HTML or other markup.

Example

"attendeeInstructions": "Ensure you bring trainers and a bottle of water."

category

Provides a set of tags that help categorise and describe an event, e.g. its intensity, purpose, etc.

Example

"category": [ "High Intensity" ]

contributor

A Person who contributes to the facilitation of the Event.

Example

"contributor": [ { "@type": "Person", "familyName": "Smith", "givenName": "Nicole", "@id": "https://example.com/locations/1234ABCD/leaders/89", "identifier": 89 } ]

customerAccountBookingRestriction

Free text restrictions to display to the Customer at the browse stage, that may apply when using a Customer Account to make the booking.

Example

"customerAccountBookingRestriction": [ "Gold members only", "Gym induction required" ]

identifier

A local non-URI identifier for the resource

Example

"identifier": "SB1234"

isAccessibleForFree

Whether the Event is accessible without charge.

Example

"isAccessibleForFree": "true"

isCoached

A boolean property that indicates whether an Event will be coached. This flag allows an Event to be marked as being coached without having to specify a named individual as a coach. This addresses both privacy concerns and also scenarios where the actual coach may only be decided on the day.

Example

"isCoached": "true"

isOpenBookingWithCustomerAccountAllowed

Indicates that a Customer Account may be used to book that opportunity.

Example

"isOpenBookingWithCustomerAccountAllowed": "true"

leader

Refers to a person (schema:Person) who will be leading an event. E.g. a coach. This is a more specific role than an organiser or a contributor. The person will need to have given their consent for their personal information to be present in the Open Data.

Example

"leader": [ { "@type": "Person", "familyName": "Smith", "givenName": "Nicole", "gender": "https://schema.org/Male", "@id": "https://example.com/locations/1234ABCD/leaders/89", "identifier": 89 } ]

programme

Indicates that an event will be organised according to a specific Programme.

Example

"programme": { "@type": "Brand", "name": "Play Ball!", "url": "http://example.org/brand/play-ball" }

superEvent

Relates an OnDemandEvent to an EventSeries.

Beta Extension properties

Property
Expected Type
Description

beta:affiliatedLocation

The physical location affiliated with the virtual event, for example the original location of the event before it was moved online.

beta:attendeeCount

For events that have an unlimited number of tickets, captures the number of attendees (actual attendance).

beta:bookingChannel

The channels through which a booking can be made.

beta:contactPoint

Contact details for an Event, where they are not specifically related to the organizer or leader.

beta:distance

The distance of a run, cycle or other activity. Must also include units.

beta:donationPaymentUrl

The URL of the webpage where the activity provider accepts donations.

beta:estimatedDuration

A property that allows an Event duration to be represented as a range (e.g. 0-30mins, 30-60mins, 60-90mins, 90+).

beta:facilitySetting

Whether the event or facility is indoor or outdoor.

beta:formattedDescription

Sometimes a description is stored with formatting (e.g. href, bold, italics, embedded YouTube videos). This formatting can be useful for data consumers. This property must contain HTML.

beta:isFirstSessionAccessibleForFree

A property that indicates whether the first session is free.

beta:isInteractivityPreferred

Indicates whether the virtual event is interactive (e.g. Zoom with participant microphones and cameras on), or is just a one-way broadcast (e.g. Facebook Live, Instagram Live, Zoom with participant microphones and cameras off).

beta:isScheduledAsSlots

A property that indicates whether the event contains a high frequency of occurrences. Intended as a UI hint for interfaces that represent these occurrences.

beta:isVirtuallyCoached

A property that indicates whether the event is led by a virtual coach. Only relevant if an event isCoached. If not provided is assumed to be false.

beta:isWheelchairAccessible

A property that details whether the event is suitable for wheelchair access. Placed on Event as this field could be used to detail whether the Event is suitable, as well as the Place.

beta:offerValidityPeriod

Duration before the event for which the associated Offers are valid

beta:participantSuppliedEquipment

Indicates whether the participant must or may supply equipment for use in the Event.

beta:registrationCount

For events that have an unlimited number of tickets, captures the number of registrations (intention to attend).

beta:sportsActivityLocation

Internal location of the event, e.g. Court 1

beta:video

A related video object.

beta:virtualLocation

Describes a means of electronic access to a shared virtual space.

@id properties are used as identifiers for compatibility with JSON-LD. The value of such a property must always be an absolute URI that provides a stable globally unique identifier for the resource, as described in .

Array of

Array of

- or -

Array of

Array of - or - Array of

Array of

Array of

Array of - or - Array of

Array of

Array of

Note that this property is in EARLY RELEASE AND IS SUBJECT TO CHANGE, as the evolves.

- or - - or - Array of - or -

Note that this property is in EARLY RELEASE AND IS SUBJECT TO CHANGE, as the evolves.

Array of

These properties are defined in the . The OpenActive Beta Extension is defined as a convenience to help document properties that are in active testing and review by the community. Publishers should not assume that properties in the beta namespace will either be added to the core specification or be included in the namespace over the long term.

Array of

Array of

Array of

Except as otherwise noted, the content of this page is licensed under the , and code samples are licensed under the , for anyone to access, use and share; using attribution "".

https://schema.org/OnDemandEvent
OpenActive Beta Extension
Creative Commons Attribution License (CC-BY V4.0)
MIT License
OpenActive
Text
URL
RFC3986
Concept
Text
Offer
Organization
Person
URL
QuantitativeValue
Text
Duration
GenderRestrictionType
ImageObject
Text
Concept
MediaObject
Text
Concept
Text
QuantitativeValue
Text
Concept
Text
Person
Text
Customer Accounts proposal
Text
PropertyValue
PropertyValue
Integer
Boolean
Boolean
Boolean
Customer Accounts proposal
Person
Brand
Event
Place
Proposal #227
Integer
Proposal #274
BookingChannelType
Proposal #161
ContactPoint
Proposal #113
QuantitativeValue
Proposal #275
URL
Proposal #234
QuantitativeValue
Proposal #201
FacilitySettingType
Proposal #1
Text
Proposal #276
Boolean
Proposal #232
Boolean
Proposal #230
Boolean
Proposal #301
Boolean
Proposal #71
Boolean
Proposal #166
Duration
Proposal #204
RequiredStatusType
Proposal #229
Integer
Proposal #273
SportsActivityLocation
Proposal #110
VideoObject
Proposal #88
VirtualLocation
Proposal #224