ws-dottie
Version:
Your friendly TypeScript companion for Washington State transportation APIs - WSDOT and WSF data with smart caching and React Query integration
1 lines • 78.5 kB
Source Map (JSON)
{"version":3,"sources":["../src/apis/wsf-terminals/terminalBasics/shared/terminalBasics.input.ts","../src/apis/wsf-terminals/shared/terminalBaseSchema.ts","../src/apis/wsf-terminals/terminalBasics/shared/terminalBasics.output.ts","../src/apis/wsf-terminals/terminalBulletins/shared/terminalBulletins.input.ts","../src/apis/wsf-terminals/terminalBulletins/shared/terminalBulletins.output.ts","../src/apis/wsf-terminals/terminalLocations/shared/terminalLocations.input.ts","../src/apis/wsf-terminals/terminalLocations/shared/terminalLocations.output.ts","../src/apis/wsf-terminals/terminalSailingSpace/shared/terminalSailingSpace.input.ts","../src/apis/wsf-terminals/terminalSailingSpace/shared/terminalSailingSpace.output.ts","../src/apis/wsf-terminals/terminalTransports/shared/terminalTransports.input.ts","../src/apis/wsf-terminals/terminalTransports/shared/terminalTransports.output.ts","../src/apis/wsf-terminals/terminalVerbose/shared/terminalVerbose.input.ts","../src/apis/wsf-terminals/terminalWaitTimes/shared/terminalWaitTimes.output.ts","../src/apis/wsf-terminals/terminalVerbose/shared/terminalVerbose.output.ts","../src/apis/wsf-terminals/terminalWaitTimes/shared/terminalWaitTimes.input.ts"],"names":["terminalBasicsInputSchema","z","terminalBasicsByIdInputSchema","terminalBaseSchema","terminalBasicSchema","getAllTerminalBasicSchema","getSpecificTerminalBasicSchema","terminalBulletinsInputSchema","terminalBulletinsByIdInputSchema","bulletinSchema","zDotnetDate","terminalBulletinSchema","getAllTerminalBulletinsSchema","getSpecificTerminalBulletinSchema","terminalLocationsInputSchema","terminalLocationsByIdInputSchema","dispGISZoomLocSchema","terminalLocationSchema","getAllTerminalLocationsSchema","getSpecificTerminalLocationSchema","terminalSailingSpaceInputSchema","terminalSailingSpaceByTerminalIdInputSchema","spaceForArrivalTerminalSchema","departingSpaceSchema","terminalSailingSpaceSchema","getAllTerminalSailingSpaceSchema","getSpecificTerminalSailingSpaceSchema","terminalTransportsInputSchema","terminalTransportsByTerminalIdInputSchema","transitLinkSchema","terminalTransportSchema","getAllTerminalTransportsSchema","getSpecificTerminalTransportSchema","terminalVerboseInputSchema","terminalVerboseByTerminalIdInputSchema","waitTimeSchema","terminalWaitTimeSchema","getAllTerminalWaitTimesSchema","terminalVerboseSchema","getAllTerminalVerboseSchema","terminalWaitTimesInputSchema","terminalWaitTimesByIdInputSchema"],"mappings":"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","file":"chunk-PSIZWFGF.mjs","sourcesContent":["/**\n * @fileoverview WSF Terminals API Input Schemas\n *\n * This module provides Zod schemas for validating input parameters for the WSF\n * Terminals API endpoints.\n */\n\nimport { z } from \"@/shared/zod\";\n\n/**\n * Schema for TerminalBasics input parameters\n *\n * This operation retrieves the most basic / brief information pertaining to terminals. A TerminalID, or unique terminal identifier, may be optionally passed to retrieve a specific terminal.\n */\nexport const terminalBasicsInputSchema = z\n .object({})\n .describe(\"Input parameters for retrieving basic terminal information.\");\n\nexport type TerminalBasicsInput = z.infer<typeof terminalBasicsInputSchema>;\n\n/**\n * Schema for TerminalBasicsById input parameters\n *\n * This operation retrieves the most basic / brief information pertaining to terminals. A TerminalID, or unique terminal identifier, may be optionally passed to retrieve a specific terminal.\n */\nexport const terminalBasicsByIdInputSchema = z\n .object({\n TerminalID: z.number().int().describe(\"Numeric ID of the terminal.\"),\n })\n .describe(\n \"Input parameters for retrieving basic information for a specific terminal.\"\n );\n\nexport type TerminalBasicsByIdInput = z.infer<\n typeof terminalBasicsByIdInputSchema\n>;\n","import { z } from \"@/shared/zod\";\n\n/**\n * Base terminal schema containing common fields shared across all terminal schemas\n */\nexport const terminalBaseSchema = z\n .object({\n TerminalID: z.number().int().describe(\"Numeric ID of the terminal.\"),\n TerminalSubjectID: z\n .number()\n .int()\n .describe(\n \"Numeric ID of the terminal in the WSF subject management system.\"\n ),\n RegionID: z\n .number()\n .int()\n .describe(\n \"Numeric ID of the geographical region where the terminal is located.\"\n ),\n TerminalName: z\n .string()\n .nullable()\n .describe(\"Display name of the terminal.\"),\n TerminalAbbrev: z\n .string()\n .nullable()\n .describe(\"Abbreviation code for the terminal.\"),\n SortSeq: z\n .number()\n .int()\n .describe(\"Display sort order; lower values appear first in lists.\"),\n })\n .describe(\n \"Base terminal information including identification, naming, regional association, and display ordering.\"\n );\n\nexport type TerminalBase = z.infer<typeof terminalBaseSchema>;\n","/**\n * @fileoverview WSF Terminals API Output Schemas\n *\n * This module provides Zod schemas for validating output data from the WSF\n * Terminals API endpoints.\n */\n\nimport { z } from \"@/shared/zod\";\nimport { terminalBaseSchema } from \"../../shared/terminalBaseSchema\";\n\n/**\n * TerminalBasicDetail schema\n *\n * This operation retrieves the most basic / brief information pertaining to terminals. A TerminalID, or unique terminal identifier, may be optionally passed to retrieve a specific terminal.\n */\nexport const terminalBasicSchema = terminalBaseSchema\n .extend({\n OverheadPassengerLoading: z\n .boolean()\n .describe(\n \"True if overhead passenger loading facility is available; otherwise false.\"\n ),\n Elevator: z\n .boolean()\n .describe(\"True if terminal has elevator access; otherwise false.\"),\n WaitingRoom: z\n .boolean()\n .describe(\"True if terminal has waiting room facility; otherwise false.\"),\n FoodService: z\n .boolean()\n .describe(\"True if terminal offers food service; otherwise false.\"),\n Restroom: z\n .boolean()\n .describe(\"True if terminal has restroom facilities; otherwise false.\"),\n })\n .describe(\n \"Basic terminal information including identification, amenities, and regional assignments.\"\n );\n\nexport type TerminalBasic = z.infer<typeof terminalBasicSchema>;\n\n/**\n * GetAllTerminalBasicDetails schema\n *\n * Returns all terminal basic details.\n */\nexport const getAllTerminalBasicSchema = z\n .array(terminalBasicSchema)\n .describe(\"Array of basic terminal information for all terminals.\");\n\nexport type GetAllTerminalBasic = z.infer<typeof getAllTerminalBasicSchema>;\n\n/**\n * GetSpecificTerminalBasicDetail schema\n *\n * Returns basic details for a specific terminal.\n */\nexport const getSpecificTerminalBasicSchema = terminalBasicSchema;\n\nexport type GetSpecificTerminalBasic = z.infer<\n typeof getSpecificTerminalBasicSchema\n>;\n","/**\n * @fileoverview WSF Terminals API Input Schemas\n *\n * This module provides Zod schemas for validating input parameters for the WSF\n * Terminals API endpoints.\n */\n\nimport { z } from \"@/shared/zod\";\n\n/**\n * Schema for TerminalBulletins input parameters\n *\n * This operation retrieves alerts and bulletins associated with terminals. Each terminal may have zero or more bulletins assigned to it. A TerminalID, or unique terminal identifier, may be optionally passed to retrieve a specific terminal.\n */\nexport const terminalBulletinsInputSchema = z\n .object({})\n .describe(\"Input parameters for retrieving terminal bulletins and alerts.\");\n\nexport type TerminalBulletinsInput = z.infer<\n typeof terminalBulletinsInputSchema\n>;\n\n/**\n * Schema for TerminalBulletinsById input parameters\n *\n * This operation retrieves alerts and bulletins associated with terminals. Each terminal may have zero or more bulletins assigned to it. A TerminalID, or unique terminal identifier, may be optionally passed to retrieve a specific terminal.\n */\nexport const terminalBulletinsByIdInputSchema = z\n .object({\n TerminalID: z.number().int().describe(\"Numeric ID of the terminal.\"),\n })\n .describe(\n \"Input parameters for retrieving bulletins and alerts for a specific terminal.\"\n );\n\nexport type TerminalBulletinsByIdInput = z.infer<\n typeof terminalBulletinsByIdInputSchema\n>;\n","/**\n * @fileoverview WSF Terminals API Output Schemas\n *\n * This module provides Zod schemas for validating output data from the WSF\n * Terminals API endpoints.\n */\n\nimport { zDotnetDate } from \"@/apis/shared\";\nimport { z } from \"@/shared/zod\";\nimport { terminalBaseSchema } from \"../../shared/terminalBaseSchema\";\n\n/**\n * Bulletin schema\n *\n * This operation retrieves alerts and bulletins associated with terminals. Each terminal may have zero or more bulletins assigned to it. A TerminalID, or unique terminal identifier, may be optionally passed to retrieve a specific terminal.\n */\nexport const bulletinSchema = z\n .object({\n BulletinTitle: z.string().nullable().describe(\"Title of the bulletin.\"),\n BulletinText: z\n .string()\n .nullable()\n .describe(\"HTML-formatted content of the bulletin.\"),\n BulletinSortSeq: z\n .number()\n .int()\n .describe(\n \"Display sort order for the bulletin; lower values appear first.\"\n ),\n BulletinLastUpdated: zDotnetDate()\n .nullable()\n .describe(\"UTC datetime when the bulletin was last updated.\"),\n BulletinLastUpdatedSortable: z\n .string()\n .nullable()\n .describe(\n \"Legacy sortable string representation of the bulletin update date.\"\n ),\n })\n .describe(\n \"Bulletin information including title, HTML content, sort order, and update date.\"\n );\n\nexport type Bulletin = z.infer<typeof bulletinSchema>;\n\n/**\n * TerminalBulletin schema\n *\n * Contains terminal information with associated bulletins.\n */\nexport const terminalBulletinSchema = terminalBaseSchema\n .extend({\n Bulletins: z\n .array(bulletinSchema)\n .describe(\"Array of bulletins and alerts associated with the terminal.\"),\n })\n .describe(\"Terminal information with associated bulletins and alerts.\");\n\nexport type TerminalBulletin = z.infer<typeof terminalBulletinSchema>;\n\n/**\n * GetAllTerminalBulletins schema\n *\n * Returns all terminal bulletins.\n */\nexport const getAllTerminalBulletinsSchema = z\n .array(terminalBulletinSchema)\n .describe(\"Array of terminal information with bulletins for all terminals.\");\n\nexport type GetAllTerminalBulletins = z.infer<\n typeof getAllTerminalBulletinsSchema\n>;\n\n/**\n * GetSpecificTerminalBulletin schema\n *\n * Returns bulletins for a specific terminal.\n */\nexport const getSpecificTerminalBulletinSchema = terminalBulletinSchema;\n\nexport type GetSpecificTerminalBulletin = z.infer<\n typeof getSpecificTerminalBulletinSchema\n>;\n","/**\n * @fileoverview WSF Terminals API Input Schemas\n *\n * This module provides Zod schemas for validating input parameters for the WSF\n * Terminals API endpoints.\n */\n\nimport { z } from \"@/shared/zod\";\n\n/**\n * Schema for TerminalLocations input parameters\n *\n * This operation retrieves detailed location information pertaining to terminals. A TerminalID, or unique terminal identifier, may be optionally passed to retrieve a specific terminal.\n */\nexport const terminalLocationsInputSchema = z\n .object({})\n .describe(\"Input parameters for retrieving terminal location information.\");\n\nexport type TerminalLocationsInput = z.infer<\n typeof terminalLocationsInputSchema\n>;\n\n/**\n * Schema for TerminalLocationsById input parameters\n *\n * This operation retrieves detailed location information pertaining to terminals. A TerminalID, or unique terminal identifier, may be optionally passed to retrieve a specific terminal.\n */\nexport const terminalLocationsByIdInputSchema = z\n .object({\n TerminalID: z.number().int().describe(\"Numeric ID of the terminal.\"),\n })\n .describe(\n \"Input parameters for retrieving location information for a specific terminal.\"\n );\n\nexport type TerminalLocationsByIdInput = z.infer<\n typeof terminalLocationsByIdInputSchema\n>;\n","/**\n * @fileoverview WSF Terminals API Output Schemas\n *\n * This module provides Zod schemas for validating output data from the WSF\n * Terminals API endpoints.\n */\n\nimport { z } from \"@/shared/zod\";\nimport { terminalBaseSchema } from \"../../shared/terminalBaseSchema\";\n\n/**\n * DispGISZoomLoc schema\n *\n * Contains GIS zoom level location information.\n */\nexport const dispGISZoomLocSchema = z\n .object({\n ZoomLevel: z.number().int().describe(\"GIS zoom level for map display.\"),\n Latitude: z\n .number()\n .nullable()\n .describe(\"Latitude coordinate for this zoom level in decimal degrees.\"),\n Longitude: z\n .number()\n .nullable()\n .describe(\"Longitude coordinate for this zoom level in decimal degrees.\"),\n })\n .describe(\n \"GIS zoom level location information including zoom level and coordinates.\"\n );\n\nexport type DispGISZoomLoc = z.infer<typeof dispGISZoomLocSchema>;\n\n/**\n * TerminalLocation schema\n *\n * This operation retrieves detailed location information pertaining to terminals. A TerminalID, or unique terminal identifier, may be optionally passed to retrieve a specific terminal.\n */\nexport const terminalLocationSchema = terminalBaseSchema\n .extend({\n Latitude: z\n .number()\n .nullable()\n .describe(\"Latitude of the terminal in decimal degrees.\"),\n Longitude: z\n .number()\n .nullable()\n .describe(\"Longitude of the terminal in decimal degrees.\"),\n AddressLineOne: z\n .string()\n .nullable()\n .describe(\"First line of the terminal street address.\"),\n AddressLineTwo: z\n .string()\n .nullable()\n .describe(\"Second line of the terminal street address.\"),\n City: z.string().nullable().describe(\"City where the terminal is located.\"),\n State: z\n .string()\n .nullable()\n .describe(\"State code where the terminal is located.\"),\n ZipCode: z\n .string()\n .nullable()\n .describe(\"Postal zip code for the terminal location.\"),\n Country: z\n .string()\n .nullable()\n .describe(\"Country code where the terminal is located.\"),\n MapLink: z\n .string()\n .nullable()\n .describe(\"URL to a map displaying the terminal location.\"),\n Directions: z\n .string()\n .nullable()\n .describe(\"HTML-formatted driving directions to the terminal.\"),\n DispGISZoomLoc: z\n .array(dispGISZoomLocSchema)\n .nullable()\n .describe(\"Array of GIS zoom level locations for the terminal.\"),\n })\n .describe(\n \"Detailed terminal location information including coordinates, address, map link, driving directions, and GIS zoom level locations.\"\n );\n\nexport type TerminalLocation = z.infer<typeof terminalLocationSchema>;\n\n/**\n * GetAllTerminalLocations schema\n *\n * Returns all terminal locations.\n */\nexport const getAllTerminalLocationsSchema = z\n .array(terminalLocationSchema)\n .describe(\"Array of location information for all terminals.\");\n\nexport type GetAllTerminalLocations = z.infer<\n typeof getAllTerminalLocationsSchema\n>;\n\n/**\n * GetSpecificTerminalLocation schema\n *\n * Returns location information for a specific terminal.\n */\nexport const getSpecificTerminalLocationSchema = terminalLocationSchema;\n\nexport type GetSpecificTerminalLocation = z.infer<\n typeof getSpecificTerminalLocationSchema\n>;\n","/**\n * @fileoverview WSF Terminals API Input Schemas\n *\n * This module provides Zod schemas for validating input parameters for the WSF\n * Terminals API endpoints.\n */\n\nimport { z } from \"@/shared/zod\";\n\n/**\n * Schema for TerminalSailingSpace input parameters\n *\n * This operation reflects terminal condition data (the number of drive-up and reservation spaces available for select departures). A TerminalID, or unique terminal identifier, may be optionally passed to retrieve a specific terminal.\n *\n * **⚠️ Important:** This data changes very frequently (potentially every 5 seconds). Please do not cache results in your application for an extended period of time.\n */\nexport const terminalSailingSpaceInputSchema = z\n .object({})\n .describe(\n \"Input parameters for retrieving terminal sailing space availability.\"\n );\n\nexport type TerminalSailingSpaceInput = z.infer<\n typeof terminalSailingSpaceInputSchema\n>;\n\n/**\n * Schema for TerminalSailingSpaceById input parameters\n *\n * This operation reflects terminal condition data (the number of drive-up and reservation spaces available for select departures). A TerminalID, or unique terminal identifier, may be optionally passed to retrieve a specific terminal.\n *\n * **⚠️ Important:** This data changes very frequently (potentially every 5 seconds). Please do not cache results in your application for an extended period of time.\n */\nexport const terminalSailingSpaceByTerminalIdInputSchema = z\n .object({\n TerminalID: z.number().int().describe(\"Numeric ID of the terminal.\"),\n })\n .describe(\n \"Input parameters for retrieving sailing space availability for a specific terminal.\"\n );\n\nexport type TerminalSailingSpaceByTerminalIdInput = z.infer<\n typeof terminalSailingSpaceByTerminalIdInputSchema\n>;\n","/**\n * @fileoverview WSF Terminals API Output Schemas\n *\n * This module provides Zod schemas for validating output data from the WSF\n * Terminals API endpoints.\n */\n\nimport { zDotnetDate } from \"@/apis/shared\";\nimport { z } from \"@/shared/zod\";\nimport { terminalBaseSchema } from \"../../shared/terminalBaseSchema\";\n\n/**\n * SpaceForArrivalTerminal schema\n *\n * Contains space information for arrival terminals.\n */\nexport const spaceForArrivalTerminalSchema = z\n .object({\n TerminalID: z\n .number()\n .int()\n .describe(\n \"Unique identifier for arrival terminal destination, as an integer ID. E.g., '10' for Friday Harbor terminal, '13' for Lopez Island terminal. Used to identify destination terminal for space availability.\"\n ),\n TerminalName: z\n .string()\n .nullable()\n .describe(\n \"Human-readable name of arrival terminal destination, as a terminal name. E.g., 'Anacortes -> Friday Harbor' for multi-destination sailing, 'Seattle' for single destination, null when terminal name is unavailable. Provides destination identification for display.\"\n ),\n VesselID: z\n .number()\n .int()\n .describe(\n \"Unique identifier for vessel planned to service departure, as an integer ID. E.g., '69' for Samish vessel, '38' for Yakima vessel, '17' for Kaleetan vessel. Used to identify which vessel operates departure.\"\n ),\n VesselName: z\n .string()\n .nullable()\n .describe(\n \"Human-readable name of vessel planned to service departure, as a vessel name. E.g., 'Samish' for vessel 69, 'Yakima' for vessel 38, 'Kaleetan' for vessel 17, null when vessel name is unavailable. Provides vessel identification for display.\"\n ),\n DisplayReservableSpace: z\n .boolean()\n .describe(\n \"Indicator whether reservable space information should be displayed, as a boolean. E.g., true for routes supporting reservations, false for routes without reservations. Used to determine if reservation space data should be shown.\"\n ),\n ReservableSpaceCount: z\n .number()\n .int()\n .nullable()\n .describe(\n \"Remaining reservable vehicle spaces available on vessel, as an integer count. E.g., '45' for 45 reservable spaces remaining, '36' for 36 reservable spaces, null when reservations are not supported or count is unavailable. Used for reservation availability display.\"\n ),\n ReservableSpaceHexColor: z\n .string()\n .nullable()\n .describe(\n \"Hex color code representing reservable space availability status, as a hex color. E.g., '#FFFF00' for yellow (limited availability), '#888888' for gray (not available), null when color is unavailable. Used for visual space availability indicators.\"\n ),\n DisplayDriveUpSpace: z\n .boolean()\n .describe(\n \"Indicator whether drive-up space information should be displayed, as a boolean. E.g., true for routes with drive-up space tracking, false when drive-up space is not tracked. Used to determine if drive-up space data should be shown.\"\n ),\n DriveUpSpaceCount: z\n .number()\n .int()\n .nullable()\n .describe(\n \"Remaining drive-up vehicle spaces available on vessel, as an integer count. E.g., '67' for 67 drive-up spaces remaining, '197' for 197 drive-up spaces, null when drive-up space is not tracked or count is unavailable. Used for drive-up availability display.\"\n ),\n DriveUpSpaceHexColor: z\n .string()\n .nullable()\n .describe(\n \"Hex color code representing drive-up space availability status, as a hex color. E.g., '#00FF00' for green (good availability), '#FFFF00' for yellow (limited availability), null when color is unavailable. Used for visual space availability indicators.\"\n ),\n MaxSpaceCount: z\n .number()\n .int()\n .describe(\n \"Maximum vehicle capacity on vessel making departure, as an integer count. E.g., '141' for Samish vessel capacity, '139' for Yakima vessel capacity, '197' for Tacoma vessel capacity. Used to calculate space availability percentage.\"\n ),\n ArrivalTerminalIDs: z\n .array(z.number().int())\n .nullable()\n .describe(\n \"Array of arrival terminal IDs associated with this space count set, as terminal ID integers. E.g., array containing terminal 10 for single destination, array containing terminals 13, 10 for multi-destination sailing, null when terminal IDs are unavailable. Used to identify all destinations served by this space count.\"\n ),\n })\n .describe(\n \"Represents space availability information for arrival terminal destination including terminal/vessel identification, reservable space count and color, drive-up space count and color, maximum capacity, and arrival terminal IDs. E.g., Friday Harbor destination with 67 drive-up spaces (green) and 141 maximum capacity on Samish vessel. Used for real-time space availability display.\"\n );\n\nexport type SpaceForArrivalTerminal = z.infer<\n typeof spaceForArrivalTerminalSchema\n>;\n\n/**\n * DepartingSpace schema\n *\n * Contains departing space information.\n */\nexport const departingSpaceSchema = z\n .object({\n Departure: zDotnetDate().describe(\n \"Date and time of departure, as a UTC datetime. E.g., '2025-11-02T21:35:00.000Z' for departure at 9:35 PM on November 2, 2025. Used for departure schedule display and space availability timing.\"\n ),\n IsCancelled: z\n .boolean()\n .describe(\n \"Indicator whether departure is cancelled, as a boolean. E.g., false for active departures, true for cancelled departures. Used to determine if departure is operational.\"\n ),\n VesselID: z\n .number()\n .int()\n .describe(\n \"Unique identifier for vessel planned to service departure, as an integer ID. E.g., '69' for Samish vessel, '38' for Yakima vessel, '17' for Kaleetan vessel. Used to identify which vessel operates departure.\"\n ),\n VesselName: z\n .string()\n .nullable()\n .describe(\n \"Human-readable name of vessel planned to service departure, as a vessel name. E.g., 'Samish' for vessel 69, 'Yakima' for vessel 38, 'Kaleetan' for vessel 17, null when vessel name is unavailable. Provides vessel identification for display.\"\n ),\n MaxSpaceCount: z\n .number()\n .int()\n .describe(\n \"Maximum vehicle capacity on vessel making departure, as an integer count. E.g., '141' for Samish vessel capacity, '139' for Yakima vessel capacity, '197' for Tacoma vessel capacity. Used to calculate space availability percentage.\"\n ),\n SpaceForArrivalTerminals: z\n .array(spaceForArrivalTerminalSchema)\n .nullable()\n .describe(\n \"Array of space availability information for one or more arrival terminal destinations, as space for arrival terminal objects. E.g., array containing Friday Harbor destination with space counts, array containing multiple destinations for multi-destination sailing, null when space information is unavailable. Used for real-time space availability display by destination.\"\n ),\n })\n .describe(\n \"Represents departing space information including departure time, cancellation status, vessel details, maximum capacity, and space availability for arrival terminals. E.g., departure at 9:35 PM with Samish vessel (ID 69, capacity 141) and space information for Friday Harbor destination. Used for real-time departure space availability display.\"\n );\n\nexport type DepartingSpace = z.infer<typeof departingSpaceSchema>;\n\n/**\n * TerminalSailingSpace schema\n *\n * This operation reflects terminal condition data (the number of drive-up and reservation spaces available for select departures). A TerminalID, or unique terminal identifier, may be optionally passed to retrieve a specific terminal.\n */\nexport const terminalSailingSpaceSchema = terminalBaseSchema\n .extend({\n DepartingSpaces: z\n .array(departingSpaceSchema)\n .nullable()\n .optional()\n .describe(\n \"Array of upcoming departures leaving terminal with space availability information, as departing space objects. E.g., array containing multiple departures with vessel and space details, null when departure information is unavailable. Used for real-time departure space availability display.\"\n ),\n IsNoFareCollected: z\n .boolean()\n .nullable()\n .describe(\n \"Indicator whether terminal is capable of collecting fares, as a boolean. E.g., null when fare collection status is unknown, false when terminal collects fares, true when terminal does not collect fares. Used to determine fare collection capability.\"\n ),\n NoFareCollectedMsg: z\n .string()\n .nullable()\n .describe(\n \"Optional message explaining how inability to collect fares affects terminal conditions data, as a message string. E.g., null when fare collection is available, message when fare collection affects space tracking accuracy. Used to inform users about data limitations.\"\n ),\n })\n .describe(\n \"Terminal sailing space information including terminal identification, upcoming departures with space availability, and fare collection status.\"\n );\n\nexport type TerminalSailingSpace = z.infer<typeof terminalSailingSpaceSchema>;\n\n/**\n * GetAllTerminalSailingSpace schema\n *\n * Returns all terminal sailing space information.\n */\nexport const getAllTerminalSailingSpaceSchema = z\n .array(terminalSailingSpaceSchema)\n .describe(\"Array of sailing space information for all terminals.\");\n\nexport type GetAllTerminalSailingSpace = z.infer<\n typeof getAllTerminalSailingSpaceSchema\n>;\n\n/**\n * GetSpecificTerminalSailingSpace schema\n *\n * Returns sailing space information for a specific terminal.\n */\nexport const getSpecificTerminalSailingSpaceSchema = terminalSailingSpaceSchema;\n\nexport type GetSpecificTerminalSailingSpace = z.infer<\n typeof getSpecificTerminalSailingSpaceSchema\n>;\n","/**\n * @fileoverview WSF Terminals API Input Schemas\n *\n * This module provides Zod schemas for validating input parameters for the WSF\n * Terminals API endpoints.\n */\n\nimport { z } from \"@/shared/zod\";\n\n/**\n * Schema for TerminalTransports input parameters\n *\n * This operation provides helpful information for terminal commuters (including parking notes, vehicle-specific tips, etc). A TerminalID, or unique terminal identifier, may be optionally passed to retrieve a specific terminal.\n */\nexport const terminalTransportsInputSchema = z\n .object({})\n .describe(\n \"Input parameters for retrieving terminal transportation information.\"\n );\n\nexport type TerminalTransportsInput = z.infer<\n typeof terminalTransportsInputSchema\n>;\n\n/**\n * Schema for TerminalTransportsById input parameters\n *\n * This operation provides helpful information for terminal commuters (including parking notes, vehicle-specific tips, etc). A TerminalID, or unique terminal identifier, may be optionally passed to retrieve a specific terminal.\n */\nexport const terminalTransportsByTerminalIdInputSchema = z\n .object({\n TerminalID: z.number().int().describe(\"Numeric ID of the terminal.\"),\n })\n .describe(\n \"Input parameters for retrieving transportation information for a specific terminal.\"\n );\n\nexport type TerminalTransportsByTerminalIdInput = z.infer<\n typeof terminalTransportsByTerminalIdInputSchema\n>;\n","/**\n * @fileoverview WSF Terminals API Output Schemas\n *\n * This module provides Zod schemas for validating output data from the WSF\n * Terminals API endpoints.\n */\n\nimport { z } from \"@/shared/zod\";\nimport { terminalBaseSchema } from \"../../shared/terminalBaseSchema\";\n\n/**\n * TransitLink schema\n *\n * Contains transit link information.\n */\nexport const transitLinkSchema = z\n .object({\n LinkURL: z\n .string()\n .nullable()\n .describe(\n \"URL to transit agency website or service page, as a transit URL. E.g., 'http://www.skagittransit.org/' for Skagit Transit, 'http://www.kitsaptransit.com/service/routed-buses' for Kitsap Transit, null when transit link is unavailable. Used for accessing transit agency information.\"\n ),\n LinkName: z\n .string()\n .nullable()\n .describe(\n \"Human-readable name of transit agency, as a transit agency name. E.g., 'Skagit Transit' for Skagit Transit agency, 'Kitsap Transit' for Kitsap Transit agency, null when transit name is unavailable. Provides transit agency identification for display.\"\n ),\n SortSeq: z\n .number()\n .int()\n .nullable()\n .describe(\n \"Preferred sort order for transit link display, as an integer. E.g., null when sort order is not specified. Lower values appear first when sorting transit links in ascending order. Used for transit link display ordering.\"\n ),\n })\n .describe(\n \"Represents transit link information including transit agency URL, name, and sort order. E.g., Skagit Transit link (http://www.skagittransit.org/). Used for displaying transit agency connections and links.\"\n );\n\nexport type TransitLink = z.infer<typeof transitLinkSchema>;\n\n/**\n * TerminalTransport schema\n *\n * This operation provides helpful information for terminal commuters (including parking notes, vehicle-specific tips, etc). A TerminalID, or unique terminal identifier, may be optionally passed to retrieve a specific terminal.\n */\nexport const terminalTransportSchema = terminalBaseSchema\n .extend({\n ParkingInfo: z\n .string()\n .nullable()\n .describe(\n \"HTML-formatted parking information for terminal, as parking details. E.g., 'Off-Peak rates effective October 1 through April 30, 2026...' for Anacortes parking rates, null when parking information is unavailable. HTML-formatted text for parking information display.\"\n ),\n ParkingShuttleInfo: z\n .string()\n .nullable()\n .describe(\n \"HTML-formatted information about parking-related shuttles servicing terminal, as shuttle information. E.g., null when no parking shuttles, shuttle details when available. Used for parking shuttle information display.\"\n ),\n AirportInfo: z\n .string()\n .nullable()\n .describe(\n \"HTML-formatted tips for commuting to terminal from airport, as airport directions. E.g., 'From the Seattle-Tacoma International Airport, allow a minimum of 2 1/2 hours...' for Anacortes airport directions, null when airport information is unavailable. HTML-formatted text for airport commuter information.\"\n ),\n AirportShuttleInfo: z\n .string()\n .nullable()\n .describe(\n \"HTML-formatted information about airport shuttles servicing terminal, as shuttle information. E.g., 'When traveling from Sea-Tac Airport to Anacortes there is a shuttle...' for Anacortes airport shuttle, null when airport shuttle information is unavailable. HTML-formatted text for airport shuttle information.\"\n ),\n MotorcycleInfo: z\n .string()\n .nullable()\n .describe(\n \"HTML-formatted information for motorcycle travelers, as motorcycle tips. E.g., 'While motorcycles are not, by Washington Administrative Code...' for motorcycle staging and loading information, null when motorcycle information is unavailable. HTML-formatted text for motorcycle commuter information.\"\n ),\n TruckInfo: z\n .string()\n .nullable()\n .describe(\n \"HTML-formatted information for truck travelers, as truck tips. E.g., 'Expect heavy truck traffic on the first 3 sailings in the morning...' for truck travel information, null when truck information is unavailable. HTML-formatted text for truck commuter information.\"\n ),\n BikeInfo: z\n .string()\n .nullable()\n .describe(\n \"HTML-formatted information for bicycle travelers, as bicycle tips. E.g., 'Approaching the Anacortes Terminal, you will arrive at the vehicle tollbooths...' for bicycle staging information, null when bicycle information is unavailable. HTML-formatted text for bicycle commuter information.\"\n ),\n TrainInfo: z\n .string()\n .nullable()\n .describe(\n \"HTML-formatted information about trains servicing terminal, as train information. E.g., null when no train service, train details when available. Used for train commuter information display.\"\n ),\n TaxiInfo: z\n .string()\n .nullable()\n .describe(\n \"HTML-formatted information about taxis servicing terminal, as taxi information. E.g., null when no taxi information, taxi details when available. Used for taxi commuter information display.\"\n ),\n HovInfo: z\n .string()\n .nullable()\n .describe(\n \"HTML-formatted tips for carpool/vanpool commuters, as HOV information. E.g., 'Carpool/Vanpools must be ticketed and in line 10 minutes before...' for Bainbridge Island HOV information, null when HOV information is unavailable. HTML-formatted text for carpool/vanpool commuter information.\"\n ),\n TransitLinks: z\n .array(transitLinkSchema)\n .nullable()\n .describe(\n \"Array of transit agency links servicing terminal, as transit link objects. E.g., array containing Skagit Transit link for Anacortes terminal, array containing Kitsap Transit link for Bainbridge Island terminal, null when transit links are unavailable. Used for displaying transit agency connections.\"\n ),\n })\n .describe(\n \"Terminal transportation and commuter information including parking details, vehicle-specific tips, airport information, transit links, and HOV/carpool information.\"\n );\n\nexport type TerminalTransport = z.infer<typeof terminalTransportSchema>;\n\n/**\n * GetAllTerminalTransports schema\n *\n * Returns all terminal transportation options.\n */\nexport const getAllTerminalTransportsSchema = z\n .array(terminalTransportSchema)\n .describe(\"Array of transportation information for all terminals.\");\n\nexport type GetAllTerminalTransports = z.infer<\n typeof getAllTerminalTransportsSchema\n>;\n\n/**\n * GetSpecificTerminalTransport schema\n *\n * Returns transportation options for a specific terminal.\n */\nexport const getSpecificTerminalTransportSchema = terminalTransportSchema;\n\nexport type GetSpecificTerminalTransport = z.infer<\n typeof getSpecificTerminalTransportSchema\n>;\n","/**\n * @fileoverview WSF Terminals API Input Schemas\n *\n * This module provides Zod schemas for validating input parameters for the WSF\n * Terminals API endpoints.\n */\n\nimport { z } from \"@/shared/zod\";\n\n/**\n * Schema for TerminalVerbose input parameters\n *\n * This operation retrieves highly detailed information pertaining to terminals. It should be used if you need to reduce the \"chattiness\" of your application and don't mind receiving a larger payload of data. The results include and expand on what's already available through the following operations: /terminalbasics, /terminalbulletins, /terminallocations, /terminaltransports, /terminalwaittimes.\n */\nexport const terminalVerboseInputSchema = z\n .object({})\n .describe(\n \"Input parameters for retrieving comprehensive terminal information.\"\n );\n\nexport type TerminalVerboseInput = z.infer<typeof terminalVerboseInputSchema>;\n\n/**\n * Schema for TerminalVerboseById input parameters\n *\n * This operation retrieves highly detailed information pertaining to terminals. It should be used if you need to reduce the \"chattiness\" of your application and don't mind receiving a larger payload of data. The results include and expand on what's already available through the following operations: /terminalbasics, /terminalbulletins, /terminallocations, /terminaltransports, /terminalwaittimes.\n */\nexport const terminalVerboseByTerminalIdInputSchema = z\n .object({\n TerminalID: z.number().int().describe(\"Numeric ID of the terminal.\"),\n })\n .describe(\n \"Input parameters for retrieving comprehensive information for a specific terminal.\"\n );\n\nexport type TerminalVerboseByTerminalIdInput = z.infer<\n typeof terminalVerboseByTerminalIdInputSchema\n>;\n","/**\n * @fileoverview WSF Terminals API Output Schemas\n *\n * This module provides Zod schemas for validating output data from the WSF\n * Terminals API endpoints.\n */\n\nimport { zDotnetDate } from \"@/apis/shared\";\nimport { z } from \"@/shared/zod\";\nimport { terminalBaseSchema } from \"../../shared/terminalBaseSchema\";\n\n/**\n * WaitTime schema\n *\n * Contains wait time information.\n */\nexport const waitTimeSchema = z\n .object({\n RouteID: z\n .number()\n .int()\n .nullable()\n .describe(\"Numeric ID of the route associated with the wait time.\"),\n RouteName: z\n .string()\n .nullable()\n .describe(\"Display name of the route associated with the wait time.\"),\n WaitTimeNotes: z\n .string()\n .nullable()\n .describe(\n \"Text notes detailing wait time conditions and tips for vehicles and passengers.\"\n ),\n WaitTimeLastUpdated: zDotnetDate()\n .nullable()\n .describe(\n \"UTC datetime when the wait time information was last updated.\"\n ),\n WaitTimeIVRNotes: z\n .string()\n .nullable()\n .describe(\n \"Wait time notes formatted for Interactive Voice Response systems.\"\n ),\n })\n .describe(\n \"Wait time information including route association, notes, IVR notes, and update date.\"\n );\n\nexport type WaitTime = z.infer<typeof waitTimeSchema>;\n\n/**\n * TerminalWaitTime schema\n *\n * This operation retrieves tips and wait time conditions for both vehicles and walk-on passengers. A TerminalID, or unique terminal identifier, may be optionally passed to retrieve a specific terminal.\n */\nexport const terminalWaitTimeSchema = terminalBaseSchema\n .extend({\n WaitTimes: z\n .array(waitTimeSchema)\n .nullable()\n .describe(\"Array of wait time information associated with the terminal.\"),\n })\n .describe(\n \"Terminal wait time information including terminal identification and wait time list.\"\n );\n\nexport type TerminalWaitTime = z.infer<typeof terminalWaitTimeSchema>;\n\n/**\n * GetAllTerminalWaitTimes schema\n *\n * Returns all terminal wait times.\n */\nexport const getAllTerminalWaitTimesSchema = z\n .array(terminalWaitTimeSchema)\n .describe(\"Array of wait time information for all terminals.\");\n\nexport type GetAllTerminalWaitTimes = z.infer<\n typeof getAllTerminalWaitTimesSchema\n>;\n","/**\n * @fileoverview WSF Terminals API Output Schemas\n *\n * This module provides Zod schemas for validating output data from the WSF\n * Terminals API endpoints.\n */\n\nimport { z } from \"@/shared/zod\";\nimport { terminalBaseSchema } from \"../../shared/terminalBaseSchema\";\nimport {\n type Bulletin,\n bulletinSchema,\n} from \"../../terminalBulletins/shared/terminalBulletins.output\";\nimport {\n type DispGISZoomLoc,\n dispGISZoomLocSchema,\n} from \"../../terminalLocations/shared/terminalLocations.output\";\nimport {\n type DepartingSpace,\n departingSpaceSchema,\n type SpaceForArrivalTerminal,\n} from \"../../terminalSailingSpace/shared/terminalSailingSpace.output\";\nimport {\n type TransitLink,\n transitLinkSchema,\n} from \"../../terminalTransports/shared/terminalTransports.output\";\nimport {\n type WaitTime,\n waitTimeSchema,\n} from \"../../terminalWaitTimes/shared/terminalWaitTimes.output\";\n\n// Re-export types for convenience\nexport type {\n Bulletin,\n DispGISZoomLoc,\n SpaceForArrivalTerminal,\n DepartingSpace,\n TransitLink,\n WaitTime,\n};\n\n/**\n * TerminalVerbose schema\n *\n * This operation retrieves highly detailed information pertaining to terminals. It should be used if you need to reduce the \"chattiness\" of your application and don't mind receiving a larger payload of data. TerminalID, or unique terminal identifier, may be optionally passed to retrieve a specific terminal.\n */\nexport const terminalVerboseSchema = terminalBaseSchema\n .extend({\n /**\n * Indicates whether or not overhead passenger loading is available.\n */\n OverheadPassengerLoading: z\n .boolean()\n .describe(\n \"Indicator whether terminal supports overhead passenger loading from upper vehicle deck, as a boolean. E.g., true for terminals with overhead walkways like Anacortes and Bainbridge Island, false for terminals without overhead loading capability. Used to determine passenger boarding capabilities and accessibility features.\"\n ),\n /**\n * Indicates whether or not the terminal has an elevator.\n */\n Elevator: z\n .boolean()\n .describe(\n \"Indicator whether terminal has elevator access for passengers, as a boolean. E.g., false for terminals like Anacortes and Bainbridge Island without elevators, true for terminals with elevator access. Used to determine ADA accessibility and passenger mobility accommodations.\"\n ),\n /**\n * Indicates whether or not the terminal has a waiting room.\n */\n WaitingRoom: z\n .boolean()\n .describe(\n \"Indicator whether terminal has indoor waiting room facility, as a boolean. E.g., true for terminals like Anacortes and Bainbridge Island with waiting rooms, false for terminals without waiting facilities. Used to determine passenger comfort amenities and sheltered waiting areas.\"\n ),\n /**\n * Indicates whether or not the terminal offers food service.\n */\n FoodService: z\n .boolean()\n .describe(\n \"Indicator whether terminal offers food service facilities, as a boolean. E.g., true for terminals like Anacortes and Bainbridge Island with galleys or cafes, false for terminals without food service. Used to determine available amenities for passengers during wait times.\"\n ),\n /**\n * Indicates whether or not the terminal has one or more restrooms.\n */\n Restroom: z\n .boolean()\n .describe(\n \"Indicator whether terminal has restroom facilities, as a boolean. E.g., true for terminals like Anacortes and Bainbridge Island with restrooms, false for terminals without restroom access. Used to determine passenger comfort amenities and basic facility availability.\"\n ),\n })\n .and(\n z.object({\n /**\n * The bulletins / alerts associated with this terminal.\n */\n Bulletins: z\n .array(bulletinSchema)\n .describe(\n \"Active bulletins and alerts associated with terminal, as an array of bulletin objects. E.g., array containing vehicle reservation notices for Anacortes terminal, empty array for terminals without active bulletins. Used to display important terminal information, service changes, and passenger notifications.\"\n ),\n })\n )\n .and(\n z.object({\n /** The latitude of the terminal. */\n Latitude: z\n .number()\n .nullable()\n .describe(\n \"Terminal latitude coordinate, in decimal degrees. E.g., 48.507351 for Anacortes terminal, 47.622339 for Bainbridge Island terminal, null when coordinate data is unavailable. Used for mapping, distance calculations, and geographic display.\"\n ),\n /** The longitude of the terminal. */\n Longitude: z\n .number()\n .nullable()\n .describe(\n \"Terminal longitude coordinate, in decimal degrees. E.g., -122.677 for Anacortes terminal, -122.509617 for Bainbridge Island terminal, null when coordinate data is unavailable. Used for mapping, distance calculations, and geographic display.\"\n ),\n /** The first line of the terminal's address. */\n AddressLineOne: z\n .string()\n .nullable()\n .describe(\n \"Primary street address line for terminal location, as a street address. E.g., '2100 Ferry Terminal Road' for Anacortes terminal, '270 Olympic Drive SE' for Bainbridge Island terminal, null when address is unavailable. Used for navigation, mapping, and location identification.\"\n ),\n /** The second line of the terminal's address. */\n AddressLineTwo: z\n .string()\n .nullable()\n .describe(\n \"Secondary address line for terminal location, as an address supplement. E.g., null for most terminals without suite or building numbers, present when additional address details are needed. Used for complete address formatting when available.\"\n ),\n /** The city where the terminal is located. */\n City: z\n .string()\n .nullable()\n .describe(\n \"City name where terminal is located, as a city name. E.g., 'Anacortes' for Anacortes terminal, 'Bainbridge Island' for Bainbridge Island terminal, null when city is unavailable. Used for location identification and address formatting.\"\n ),\n /** The state where the terminal is located. */\n State: z\n .string()\n .nullable()\n .describe(\n \"State abbreviation where terminal is located, as a state code. E.g., 'WA' for Washington state terminals, null when state is unavailable. Used for location identification and address formatting.\"\n ),\n /** The terminal's zip code. */\n ZipCode: z\n .string()\n .nullable()\n .describe(\n \"Postal code for terminal location, as a zip code string. E.g., '98221' for Anacortes terminal, '98110' for Bainbridge Island terminal, null when zip code is unavailable. Used for location identification and address formatting.\"\n ),\n /** The country where the terminal is located. */\n Country: z\n .string()\n .nullable()\n .describe(\n \"Country name where terminal is located, as a country code. E.g., 'USA' for United States terminals, null when country is unavailable. Used for location identification and international address formatting.\"\n ),\n /** A URL to a page that displays the terminal on a GIS map. */\n MapLink: z\n .string()\n .nullable()\n .describe(\n \"URL link to external mapping service displaying terminal location, as a map URL. E.g., Google Maps link for Anacortes terminal, null when map link is unavailable. Used for providing direct navigation links to terminal location.\"\n ),\n /** Instructions detailing how to drive to the terminal. */\n Directions: z\n .string()\n .nullable()\n .describe(\n \"Driving directions to terminal from major routes, as HTML-formatted text. E.g., directions from Interstate 5 to Anacortes terminal, null when directions are unavailable. Used for navigation assistance and route planning.\"\n ),\n /**\n * Where this terminal should appear on a GIS map (at various zoom levels).\n */\n DispGISZoomLoc: z\n .array(dispGISZoomLocSchema)\n .nullable()\n .describe(\n \"GIS map display coordinates for terminal at various zoom levels, as an array of zoom-level coordinates. E.g., array with 18 zoom levels for Anacortes terminal, null when zoom-level data is unavailable. Used for optimized map rendering at different zoom levels.\"\n ),\n })\n )\n .and(\n z.object({\n /**\n * The most recent departures leaving this terminal.\n */\n DepartingSpaces: z\n .array(departingSpaceSchema)\n .nullable()\n .optional()\n .describe(\n \"Most recent departure sailing space information from terminal, as an array of departing space objects. E.g., array containing vessel details, departure times, and space availability for recent sailings, null or empty when departure data is unavailable. Used for real-time sailing space tracking and capacity monitoring.\"\n ),\n /**\n * True if this terminal isn't capable of collecting fares.\n */\n IsNoFareCollected: z\n .boolean()\n .nullable()\n .describe(\n \"Indicator whether terminal lacks fare collection capability, as a boolean. E.g., null for terminals like Anacortes and Bainbridge Island that collect fares, true for terminals without fare collection. Used to determine fare collection availability and terminal conditions data reliability.\"\n ),\n /**\n * An optional message detailing how inability to collect fares could affect terminal conditions data.\n */\n NoFareCollectedMsg: z\n .string()\n .nullable()\n .describe(\n \"Message explaining how lack of fare collection affects terminal conditions data, as a notification message. E.g., null for terminals with fare collection, present when terminal cannot collect fares. Used to inform users about data limitations for terminals without fare collection.\"\n ),\n })\n )\n .and(\n z.object({\n /** Parking information for this terminal. */\n ParkingInfo: z\n .string()\n .nullable()\n .describe(\n \"Parking availability, rates, and policies for terminal, as HTML-formatted text. E.g., parking rates and payment options for Anacortes terminal, null when parking information is unavailable. Used for parking planning and cost estimation.\"\n ),\n /**\n * Information about parking-related shuttles that service this terminal.\n */\n ParkingShuttleInfo: z\n .string()\n .nullable()\n .describe(\n \"Information about shuttle services connecting parking areas to terminal, as HTML-formatted text. E.g., null for terminals without parking shuttles, present when parking shuttles are available. Used for planning parking and terminal access.\"\n ),\n /**\n * Tips for commuting to this terminal from the airport.\n */\n AirportInfo: z\n .string()\n .nullable()\n .describe(\n \"Driving directions and travel time from airport to terminal, as HTML-formatted text. E.g., directions from Sea-Tac Airport to Anacortes terminal, null when airport information is unavailable. Used for airport-to-terminal route planning.\"\n ),\n /**\n * Information about parking shuttles that go between the airport and this terminal.\n */\n AirportShuttleInfo: z\n .string()\n .nullable()\n .describe(\n \"Information about shuttle services connecting airport to terminal, as HTML-formatted text. E.g., Bellair Airporter service information for Anacortes terminal, null when airport shuttles are unavailable. Used for airport-to-terminal transportation planning.\"\n ),\n /**\n * Information for travelers who plan on taking a motorcycle to this terminal.\n */\n MotorcycleInfo: z\n .string()\n .nullable()\n .describe(\n \"Motorcycle staging, loading, and fare information for terminal, as HTML-formatted text. E.g., motorcycle loading procedures and staging areas for Anacortes terminal, null when motorcycle information is unavailable. Used for motorcycle rider planning and terminal procedures.\"\n ),\n /**\n * Information for travelers who plan on taking a truck to this terminal.\n */\n TruckInfo: z\n .string()\n .nullable()\n .describe(\n \"Truck requirements, oversized vehicle approval, and loading information for terminal, as HTML-formatted text. E.g., overweight vehicle travel approval requirements for Anacortes terminal, null when truck information is unavailable. Used for commercial vehicle planning and compliance.\"\n ),\n /**\n * Information for travelers who plan on taking their bicycle to this terminal.\n */\n BikeInfo: z\n .string()\n .nullable()\n .describe(\n \"Bicycle staging, loading procedures, and fare information for terminal, as HTML-formatted text. E.g., bicycle loading procedures and rack availability for Anacortes terminal, null when bicycle information is unavailable. Used for bicycle rider planning and terminal procedures.\"\n ),\n /**\n * Information about trains that service this terminal.\n */\n TrainInfo: z\n .string()\n .nullable()\n .describe(\n \"Train service information connecting to terminal, as HTML-formatted text. E.g., null for terminals without train service, present when train connections are available. Used for multimodal transportation planning.\"\n ),\n /**\n * Information about taxis that service this terminal.\n */\n TaxiInfo: z\n .string()\n .nullable()\n .describe(\n \"Taxi service information for terminal, as HTML-formatted text. E.g., null for terminals without taxi information, present when taxi services are documented. Used for local transportation planning.\"\n ),\n /**\n * Tips for carpool/vanpools commuting to this terminal.\n */\n HovInfo: z\n .string()\n .nullable()\n .describe(\n \"Carpool and vanpool information including preferential loading requirements, as HTML-formatted text. E.g., carpool registration and loading procedures for Bainbridge Island terminal, null when HOV information is unavailable. Used for rideshare planning and preferential loading coordination.\"\n ),\n /**\n * Links to transit agencies that service this terminal.\n */\n TransitLinks: z\n .array(transitLinkSchema)\n .nullable()\n .describe(\n \"Links to transit agencies providing service to terminal, as an array of transit link objects. E.g., array containing Skagit Transit link for Anacortes terminal, Kitsap Transit link for Bainbridge Island terminal, null or empty when no transit links are available. Used for multimodal transportation planning and transit connection information.\"\n ),\n })\n )\n .and(\n z.object({\n /**\n * The wait times associated with this terminal.\n */\n WaitTimes: z\n .array(waitTimeSchema)\n .nullable()\n .describe(\n \"Current wait time information and arrival recommendations for terminal, as an array of wait time objects. E.g., array containing vehicle reservation requirements and arrival time recommendations for Anacortes terminal, null when wait time data is unavailable. Used for trip planning and arrival time guidance.\"\n ),\n })\n )\n .and(\n z.object({\n /**\n * An optional intro message for terminal conditions data that pertains to terminals capable of collecting fares.\n */\n RealtimeIntroMsg: z\n .string()\n .nullable()\n .describe(\n \"Introductory message explaining real-time terminal conditions data display, as HTML-formatted text. E.g., message about approximate vehicle spaces available in holding area for Anacortes terminal, null when intro message is unavailable. Used to provide context for real-time conditions data.\"\n ),\n /**\n * Additional information about the terminal.\n */\n AdditionalInfo: z\n .string()\n .nullable()\n .describe(\n \"Additional terminal information including hours, services, and general details, as HTML-formatted text. E.g., passenger booth hours and kiosk information for Anacortes terminal, null when additional information is unavailable. Used for comprehensive terminal information display.\"\n ),\n /**\n * Lost and found information for the terminal.\n */\n LostAndFoundInfo: z\n .string()\n .nullable()\n .describe(\n \"Lost and found procedures, contact information, and retention policies for terminal, as HTML-formatted text. E.g., lost and found location and contact details for Anacortes terminal, null when lost and found information is unavailable. Used for lost item reporting and retrieval.\"\n ),\n /**\n * Security information for the terminal.\n */\n SecurityInfo: z\n .string()\n .nullable()\n .describe(\n \"Security plan information and safety policies for terminal, as HTML-formatted text. E.g., U.S. Coast Guard approved security plan information, null when security information is unavailable. Used for security awareness and compliance information.\"\n ),\n /**\n * Construction information for the terminal.\n */\n ConstructionInfo: z\n .string()\n .nullable()\n .describe(\n \"Ongoing or planned construction activities affecting terminal, as HTML-formatted text. E.g., null for terminals without active construction, present when construction impacts terminal operations. Used for construction impact awareness and trip planning.\"\n ),\n /**\n * Food service information for the terminal.\n */\n FoodServiceInfo: z\n .string()\n .nullable()\n .describe(\n \"Food service hours, locations, and availability for terminal, as HTML-formatted text. E.g., galley hours and cafe information for Anacortes terminal, null when food service information is unavailable. Used for meal planning and food service availability.\"\n ),\n /**\n * ADA accessibility information for the terminal.\n */\n AdaInfo: z\n .string()\n .nullable()\n .describe(\n \"ADA accessibility features, elevator access, and accommodation information for terminal, as HTML-formatted text. E.g., overhead passenger ramp and elevator access information for Anacortes terminal, null when ADA information is unavailable. Used for accessibility planning and accommodation requests.\"\n ),\n /**\n * Fare discount information for the terminal.\n */\n FareDiscountInfo: z\n .string()\n .nullable()\n .describe(\n \"Fare discount programs, eligibility requirements, and purchase information for terminal, as HTML-formatted text. E.g., senior and youth fare information for Anacortes terminal, null when fare discount information is unavailable. Used for fare planning and discount eligibility.\"\n ),\n /**\n * Tally system information for the terminal.\n */\n TallySystemInfo: z\n .string()\n .nullable()\n .describe(\n \"Tally system information for terminal operations, as HTML-formatted text. E.g., null for terminals without tally system documentation, present when tally system information is available. Used for operational information and system documentation.\"\n ),\n /**\n * Chamber of commerce information for the terminal.\n */\n ChamberOfCommerce: z\n .object({\n /** The URL of the chamber of commerce link. */\n LinkURL: z\n .string()\n .nullable()\n .describe(\n \"URL link to local chamber of commerce website, as a web URL. E.g., 'http://www.anacortes.org' for Anacortes Chamber of Commerce, null when chamber link is unavailable. Used for local business and visitor information.\"\n ),\n /** The name of the chamber of commerce. */\n LinkName: z\n .string()\n .nullable()\n .describe(\n \"Display name for local chamber of commerce, as a chamber name. E.g., 'Chamber of Commerce' for Anacortes, 'Bainbridge Island Chamber of Commerce' for Bainbridge Island, null when chamber name is unavailable. Used for display and identification.\"\n ),\n /**\n * A preferred sort order.\n */\n SortSeq: z\n .int()\n .nullable()\n .describe(\n \"Preferred display sort order for chamber of commerce link, as an integer sequence number. E.g., null for default sorting, numeric value when specific sort order is required. Used for controlling link display order.\"\n ),\n })\n .nullable()\n .describe(\n \"Chamber of commerce information including link URL, name, and sort order for terminal, as a chamber object. E.g., object with Anacortes Chamber of Commerce link, null when chamber information is unavailable. Used for local business and visitor information.\"\n ),\n /**\n * Facility information for the terminal.\n */\n FacInfo: z\n .string()\n .nullable()\n .describe(\n \"Facility advisory committee contact information for terminal, as HTML-formatted text. E.g., Ferry Advisory Committee contact information, null when facility information is unavailable. Used for community participation and feedback.\"\n ),\n /**\n * Resource status information for the terminal.\n */\n ResourceStatus: z\n .string()\n .nullable()\n .describe(\n \"Resource status information for terminal operations, as a status string. E.g., null for terminals without resource status documentation, present when resource status information is available. Used for operational status tracking.\"\n ),\n /**\n * Type description for the terminal.\n */\n TypeDesc: z\n .string()\n .nullable()\n .describe(\n \"Terminal type classification description, as a type string. E.g., 'Passenger and Car' for terminals like Anacortes and Bainbridge Island, null when type description is unavailable. Used for terminal classification and display.\"\n ),\n /**\n * Real-time shutoff flag for the terminal.\n */\n REALTIME_SHUTOFF_FLAG: z\n .boolean()\n .describe(\n \"Indicator whether real-time conditions data is disabled for terminal, as a boolean. E.g., false for terminals with active real-time data, true when real-time data is shut off. Used to determine real-time data availability.\"\n ),\n /**\n * Real-time shutoff message for the terminal.\n */\n REALTIME_SHUTOFF_MESSAGE: z\n .string()\n .nullable()\n .describe(\n \"Message explaining why real-time conditions data is unavailable, as a status message. E.g., 'The Real-Time Conditions are unavailable due to technical difficulties' for terminals with shutoff flag true, null when real-time data is available. Used to inform users about real-time data status.\"\n ),\n /**\n * Visitor links for the terminal.\n */\n VisitorLinks: z\n .array(transitLinkSchema)\n .nullable()\n .describe(\n \"Links to visitor information and tourism resources for terminal area, as an array of visitor link objects. E.g., empty array for terminals without visitor links, array with tourism resources when available. Used for visitor information and local attractions.\"\n ),\n })\n )\n .describe(\n \"Comprehensive terminal information combining data from terminalBasics, terminalBulletins, terminalLocations, terminalTransports, and terminalWaitTimes endpoints.\"\n );\n\nexport type TerminalVerbose = z.infer<typeof terminalVerboseSchema>;\n\n/**\n * GetAllTerminalVerboseDetails schema\n *\n * Returns all terminal verbose details.\n */\nexport const getAllTerminalVerboseSchema = z\n .array(terminalVerboseSchema)\n .describe(\"Array of comprehensive terminal information for all terminals.\");\n\nexport type GetAllTerminalVerbose = z.infer<typeof getAllTerminalVerboseSchema>;\n","/**\n * @fileoverview WSF Terminals API Input Schemas\n *\n * This module provides Zod schemas for validating input parameters for the WSF\n * Terminals API endpoints.\n */\n\nimport { z } from \"@/shared/zod\";\n\n/**\n * Schema for TerminalWaitTimes input parameters\n *\n * This operation retrieves tips and wait time conditions for both vehicles and walk-on passengers. A TerminalID, or unique terminal identifier, may be optionally passed to retrieve a specific terminal.\n */\nexport const terminalWaitTimesInputSchema = z\n .object({})\n .describe(\"Input parameters for retrieving terminal wait time information.\");\n\nexport type TerminalWaitTimesInput = z.infer<\n typeof terminalWaitTimesInputSchema\n>;\n\n/**\n * Schema for TerminalWaitTimesById input parameters\n *\n * This operation retrieves tips and wait time conditions for both vehicles and walk-on passengers. A TerminalID, or unique terminal identifier, may be optionally passed to retrieve a specific terminal.\n */\nexport const terminalWaitTimesByIdInputSchema = z\n .object({\n TerminalID: z.number().int().describe(\"Numeric ID of the terminal.\"),\n })\n .describe(\n \"Input parameters for retrieving wait time information for a specific terminal.\"\n );\n\nexport type TerminalWaitTimesByIdInput = z.infer<\n typeof terminalWaitTimesByIdInputSchema\n>;\n"]}