{
  "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."
      ]
    }
  }
}