{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "additionalProperties": false,
    "dependencies": {
        "frequencyType": [
            "frequencyStartTime",
            "frequencyEndTime",
            "frequencyHeadwaySeconds"
        ]
    },
    "properties": {
        "bikesAllowed": {
            "type": [
                "boolean",
                "null"
            ]
        },
        "blockId": {
            "type": [
                "string",
                "null"
            ]
        },
        "destinationArrivalTime": {
            "type": "string"
        },
        "destinationDepartureTime": {
            "type": "string"
        },
        "destinationDistTraveled": {
            "type": "number"
        },
        "destinationOnestopId": {
            "_format": "stop-onestop-id",
            "type": "string"
        },
        "destinationTimepointSource": {
            "type": "string"
        },
        "destinationTimezone": {
            "type": "string"
        },
        "dropOffType": {
            "type": [
                "string",
                "null"
            ]
        },
        "frequencyEndTime": {
            "type": [
                "string"
            ]
        },
        "frequencyHeadwaySeconds": {
            "type": [
                "integer"
            ]
        },
        "frequencyStartTime": {
            "type": [
                "string"
            ]
        },
        "frequencyType": {
            "enum": [
                "window",
                "exact",
                null
            ],
            "type": [
                "string",
                "null"
            ]
        },
        "originArrivalTime": {
            "type": "string"
        },
        "originDepartureTime": {
            "type": "string"
        },
        "originDistTraveled": {
            "type": "number"
        },
        "originOnestopId": {
            "_format": "stop-onestop-id",
            "type": "string"
        },
        "originTimepointSource": {
            "type": "string"
        },
        "originTimezone": {
            "type": "string"
        },
        "pickupType": {
            "type": [
                "string",
                "null"
            ]
        },
        "routeOnestopId": {
            "_format": "route-onestop-id",
            "type": "string"
        },
        "routeStopPatternOnestopId": {
            "type": "string"
        },
        "serviceAddedDates": {
            "items": {
                "_format": "date",
                "type": "string"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "serviceDaysOfWeek": {
            "items": {
                "type": "boolean"
            },
            "maxItems": 7,
            "minItems": 7,
            "type": "array"
        },
        "serviceEndDate": {
            "_format": "date",
            "type": "string"
        },
        "serviceExceptDates": {
            "items": {
                "_format": "date",
                "type": "string"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "serviceStartDate": {
            "_format": "date",
            "type": "string"
        },
        "shapeDistTraveled": {
            "type": [
                "number",
                "null"
            ]
        },
        "tags": {
            "type": [
                "object",
                "null"
            ]
        },
        "trip": {
            "type": [
                "string",
                "null"
            ]
        },
        "tripHeadsign": {
            "type": [
                "string",
                "null"
            ]
        },
        "tripShortName": {
            "type": [
                "string",
                "null"
            ]
        },
        "wheelchairAccessible": {
            "type": [
                "boolean",
                "null"
            ]
        },
        "windowEnd": {
            "type": "string"
        },
        "windowStart": {
            "type": "string"
        }
    },
    "required": [
        "originOnestopId",
        "destinationOnestopId",
        "routeOnestopId",
        "routeStopPatternOnestopId",
        "originArrivalTime",
        "originDepartureTime",
        "destinationArrivalTime",
        "destinationDepartureTime",
        "originTimezone",
        "destinationTimezone",
        "serviceStartDate",
        "serviceEndDate",
        "windowStart",
        "windowEnd"
    ],
    "title": "Transitland Datastore ScheduleStopPair",
    "type": "object"
}