Offer
This page describes the Offer type.
Last updated
This page describes the Offer type.
Last updated
This type is derived from https://schema.org/Offer, 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.
Property | Expected Type | Description |
---|---|---|
These properties are defined in the OpenActive Beta Extension. 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 Creative Commons Attribution License (CC-BY V4.0), and code samples are licensed under the MIT License, for anyone to access, use and share; using attribution "OpenActive".
Property | Expected Type | Description |
---|---|---|
@type
Must always be present and set to "@type": "Offer"
@id
A unique URI-based identifier for the record.
@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 RFC3986.
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
Array of PaymentMethod
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
Array of Concept
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.
Note that this property is in EARLY RELEASE AND IS SUBJECT TO CHANGE, as the Customer Accounts proposal evolves.
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
Text
- or -
PropertyValue
- or -
Array of PropertyValue
- or -
Integer
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
Array of OpenBookingFlowRequirement
openBookingInAdvance
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 https://openactive.io/Required, https://openactive.io/Optional or https://openactive.io/Unavailable.
Example
"openBookingInAdvance": "https://openactive.io/Required"
openBookingPrepayment
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 https://openactive.io/Required, https://openactive.io/Optional or https://openactive.io/Unavailable.
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:partySize
Number of people the reservation should accommodate.