"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PublicGtfsDepartureDtoSchema = void 0;
const publicGtfsDepartureDtoSchema = {
    $schema: "http://json-schema.org/draft-04/schema#",
    title: "PublicGtfsDepartureDto",
    type: "array",
    items: {
        type: "object",
        properties: {
            stop_id: {
                type: "string",
            },
            departure_datetime: {
                type: "string",
            },
            arrival_datetime: {
                oneOf: [
                    {
                        type: "string",
                    },
                    {
                        type: "null",
                        nullable: true,
                    },
                ],
            },
            route_short_name: {
                type: "string",
            },
            route_type: {
                type: "number",
            },
            trip_id: {
                type: "string",
            },
            stop_sequence: {
                type: "number",
            },
            platform_code: {
                oneOf: [
                    {
                        type: "string",
                    },
                    {
                        type: "null",
                        nullable: true,
                    },
                ],
            },
            trip_headsign: {
                type: "string",
            },
            trip_headsign_icons: {
                oneOf: [
                    {
                        type: "string",
                    },
                    {
                        type: "null",
                        nullable: true,
                    },
                ],
            },
            connections: {
                oneOf: [
                    {
                        type: "array",
                        items: {
                            type: "object",
                            properties: {
                                from_trip_id: { type: "string" },
                                max_wait_sec: { type: "number" },
                            },
                            additionalProperties: false,
                            required: ["from_trip_id", "max_wait_sec"],
                        },
                    },
                    {
                        type: "null",
                        nullable: true,
                    },
                ],
            },
            wheelchair_accessible: {
                type: "number",
                nullable: true,
                enum: [0, 1, 2, null],
            },
            direction_id: {
                nullable: true,
                oneOf: [
                    {
                        type: "number",
                    },
                    {
                        type: "null",
                        nullable: true,
                    },
                ],
            },
            flags: {
                type: "object",
                nullable: true,
                properties: {
                    night: { type: "number", nullable: true },
                    reg: { type: "number", nullable: true },
                    subst: { type: "number", nullable: true },
                },
                additionalProperties: false,
            },
        },
        required: [
            "stop_id",
            "departure_datetime",
            "arrival_datetime",
            "route_short_name",
            "route_type",
            "trip_id",
            "stop_sequence",
            "platform_code",
            "trip_headsign",
        ],
    },
};
exports.PublicGtfsDepartureDtoSchema = publicGtfsDepartureDtoSchema;
//# sourceMappingURL=PublicGtfsDepartureDtoSchema.js.map