UNPKG

@openactive/data-models

Version:

Data models used to drive that OpenActive validator, developer documentation, and model libraries

195 lines 4.88 kB
{ "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" } } }