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
  • Optional properties
  • Beta Extension properties
Edit on GitHub
  1. Data Model
  2. Types Reference

Offer

This page describes the Offer type.

PreviousOfferOverrideNextOnDemandEvent

Last updated 11 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

Optional properties

Property
Expected Type
Description

@type

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

@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/session-series/12345#/offers/2"

acceptedPaymentMethod

Indicates the offline payment methods accepted by this provider.

Example

"acceptedPaymentMethod": [ "http://purl.org/goodrelations/v1#Cash", "http://purl.org/goodrelations/v1#PaymentMethodCreditCard" ]

ageRange

DEPRECATED: Use ageRestriction instead of ageRange within the Offer for cases where the Offer is age restricted.

Indicates that an Offer is only applicable to a specific age range.

ageRestriction

Indicates that an Offer can only be purchased by participants within a specific age range. Specified as a QuantitativeValue with minValue and maxValue properties. This must be displayed prominently to the user when selecting an Offer or before booking.

Example

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

allowCustomerCancellationFullRefund

Whether the opportunity can be cancelled with a full refund at any time before the startDate, or before the latestCancellationBeforeStartDate if provided.

description

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

Example

"description": "Concession requirements are available at https://www.fusion-lifestyle.com/. Proof of entitlement to concession membership must be provided when you visit the centre."

eligibleEntitlementType

Offers in open data can be marked as requiring an entitlement type via eligibleEntitlementType. The same Offer may be applicable to multiple entitlement types, and the Customer must have at least one matching entitlement type to qualify for the Offer.

Example

"eligibleEntitlementType": [ { "@type": "Concept", "@id": "https://data.mcractive.com/openactive/entitlement-list#5e78bcbe-36db-425a-9064-bf96d09cc351", "prefLabel": "MCRactive Adult Resident", "inScheme": "https://data.mcractive.com/openactive/entitlement-list" } ]

identifier

A local non-URI identifier for the resource

Example

"identifier": "SB1234"

latestCancellationBeforeStartDate

The duration before the startDate during which this Offer may not be cancelled, given in ISO 8601 format.

name

The name of the Offer suitable for communication to participants.

Example

"name": "Speedball winger position"

openBookingFlowRequirement

openBookingInAdvance

Example

"openBookingInAdvance": "https://openactive.io/Required"

openBookingPrepayment

Example

"openBookingPrepayment": "https://openactive.io/Required"

price

The offer price of the activity.

This price should be specified without currency symbols and as a floating point number with two decimal places.

The currency of the price should be expressed in the priceCurrency field.

Includes or excludes tax depending on the taxMode of the seller.

Example

"price": 33

priceCurrency

The currency of the price. Specified as a 3-letter ISO 4217 value. If an Offer has a zero price, then this property is not required. Otherwise the priceCurrency must be specified.

Example

"priceCurrency": "GBP"

url

URL describing the offer

Example

"url": "http://www.rphs.org.uk/"

validFromBeforeStartDate

The duration before the startDate for which this Offer is valid, given in ISO 8601 format. This is a relatively-defined equivalent of schema:validFrom, to allow for Offer inheritance.

validThroughBeforeStartDate

The duration before the startDate after which the Offer is no longer valid, given in ISO 8601 format. This is a relatively-defined equivalent of schema:validThrough, to allow for Offer inheritance.

Beta Extension properties

Property
Expected Type
Description

beta:partySize

Number of people the reservation should accommodate.

@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

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

- or - - or - Array of - or -

Array of

Can include , , , ,

Indicates whether to accept this offer, a participant must book in advance, whether they must pay on attending, or have option to do either. Values must be one of , or .

Indicates whether to accept this offer, a participant must pay in advance, pay when attending, or have the option to do either. Values must be one of , or .

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.

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/Offer
OpenActive Beta Extension
Creative Commons Attribution License (CC-BY V4.0)
MIT License
OpenActive
Text
URL
RFC3986
PaymentMethod
QuantitativeValue
QuantitativeValue
Boolean
Text
Concept
Customer Accounts proposal
Text
PropertyValue
PropertyValue
Integer
Duration
Text
OpenBookingFlowRequirement
https://openactive.io/OpenBookingIntakeForm
https://openactive.io/OpenBookingAttendeeDetails
https://openactive.io/OpenBookingApproval
https://openactive.io/OpenBookingNegotiation
https://openactive.io/OpenBookingMessageExchange
RequiredStatusType
https://openactive.io/Required
https://openactive.io/Optional
https://openactive.io/Unavailable
RequiredStatusType
https://openactive.io/Required
https://openactive.io/Optional
https://openactive.io/Unavailable
Number
Text
URL
Duration
Duration
QuantitativeValue
Proposal #250