Offer

This page describes the Offer type.

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.

Properties

Optional properties

PropertyExpected TypeDescription

@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

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 Extension properties

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.

PropertyExpected TypeDescription

beta:partySize

Proposal #250

Number of people the reservation should accommodate.

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".

Last updated