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

Property

Expected Type

Description

@type

Text

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

@id

URL

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

QuantitativeValue

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

QuantitativeValue

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

Boolean

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

description

Text

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

identifier

Text - or - PropertyValue - or - Array of PropertyValue - or - Integer

A local non-URI identifier for the resource

Example

"identifier": "SB1234"

latestCancellationBeforeStartDate

Duration

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

name

Text

The name of the Offer suitable for communication to participants.

Example

"name": "Speedball winger position"

openBookingFlowRequirement

Array of OpenBookingFlowRequirement

Can include https://openactive.io/OpenBookingIntakeForm, https://openactive.io/OpenBookingAttendeeDetails, https://openactive.io/OpenBookingApproval, https://openactive.io/OpenBookingNegotiation, https://openactive.io/OpenBookingMessageExchange

openBookingInAdvance

RequiredStatusType

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

RequiredStatusType

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

Number

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

Text

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

URL describing the offer

Example

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

validFromBeforeStartDate

Duration

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.

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.

Property

Expected Type

Description

beta:partySize

QuantitativeValue

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