{
  "type": "OnDemandEvent",
  "hasId": true,
  "subClassOf": "#Event",
  "derivedFrom": "https://schema.org/OnDemandEvent",
  "sampleId": "https://api.example.com/on-demand-events/12345",
  "requiredFields": [
    "type",
    "id",
    "name",
    "activity",
    "organizer",
    "offers",
    "url"
  ],
  "requiredOptions": [],
  "recommendedFields": [
    "duration",
    "description",
    "image",
    "level",
    "ageRange",
    "genderRestriction",
    "workFeatured"
  ],
  "inSpec": [
    "id",
    "type",
    "identifier",
    "url",
    "name",
    "description",
    "image",
    "startDate",
    "endDate",
    "duration",
    "location",
    "organizer",
    "contributor",
    "maximumAttendeeCapacity",
    "maximumVirtualAttendeeCapacity",
    "remainingAttendeeCapacity",
    "eventStatus",
    "subEvent",
    "superEvent",
    "activity",
    "category",
    "ageRange",
    "genderRestriction",
    "ageRestriction",
    "additionalAdmissionRestriction",
    "customerAccountBookingRestriction",
    "isOpenBookingWithCustomerAccountAllowed",
    "programme",
    "attendeeInstructions",
    "leader",
    "accessibilitySupport",
    "accessibilityInformation",
    "isCoached",
    "level",
    "meetingPoint",
    "isAccessibleForFree",
    "offers",
    "schedulingNote",
    "eventAttendanceMode",
    "workFeatured"
  ],
  "notInSpec": [
    "subEvent",
    "schedulingNote",
    "maximumAttendeeCapacity",
    "maximumVirtualAttendeeCapacity",
    "remainingAttendeeCapacity",
    "location",
    "startDate",
    "endDate",
    "eventAttendanceMode",
    "eventStatus",
    "meetingPoint"
  ],
  "shallNotInclude": [
    "eventSchedule"
  ],
  "validationMode": {
    "RPDEFeed": "feed",
    "BookableRPDEFeed": "feed",
    "C1Request": "request",
    "C1Response": "response",
    "C1ResponseOrderItemError": "response",
    "C2Request": "request",
    "C2Response": "response",
    "C2ResponseOrderItemError": "response",
    "PRequest": "request",
    "PResponse": "response",
    "PResponseOrderItemError": "response",
    "BRequest": "request",
    "BResponse": "response",
    "BResponseOrderItemError": "response",
    "OrdersFeed": "response",
    "OrderProposalsFeed": "response",
    "OrderStatus": "response",
    "TestInterface": "testInterface"
  },
  "imperativeConfiguration": {
    "feed": {},
    "testInterface": {
      "requiredFields": [
        "type"
      ],
      "recommendedFields": [],
      "shallNotInclude": []
    },
    "request": {
      "requiredFields": [
        "type",
        "id"
      ],
      "shallNotInclude": [
        "identifier",
        "url",
        "name",
        "description",
        "image",
        "startDate",
        "endDate",
        "duration",
        "location",
        "organizer",
        "contributor",
        "maximumAttendeeCapacity",
        "maximumVirtualAttendeeCapacity",
        "remainingAttendeeCapacity",
        "eventStatus",
        "subEvent",
        "superEvent",
        "activity",
        "category",
        "ageRange",
        "genderRestriction",
        "ageRestriction",
        "additionalAdmissionRestriction",
        "customerAccountBookingRestriction",
        "isOpenBookingWithCustomerAccountAllowed",
        "programme",
        "attendeeInstructions",
        "leader",
        "accessibilitySupport",
        "accessibilityInformation",
        "isCoached",
        "level",
        "meetingPoint",
        "isAccessibleForFree",
        "offers",
        "schedulingNote"
      ]
    },
    "response": {
      "requiredFields": [
        "type",
        "id",
        "url",
        "name",
        "location",
        "activity",
        "startDate"
      ],
      "recommendedFields": [
        "endDate",
        "duration",
        "ageRange",
        "genderRestriction",
        "eventStatus",
        "maximumAttendeeCapacity",
        "remainingAttendeeCapacity"
      ],
      "shallNotInclude": [
        "offers",
        "subEvent",
        "organizer"
      ]
    }
  },
  "fields": {
    "type": {
      "fieldName": "type",
      "requiredType": "https://schema.org/Text",
      "requiredContent": "OnDemandEvent"
    },
    "superEvent": {
      "fieldName": "superEvent",
      "sameAs": "https://schema.org/superEvent",
      "model": "#Event",
      "description": [
        "Relates an `OnDemandEvent` to an `EventSeries`."
      ],
      "inheritsFrom": {
        "exclude": [
          "id",
          "identifier",
          "subEvent",
          "superEvent",
          "offers",
          "startDate",
          "endDate"
        ]
      }
    },
    "workFeatured": {
      "fieldName": "workFeatured",
      "sameAs": "https://schema.org/workFeatured",
      "model": "#MediaObject",
      "description": [
        "A video, audio or other media that represents the actual recording of the `OnDemandEvent`."
      ],
      "example": {
        "@type": "VideoObject",
        "url": "https://www.youtube.com/watch?v=3fbCs0GVjgQ",
        "embedUrl": "https://www.youtube.com/embed/3fbCs0GVjgQ",
        "thumbnail": [
          {
            "@type": "ImageObject",
            "url": "http://example.com/static/image/speedball_thumbnail.jpg"
          }
        ]
      }
    }
  }
}