@openactive/data-models
Version:
Data models used to drive that OpenActive validator, developer documentation, and model libraries
195 lines • 4.88 kB
JSON
{
"type": "ScheduledSession",
"hasId": true,
"subClassOf": "#Event",
"sampleId": "https://api.example.com/scheduled-sessions/12345",
"notInSpec": [
"subEvent",
"organizer"
],
"requiredFields": [
"type",
"id",
"startDate"
],
"requiredOptions": [],
"recommendedFields": [
"eventStatus",
"leader",
"maximumAttendeeCapacity",
"remainingAttendeeCapacity",
"offers",
"url",
"endDate"
],
"shallNotInclude": [
"eventSchedule"
],
"validationMode": {
"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": "ordersFeed",
"OrderProposalsFeed": "ordersFeed",
"OrderStatus": "response",
"TestInterface": "testInterface"
},
"imperativeConfigurationWithContext": {},
"imperativeConfiguration": {
"testInterface": {
"requiredFields": [
"type"
],
"requiredOptions": [
{
"description": [
"For a request, a `superEvent` must be included. For a response, an `@id` must be included."
],
"options": [
"superEvent",
"id"
],
"oneOf": true
}
],
"recommendedFields": [],
"shallNotInclude": []
},
"request": {
"requiredFields": [
"type",
"id"
],
"recommendedFields": [],
"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",
"startDate",
"superEvent"
],
"recommendedFields": [
"eventStatus",
"maximumAttendeeCapacity",
"remainingAttendeeCapacity"
],
"shallNotInclude": [
"offers"
],
"shallNotBeReferencedFields": [
"superEvent"
]
},
"ordersFeed": {
"requiredFields": [
"type",
"id",
"startDate",
"superEvent"
],
"recommendedFields": [
"eventStatus",
"maximumAttendeeCapacity",
"remainingAttendeeCapacity"
],
"shallNotInclude": [
"offers"
]
}
},
"fields": {
"type": {
"fieldName": "type",
"requiredType": "https://schema.org/Text",
"requiredContent": "ScheduledSession"
},
"superEvent": {
"fieldName": "superEvent",
"sameAs": "https://schema.org/superEvent",
"model": "#Event",
"allowReferencing": true,
"description": [
"Relates a child event to a parent event. Properties describing the parent event can be assumed to apply to the child, unless otherwise specified. A parent event might specify a recurring schedule, of which the child event is one specific instance"
],
"inheritsFrom": {
"exclude": [
"id",
"identifier",
"subEvent",
"superEvent",
"url",
"eventSchedule",
"startDate",
"endDate"
]
}
},
"startDate": {
"fieldName": "startDate",
"sameAs": "https://schema.org/startDate",
"requiredType": "https://schema.org/DateTime",
"description": [
"The start date and time of the event."
],
"example": "2018-01-27T12:00:00Z"
},
"endDate": {
"fieldName": "endDate",
"sameAs": "https://schema.org/endDate",
"requiredType": "https://schema.org/DateTime",
"description": [
"The end date and time of the event.",
"It is recommended that publishers provide either an schema:endDate or a schema:duration for an event."
],
"example": "2018-01-27T12:00:00Z"
}
}
}