@openactive/data-models
Version:
Data models used to drive that OpenActive validator, developer documentation, and model libraries
159 lines • 5.66 kB
JSON
{
"type": "WebAPI",
"derivedFrom": "https://pending.schema.org/WebAPI",
"hasId": false,
"validationMode": {
"RPDEFeed": "noRequired",
"BookableRPDEFeed": "noRequired",
"DataCatalog": "noRequired",
"C1Request": "noRequired",
"C1Response": "noRequired",
"C1ResponseOrderItemError": "noRequired",
"C2Request": "noRequired",
"C2Response": "noRequired",
"C2ResponseOrderItemError": "noRequired",
"PRequest": "noRequired",
"PResponse": "noRequired",
"PResponseOrderItemError": "noRequired",
"BRequest": "noRequired",
"BResponse": "noRequired",
"BResponseOrderItemError": "noRequired",
"OrderProposalPatch": "noRequired",
"OrderPatch": "noRequired",
"OrdersFeed": "noRequired",
"OrderProposalsFeed": "noRequired",
"OrderStatus": "noRequired"
},
"imperativeConfiguration": {
"noRequired": {
"requiredFields": [],
"recommendedFields": []
}
},
"requiredFields": [
"type",
"name",
"endpointUrl",
"conformsTo",
"endpointDescription",
"landingPage"
],
"recommendedFields": [
"documentation",
"termsOfService"
],
"inSpec": [
"type",
"name",
"description",
"documentation",
"termsOfService",
"endpointUrl",
"conformsTo",
"endpointDescription",
"landingPage",
"authenticationAuthority"
],
"description": {
"sections": [
{
"title": "EARLY RELEASE NOTICE",
"paragraphs": [
"This class represents a draft that is designed to inform the OpenActive specification work with implementation feedback.",
"IT IS SUBJECT TO CHANGE, as the [Dataset API Discovery specification](https://openactive.io/dataset-api-discovery/EditorsDraft/) evolves."
]
}
]
},
"fields": {
"type": {
"fieldName": "type",
"requiredType": "https://schema.org/Text",
"requiredContent": "WebAPI"
},
"name": {
"fieldName": "name",
"sameAs": "https://schema.org/name",
"requiredType": "https://schema.org/Text",
"example": "Acme Leisure Sessions and Facilities",
"description": [
"The name of the WebAPI"
]
},
"description": {
"fieldName": "description",
"sameAs": "https://schema.org/description",
"requiredType": "https://schema.org/Text",
"example": "Near real-time availability and rich descriptions relating to the sessions and facilities available from {OrganisationName}, published using the OpenActive Modelling Specification 2.0.",
"description": [
"A plain text description of the Dataset, which must not include HTML or other markup."
]
},
"documentation": {
"fieldName": "documentation",
"sameAs": "https://pending.schema.org/documentation",
"requiredType": "https://schema.org/URL",
"example": "https://permalink.openactive.io/dataset-site/open-booking-api-documentation",
"description": [
"A link to documentation related to how to use the Open Booking API, or a link to the OpenActive developer documentation using `https://permalink.openactive.io/dataset-site/open-booking-api-documentation` if no system-specific documentation is available."
]
},
"termsOfService": {
"fieldName": "termsOfService",
"sameAs": "https://pending.schema.org/termsOfService",
"requiredType": "https://schema.org/URL",
"example": "https://example.bookingsystem.com/terms",
"description": [
"A link to terms of service related to the use of this API."
]
},
"endpointUrl": {
"fieldName": "endpointUrl",
"sameAs": "https://openactive.io/endpointUrl",
"requiredType": "https://schema.org/URL",
"example": "https://example.bookingsystem.com/api/openbooking",
"description": [
"The Base URI of this implementation of the Open Booking API"
],
"schemaNote": "This has been defined in the OpenActive namespace, given that it was dropped from the PR at https://github.com/schemaorg/schemaorg/pull/2635."
},
"conformsTo": {
"fieldName": "conformsTo",
"sameAs": "http://purl.org/dc/terms/conformsTo",
"requiredType": "ArrayOf#https://schema.org/URL",
"example": [
"https://openactive.io/open-booking-api/1.0/#core"
],
"description": [
"Indicates the version and profiles of OpenActive Open Booking Specification with which this WebAPI conforms, by specifying these as URLs."
]
},
"endpointDescription": {
"fieldName": "endpointDescription",
"sameAs": "http://www.w3.org/ns/dcat#endpointDescription",
"requiredType": "https://schema.org/URL",
"example": "https://openactive.io/open-booking-api/1.0/swagger.json",
"description": [
"The Open API document associated with this version of the Open Booking API"
]
},
"landingPage": {
"fieldName": "landingPage",
"sameAs": "http://www.w3.org/ns/dcat#landingPage",
"requiredType": "https://schema.org/URL",
"example": "https://exampleforms.com/get-me-an-api-access-key",
"description": [
"The URL of a web page that the Broker may use to obtain access to the API, e.g. via a web form."
]
},
"authenticationAuthority": {
"fieldName": "authenticationAuthority",
"sameAs": "https://openactive.io/authenticationAuthority",
"requiredType": "https://schema.org/URL",
"example": "https://auth.bookingsystem.com",
"description": [
"The location of the OpenID Provider that must be used to access the API."
]
}
}
}