ws-dottie
Version:
Your friendly TypeScript companion for Washington State transportation APIs - WSDOT and WSF data with smart caching and React Query integration
1,356 lines • 138 kB
JSON
{
"openapi": "3.0.0",
"info": {
"title": "Wsf Vessels API",
"version": "1.0.0",
"description": "Wsf Vessels API - Washington State Department of Transportation APIs"
},
"servers": [
{
"url": "https://www.wsdot.wa.gov/ferries/api/vessels/rest",
"description": "Production server"
}
],
"components": {
"schemas": {
"RoadwayLocation": {
"type": "object",
"properties": {
"Description": {
"type": "string",
"nullable": true,
"description": "Human-readable description of the roadway location, such as interchange names or cross streets."
},
"Direction": {
"type": "string",
"nullable": true,
"description": "Traffic direction designation: N, S, B, NB, or SB, indicating which side of the highway is affected."
},
"Latitude": {
"type": "number",
"description": "Latitude of the roadway location in decimal degrees."
},
"Longitude": {
"type": "number",
"description": "Longitude of the roadway location in decimal degrees."
},
"MilePost": {
"type": "number",
"description": "Milepost marker along the highway corridor, with 0 indicating route terminus."
},
"RoadName": {
"type": "string",
"nullable": true,
"description": "Highway or route designation code, such as '005' for I-5 or '090' for I-90."
}
},
"required": [
"Description",
"Direction",
"Latitude",
"Longitude",
"MilePost",
"RoadName"
],
"description": "Roadway location information including route, milepost, coordinates, and direction."
},
"FetchCacheFlushDateVesselsOutput": {
"type": "string",
"description": "UTC datetime when static endpoint data was last updated, or undefined if no update has occurred.",
"format": "date-time"
},
"FetchVesselAccommodationsByVesselIdOutput": {
"type": "object",
"properties": {
"VesselID": {
"type": "integer",
"description": "Numeric ID of the vessel."
},
"VesselSubjectID": {
"type": "integer",
"description": "Numeric ID of the WSF subject for this vessel."
},
"VesselName": {
"type": "string",
"nullable": true,
"description": "Display name of the vessel."
},
"VesselAbbrev": {
"type": "string",
"nullable": true,
"description": "Abbreviation code of the vessel."
},
"Class": {
"type": "object",
"nullable": true,
"properties": {
"ClassID": {
"type": "integer",
"description": "Numeric ID of the vessel class."
},
"ClassSubjectID": {
"type": "integer",
"description": "Numeric ID of the WSF subject for this vessel class."
},
"ClassName": {
"type": "string",
"nullable": true,
"description": "Display name of the vessel class."
},
"SortSeq": {
"type": "integer",
"nullable": true,
"description": "Display sort order; lower values appear first in lists."
},
"DrawingImg": {
"type": "string",
"nullable": true,
"description": "URL to detailed vessel class drawing image."
},
"SilhouetteImg": {
"type": "string",
"nullable": true,
"description": "URL to small silhouette image of vessel class."
},
"PublicDisplayName": {
"type": "string",
"nullable": true,
"description": "Public-facing display name of the vessel class."
}
},
"required": [
"ClassID",
"ClassSubjectID",
"ClassName",
"SortSeq",
"DrawingImg",
"SilhouetteImg",
"PublicDisplayName"
],
"description": "Vessel class information grouping similar vessels in the fleet."
},
"CarDeckRestroom": {
"type": "boolean",
"description": "True if ADA-accessible restroom is available on car deck; otherwise false."
},
"CarDeckShelter": {
"type": "boolean",
"description": "True if ADA-accessible shelter is available on car deck; otherwise false."
},
"Elevator": {
"type": "boolean",
"description": "True if elevator is available for passenger deck access; otherwise false."
},
"ADAAccessible": {
"type": "boolean",
"description": "True if vessel meets ADA accessibility standards; otherwise false."
},
"MainCabinGalley": {
"type": "boolean",
"description": "True if food service galley is available in main passenger cabin; otherwise false."
},
"MainCabinRestroom": {
"type": "boolean",
"description": "True if restroom is available in main passenger cabin; otherwise false."
},
"PublicWifi": {
"type": "boolean",
"description": "True if public WiFi is available on vessel; otherwise false."
},
"ADAInfo": {
"type": "string",
"nullable": true,
"description": "Detailed ADA accessibility information for passengers with disabilities."
},
"AdditionalInfo": {
"type": "string",
"nullable": true,
"description": "Additional accommodation notes not covered by standard boolean flags."
}
},
"required": [
"VesselID",
"VesselSubjectID",
"VesselName",
"VesselAbbrev",
"Class",
"CarDeckRestroom",
"CarDeckShelter",
"Elevator",
"ADAAccessible",
"MainCabinGalley",
"MainCabinRestroom",
"PublicWifi",
"ADAInfo",
"AdditionalInfo"
],
"description": "Vessel accommodation information including amenities, accessibility features, and passenger facilities."
},
"FetchVesselBasicsByVesselIdOutput": {
"type": "object",
"properties": {
"VesselID": {
"type": "integer",
"description": "Numeric ID of the vessel."
},
"VesselSubjectID": {
"type": "integer",
"description": "Numeric ID of the WSF subject for this vessel."
},
"VesselName": {
"type": "string",
"nullable": true,
"description": "Display name of the vessel."
},
"VesselAbbrev": {
"type": "string",
"nullable": true,
"description": "Abbreviation code of the vessel."
},
"Class": {
"type": "object",
"nullable": true,
"properties": {
"ClassID": {
"type": "integer",
"description": "Numeric ID of the vessel class."
},
"ClassSubjectID": {
"type": "integer",
"description": "Numeric ID of the WSF subject for this vessel class."
},
"ClassName": {
"type": "string",
"nullable": true,
"description": "Display name of the vessel class."
},
"SortSeq": {
"type": "integer",
"nullable": true,
"description": "Display sort order; lower values appear first in lists."
},
"DrawingImg": {
"type": "string",
"nullable": true,
"description": "URL to detailed vessel class drawing image."
},
"SilhouetteImg": {
"type": "string",
"nullable": true,
"description": "URL to small silhouette image of vessel class."
},
"PublicDisplayName": {
"type": "string",
"nullable": true,
"description": "Public-facing display name of the vessel class."
}
},
"required": [
"ClassID",
"ClassSubjectID",
"ClassName",
"SortSeq",
"DrawingImg",
"SilhouetteImg",
"PublicDisplayName"
],
"description": "Vessel class information grouping similar vessels in the fleet."
},
"Status": {
"anyOf": [
{
"type": "number",
"enum": [
1
]
},
{
"type": "number",
"enum": [
2
]
},
{
"type": "number",
"enum": [
3
]
},
{
"nullable": true
}
],
"description": "Code indicating operational status: 1 = In Service, 2 = Maintenance, 3 = Out of Service."
},
"OwnedByWSF": {
"type": "boolean",
"description": "True if vessel is owned by WSF; otherwise false."
}
},
"required": [
"VesselID",
"VesselSubjectID",
"VesselName",
"VesselAbbrev",
"Class",
"Status",
"OwnedByWSF"
],
"description": "Basic vessel information including identification, operational status, and ownership."
},
"FetchVesselLocationsByVesselIdOutput": {
"type": "object",
"properties": {
"VesselID": {
"type": "integer",
"description": "Numeric ID of the vessel."
},
"VesselName": {
"type": "string",
"nullable": true,
"description": "Display name of the vessel."
},
"Mmsi": {
"type": "integer",
"nullable": true,
"description": "Maritime Mobile Service Identity number for AIS tracking."
},
"DepartingTerminalID": {
"type": "integer",
"description": "Numeric ID of the departing terminal."
},
"DepartingTerminalName": {
"type": "string",
"nullable": true,
"description": "Display name of the departing terminal.",
"format": "date-time"
},
"DepartingTerminalAbbrev": {
"type": "string",
"nullable": true,
"description": "Abbreviation code of the departing terminal.",
"format": "date-time"
},
"ArrivingTerminalID": {
"type": "integer",
"nullable": true,
"description": "Numeric ID of the arriving terminal."
},
"ArrivingTerminalName": {
"type": "string",
"nullable": true,
"description": "Display name of the arriving terminal."
},
"ArrivingTerminalAbbrev": {
"type": "string",
"nullable": true,
"description": "Abbreviation code of the arriving terminal."
},
"Latitude": {
"type": "number",
"description": "Vessel GPS latitude coordinate in decimal degrees."
},
"Longitude": {
"type": "number",
"description": "Vessel GPS longitude coordinate in decimal degrees."
},
"Speed": {
"type": "number",
"description": "Vessel speed over ground in knots."
},
"Heading": {
"type": "number",
"description": "Vessel heading direction in degrees clockwise from north (0-359)."
},
"InService": {
"type": "boolean",
"description": "True if vessel is available for passenger operations; otherwise false."
},
"AtDock": {
"type": "boolean",
"description": "True if vessel is currently docked at terminal; otherwise false."
},
"LeftDock": {
"type": "string",
"nullable": true,
"description": "UTC datetime when vessel last departed from dock.",
"format": "date-time"
},
"Eta": {
"type": "string",
"nullable": true,
"description": "UTC datetime of estimated arrival at destination terminal.",
"format": "date-time"
},
"EtaBasis": {
"type": "string",
"nullable": true,
"description": "Description of ETA calculation method."
},
"ScheduledDeparture": {
"type": "string",
"nullable": true,
"description": "UTC datetime of scheduled departure from origin terminal.",
"format": "date-time"
},
"OpRouteAbbrev": {
"type": "array",
"nullable": true,
"items": {
"type": "string"
},
"description": "Array of abbreviated route names currently serviced by vessel."
},
"VesselPositionNum": {
"type": "integer",
"nullable": true,
"description": "Vessel position number for route scheduling."
},
"SortSeq": {
"type": "integer",
"description": "Display sort order; lower values appear first in lists."
},
"ManagedBy": {
"anyOf": [
{
"type": "number",
"enum": [
1
]
},
{
"type": "number",
"enum": [
2
]
}
],
"description": "Code indicating management owner: 1 = WSF, 2 = KCM."
},
"TimeStamp": {
"type": "string",
"description": "UTC datetime when vessel location data was last updated.",
"format": "date-time"
},
"VesselWatchShutID": {
"type": "integer",
"description": "Numeric ID indicating VesselWatch shutdown status condition."
},
"VesselWatchShutMsg": {
"type": "string",
"nullable": true,
"description": "User-facing message for VesselWatch shutdown status."
},
"VesselWatchShutFlag": {
"type": "string",
"nullable": true,
"description": "Code indicating whether VesselWatch shutdown conditions are active."
},
"VesselWatchStatus": {
"type": "string",
"nullable": true,
"description": "Code indicating current operational state of VesselWatch tracking system."
},
"VesselWatchMsg": {
"type": "string",
"nullable": true,
"description": "User-facing message about VesselWatch system status."
}
},
"required": [
"VesselID",
"VesselName",
"Mmsi",
"DepartingTerminalID",
"DepartingTerminalName",
"DepartingTerminalAbbrev",
"ArrivingTerminalID",
"ArrivingTerminalName",
"ArrivingTerminalAbbrev",
"Latitude",
"Longitude",
"Speed",
"Heading",
"InService",
"AtDock",
"LeftDock",
"Eta",
"EtaBasis",
"ScheduledDeparture",
"OpRouteAbbrev",
"VesselPositionNum",
"SortSeq",
"ManagedBy",
"TimeStamp",
"VesselWatchShutID",
"VesselWatchShutMsg",
"VesselWatchShutFlag",
"VesselWatchStatus",
"VesselWatchMsg"
],
"description": "Real-time vessel location data including GPS coordinates, terminal assignments, speed, heading, and ETA information."
},
"FetchVesselStatsByVesselIdOutput": {
"type": "object",
"properties": {
"VesselID": {
"type": "integer",
"description": "Numeric ID of the vessel."
},
"VesselSubjectID": {
"type": "integer",
"description": "Numeric ID of the WSF subject for this vessel."
},
"VesselName": {
"type": "string",
"nullable": true,
"description": "Display name of the vessel."
},
"VesselAbbrev": {
"type": "string",
"nullable": true,
"description": "Abbreviation code of the vessel."
},
"Class": {
"type": "object",
"nullable": true,
"properties": {
"ClassID": {
"type": "integer",
"description": "Numeric ID of the vessel class."
},
"ClassSubjectID": {
"type": "integer",
"description": "Numeric ID of the WSF subject for this vessel class."
},
"ClassName": {
"type": "string",
"nullable": true,
"description": "Display name of the vessel class."
},
"SortSeq": {
"type": "integer",
"nullable": true,
"description": "Display sort order; lower values appear first in lists."
},
"DrawingImg": {
"type": "string",
"nullable": true,
"description": "URL to detailed vessel class drawing image."
},
"SilhouetteImg": {
"type": "string",
"nullable": true,
"description": "URL to small silhouette image of vessel class."
},
"PublicDisplayName": {
"type": "string",
"nullable": true,
"description": "Public-facing display name of the vessel class."
}
},
"required": [
"ClassID",
"ClassSubjectID",
"ClassName",
"SortSeq",
"DrawingImg",
"SilhouetteImg",
"PublicDisplayName"
],
"description": "Vessel class information grouping similar vessels in the fleet."
},
"VesselNameDesc": {
"type": "string",
"description": "Cultural and historical context for vessel name origin."
},
"VesselHistory": {
"type": "string",
"nullable": true,
"description": "Operational history and milestones for the vessel."
},
"Beam": {
"type": "string",
"description": "Vessel beam width in feet and inches."
},
"CityBuilt": {
"type": "string",
"description": "City where vessel was constructed."
},
"SpeedInKnots": {
"type": "integer",
"nullable": true,
"description": "Maximum operational speed in knots."
},
"Draft": {
"type": "string",
"description": "Vessel draft depth in feet and inches."
},
"EngineCount": {
"type": "integer",
"nullable": true,
"description": "Total number of propulsion engines aboard vessel."
},
"Horsepower": {
"type": "integer",
"nullable": true,
"description": "Total engine horsepower output."
},
"Length": {
"type": "string",
"description": "Vessel overall length in feet and inches."
},
"MaxPassengerCount": {
"type": "integer",
"nullable": true,
"description": "Maximum passenger capacity."
},
"PassengerOnly": {
"type": "boolean",
"description": "True if vessel carries only passengers; otherwise false."
},
"FastFerry": {
"type": "boolean",
"description": "True if vessel is classified as a fast ferry; otherwise false."
},
"PropulsionInfo": {
"type": "string",
"description": "Engine propulsion type and fuel technology."
},
"TallDeckClearance": {
"type": "integer",
"nullable": true,
"description": "Tall deck vertical clearance height in inches."
},
"RegDeckSpace": {
"type": "integer",
"nullable": true,
"description": "Maximum regular deck vehicle capacity including tall deck spaces."
},
"TallDeckSpace": {
"type": "integer",
"nullable": true,
"description": "Tall deck vehicle capacity."
},
"Tonnage": {
"type": "integer",
"nullable": true,
"description": "Vessel gross tonnage."
},
"Displacement": {
"type": "integer",
"nullable": true,
"description": "Vessel displacement weight in long tons."
},
"YearBuilt": {
"type": "integer",
"nullable": true,
"description": "Vessel construction year."
},
"YearRebuilt": {
"type": "integer",
"nullable": true,
"description": "Vessel major rebuild year."
},
"VesselDrawingImg": {
"type": "string",
"nullable": true,
"description": "URL to detailed vessel drawing image."
},
"SolasCertified": {
"type": "boolean",
"description": "True if vessel meets SOLAS international safety standards; otherwise false."
},
"MaxPassengerCountForInternational": {
"type": "integer",
"nullable": true,
"description": "Maximum passenger capacity for international routes."
}
},
"required": [
"VesselID",
"VesselSubjectID",
"VesselName",
"VesselAbbrev",
"Class",
"VesselNameDesc",
"VesselHistory",
"Beam",
"CityBuilt",
"SpeedInKnots",
"Draft",
"EngineCount",
"Horsepower",
"Length",
"MaxPassengerCount",
"PassengerOnly",
"FastFerry",
"PropulsionInfo",
"TallDeckClearance",
"RegDeckSpace",
"TallDeckSpace",
"Tonnage",
"Displacement",
"YearBuilt",
"YearRebuilt",
"VesselDrawingImg",
"SolasCertified",
"MaxPassengerCountForInternational"
],
"description": "Vessel technical specifications including dimensions, capacity, speed, propulsion, and build details."
},
"FetchVesselsVerboseByVesselIdOutput": {
"allOf": [
{
"type": "object",
"properties": {
"VesselID": {
"type": "integer",
"description": "Numeric ID of the vessel."
},
"VesselSubjectID": {
"type": "integer",
"description": "Numeric ID of the WSF subject for this vessel."
},
"VesselName": {
"type": "string",
"nullable": true,
"description": "Display name of the vessel."
},
"VesselAbbrev": {
"type": "string",
"nullable": true,
"description": "Abbreviation code of the vessel."
},
"Class": {
"type": "object",
"nullable": true,
"properties": {
"ClassID": {
"type": "integer",
"description": "Numeric ID of the vessel class."
},
"ClassSubjectID": {
"type": "integer",
"description": "Numeric ID of the WSF subject for this vessel class."
},
"ClassName": {
"type": "string",
"nullable": true,
"description": "Display name of the vessel class."
},
"SortSeq": {
"type": "integer",
"nullable": true,
"description": "Display sort order; lower values appear first in lists."
},
"DrawingImg": {
"type": "string",
"nullable": true,
"description": "URL to detailed vessel class drawing image."
},
"SilhouetteImg": {
"type": "string",
"nullable": true,
"description": "URL to small silhouette image of vessel class."
},
"PublicDisplayName": {
"type": "string",
"nullable": true,
"description": "Public-facing display name of the vessel class."
}
},
"required": [
"ClassID",
"ClassSubjectID",
"ClassName",
"SortSeq",
"DrawingImg",
"SilhouetteImg",
"PublicDisplayName"
],
"description": "Vessel class information grouping similar vessels in the fleet."
},
"Status": {
"anyOf": [
{
"type": "number",
"enum": [
1
]
},
{
"type": "number",
"enum": [
2
]
},
{
"type": "number",
"enum": [
3
]
},
{
"nullable": true
}
],
"description": "Code indicating operational status: 1 = In Service, 2 = Maintenance, 3 = Out of Service."
},
"OwnedByWSF": {
"type": "boolean",
"description": "True if vessel is owned by WSF; otherwise false."
}
},
"required": [
"VesselID",
"VesselSubjectID",
"VesselName",
"VesselAbbrev",
"Class",
"Status",
"OwnedByWSF"
],
"description": "Basic vessel information including identification, operational status, and ownership."
},
{
"type": "object",
"properties": {
"VesselID": {
"type": "integer",
"description": "Numeric ID of the vessel."
},
"VesselSubjectID": {
"type": "integer",
"description": "Numeric ID of the WSF subject for this vessel."
},
"VesselName": {
"type": "string",
"nullable": true,
"description": "Display name of the vessel."
},
"VesselAbbrev": {
"type": "string",
"nullable": true,
"description": "Abbreviation code of the vessel."
},
"Class": {
"type": "object",
"nullable": true,
"properties": {
"ClassID": {
"type": "integer",
"description": "Numeric ID of the vessel class."
},
"ClassSubjectID": {
"type": "integer",
"description": "Numeric ID of the WSF subject for this vessel class."
},
"ClassName": {
"type": "string",
"nullable": true,
"description": "Display name of the vessel class."
},
"SortSeq": {
"type": "integer",
"nullable": true,
"description": "Display sort order; lower values appear first in lists."
},
"DrawingImg": {
"type": "string",
"nullable": true,
"description": "URL to detailed vessel class drawing image."
},
"SilhouetteImg": {
"type": "string",
"nullable": true,
"description": "URL to small silhouette image of vessel class."
},
"PublicDisplayName": {
"type": "string",
"nullable": true,
"description": "Public-facing display name of the vessel class."
}
},
"required": [
"ClassID",
"ClassSubjectID",
"ClassName",
"SortSeq",
"DrawingImg",
"SilhouetteImg",
"PublicDisplayName"
],
"description": "Vessel class information grouping similar vessels in the fleet."
},
"CarDeckRestroom": {
"type": "boolean",
"description": "True if ADA-accessible restroom is available on car deck; otherwise false."
},
"CarDeckShelter": {
"type": "boolean",
"description": "True if ADA-accessible shelter is available on car deck; otherwise false."
},
"Elevator": {
"type": "boolean",
"description": "True if elevator is available for passenger deck access; otherwise false."
},
"ADAAccessible": {
"type": "boolean",
"description": "True if vessel meets ADA accessibility standards; otherwise false."
},
"MainCabinGalley": {
"type": "boolean",
"description": "True if food service galley is available in main passenger cabin; otherwise false."
},
"MainCabinRestroom": {
"type": "boolean",
"description": "True if restroom is available in main passenger cabin; otherwise false."
},
"PublicWifi": {
"type": "boolean",
"description": "True if public WiFi is available on vessel; otherwise false."
},
"ADAInfo": {
"type": "string",
"nullable": true,
"description": "Detailed ADA accessibility information for passengers with disabilities."
},
"AdditionalInfo": {
"type": "string",
"nullable": true,
"description": "Additional accommodation notes not covered by standard boolean flags."
}
},
"required": [
"VesselID",
"VesselSubjectID",
"VesselName",
"VesselAbbrev",
"Class",
"CarDeckRestroom",
"CarDeckShelter",
"Elevator",
"ADAAccessible",
"MainCabinGalley",
"MainCabinRestroom",
"PublicWifi",
"ADAInfo",
"AdditionalInfo"
],
"description": "Vessel accommodation information including amenities, accessibility features, and passenger facilities."
},
{
"type": "object",
"properties": {
"VesselID": {
"type": "integer",
"description": "Numeric ID of the vessel."
},
"VesselSubjectID": {
"type": "integer",
"description": "Numeric ID of the WSF subject for this vessel."
},
"VesselName": {
"type": "string",
"nullable": true,
"description": "Display name of the vessel."
},
"VesselAbbrev": {
"type": "string",
"nullable": true,
"description": "Abbreviation code of the vessel."
},
"Class": {
"type": "object",
"nullable": true,
"properties": {
"ClassID": {
"type": "integer",
"description": "Numeric ID of the vessel class."
},
"ClassSubjectID": {
"type": "integer",
"description": "Numeric ID of the WSF subject for this vessel class."
},
"ClassName": {
"type": "string",
"nullable": true,
"description": "Display name of the vessel class."
},
"SortSeq": {
"type": "integer",
"nullable": true,
"description": "Display sort order; lower values appear first in lists."
},
"DrawingImg": {
"type": "string",
"nullable": true,
"description": "URL to detailed vessel class drawing image."
},
"SilhouetteImg": {
"type": "string",
"nullable": true,
"description": "URL to small silhouette image of vessel class."
},
"PublicDisplayName": {
"type": "string",
"nullable": true,
"description": "Public-facing display name of the vessel class."
}
},
"required": [
"ClassID",
"ClassSubjectID",
"ClassName",
"SortSeq",
"DrawingImg",
"SilhouetteImg",
"PublicDisplayName"
],
"description": "Vessel class information grouping similar vessels in the fleet."
},
"VesselNameDesc": {
"type": "string",
"description": "Cultural and historical context for vessel name origin."
},
"VesselHistory": {
"type": "string",
"nullable": true,
"description": "Operational history and milestones for the vessel."
},
"Beam": {
"type": "string",
"description": "Vessel beam width in feet and inches."
},
"CityBuilt": {
"type": "string",
"description": "City where vessel was constructed."
},
"SpeedInKnots": {
"type": "integer",
"nullable": true,
"description": "Maximum operational speed in knots."
},
"Draft": {
"type": "string",
"description": "Vessel draft depth in feet and inches."
},
"EngineCount": {
"type": "integer",
"nullable": true,
"description": "Total number of propulsion engines aboard vessel."
},
"Horsepower": {
"type": "integer",
"nullable": true,
"description": "Total engine horsepower output."
},
"Length": {
"type": "string",
"description": "Vessel overall length in feet and inches."
},
"MaxPassengerCount": {
"type": "integer",
"nullable": true,
"description": "Maximum passenger capacity."
},
"PassengerOnly": {
"type": "boolean",
"description": "True if vessel carries only passengers; otherwise false."
},
"FastFerry": {
"type": "boolean",
"description": "True if vessel is classified as a fast ferry; otherwise false."
},
"PropulsionInfo": {
"type": "string",
"description": "Engine propulsion type and fuel technology."
},
"TallDeckClearance": {
"type": "integer",
"nullable": true,
"description": "Tall deck vertical clearance height in inches."
},
"RegDeckSpace": {
"type": "integer",
"nullable": true,
"description": "Maximum regular deck vehicle capacity including tall deck spaces."
},
"TallDeckSpace": {
"type": "integer",
"nullable": true,
"description": "Tall deck vehicle capacity."
},
"Tonnage": {
"type": "integer",
"nullable": true,
"description": "Vessel gross tonnage."
},
"Displacement": {
"type": "integer",
"nullable": true,
"description": "Vessel displacement weight in long tons."
},
"YearBuilt": {
"type": "integer",
"nullable": true,
"description": "Vessel construction year."
},
"YearRebuilt": {
"type": "integer",
"nullable": true,
"description": "Vessel major rebuild year."
},
"VesselDrawingImg": {
"type": "string",
"nullable": true,
"description": "URL to detailed vessel drawing image."
},
"SolasCertified": {
"type": "boolean",
"description": "True if vessel meets SOLAS international safety standards; otherwise false."
},
"MaxPassengerCountForInternational": {
"type": "integer",
"nullable": true,
"description": "Maximum passenger capacity for international routes."
}
},
"required": [
"VesselID",
"VesselSubjectID",
"VesselName",
"VesselAbbrev",
"Class",
"VesselNameDesc",
"VesselHistory",
"Beam",
"CityBuilt",
"SpeedInKnots",
"Draft",
"EngineCount",
"Horsepower",
"Length",
"MaxPassengerCount",
"PassengerOnly",
"FastFerry",
"PropulsionInfo",
"TallDeckClearance",
"RegDeckSpace",
"TallDeckSpace",
"Tonnage",
"Displacement",
"YearBuilt",
"YearRebuilt",
"VesselDrawingImg",
"SolasCertified",
"MaxPassengerCountForInternational"
],
"description": "Vessel technical specifications including dimensions, capacity, speed, propulsion, and build details."
}
],
"description": "Complete vessel information combining identification, operational status, accommodations, and technical specifications in a single schema."
}
},
"parameters": {}
},
"paths": {
"/cacheflushdate": {
"get": {
"summary": "Get cache flush timestamp for static wsf-vessels data.",
"operationId": "fetchCacheFlushDateVessels",
"tags": [
"cache-flush-date-vessels"
],
"x-codeSamples": [
{
"lang": "JavaScript",
"source": "import { fetchCacheFlushDateVessels } from 'ws-dottie/wsf-vessels/core';\n\nconst data = await fetchCacheFlushDateVessels({\n fetchMode: 'native',\n validate: true\n});\n\nconsole.log(data);"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FetchCacheFlushDateVesselsOutput"
},
"examples": {
"sampleResponse": {
"summary": "Sample response",
"description": "Example of a successful response from the API",
"value": "2025-11-14T06:28:07.687Z"
}
}
}
}
}
}
}
},
"/vesselAccommodations": {
"get": {
"summary": "List amenities and accessibility features for all vessels.",
"operationId": "fetchVesselAccommodations",
"tags": [
"vessel-accommodations"
],
"x-codeSamples": [
{
"lang": "JavaScript",
"source": "import { fetchVesselAccommodations } from 'ws-dottie/wsf-vessels/core';\n\nconst data = await fetchVesselAccommodations({\n fetchMode: 'native',\n validate: true\n});\n\nconsole.log(data);"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"VesselID": {
"type": "integer",
"description": "Numeric ID of the vessel."
},
"VesselSubjectID": {
"type": "integer",
"description": "Numeric ID of the WSF subject for this vessel."
},
"VesselName": {
"type": "string",
"nullable": true,
"description": "Display name of the vessel."
},
"VesselAbbrev": {
"type": "string",
"nullable": true,
"description": "Abbreviation code of the vessel."
},
"Class": {
"type": "object",
"nullable": true,
"properties": {
"ClassID": {
"type": "integer",
"description": "Numeric ID of the vessel class."
},
"ClassSubjectID": {
"type": "integer",
"description": "Numeric ID of the WSF subject for this vessel class."
},
"ClassName": {
"type": "string",
"nullable": true,
"description": "Display name of the vessel class."
},
"SortSeq": {
"type": "integer",
"nullable": true,
"description": "Display sort order; lower values appear first in lists."
},
"DrawingImg": {
"type": "string",
"nullable": true,
"description": "URL to detailed vessel class drawing image."
},
"SilhouetteImg": {
"type": "string",
"nullable": true,
"description": "URL to small silhouette image of vessel class."
},
"PublicDisplayName": {
"type": "string",
"nullable": true,
"description": "Public-facing display name of the vessel class."
}
},
"required": [
"ClassID",
"ClassSubjectID",
"ClassName",
"SortSeq",
"DrawingImg",
"SilhouetteImg",
"PublicDisplayName"
],
"description": "Vessel class information grouping similar vessels in the fleet."
},
"CarDeckRestroom": {
"type": "boolean",
"description": "True if ADA-accessible restroom is available on car deck; otherwise false."
},
"CarDeckShelter": {
"type": "boolean",
"description": "True if ADA-accessible shelter is available on car deck; otherwise false."
},
"Elevator": {
"type": "boolean",
"description": "True if elevator is available for passenger deck access; otherwise false."
},
"ADAAccessible": {
"type": "boolean",
"description": "True if vessel meets ADA accessibility standards; otherwise false."
},
"MainCabinGalley": {
"type": "boolean",
"description": "True if food service galley is available in main passenger cabin; otherwise false."
},
"MainCabinRestroom": {
"type": "boolean",
"description": "True if restroom is available in main passenger cabin; otherwise false."
},
"PublicWifi": {
"type": "boolean",
"description": "True if public WiFi is available on vessel; otherwise false."
},
"ADAInfo": {
"type": "string",
"nullable": true,
"description": "Detailed ADA accessibility information for passengers with disabilities."
},
"AdditionalInfo": {
"type": "string",
"nullable": true,
"description": "Additional accommodation notes not covered by standard boolean flags."
}
},
"required": [
"VesselID",
"VesselSubjectID",
"VesselName",
"VesselAbbrev",
"Class",
"CarDeckRestroom",
"CarDeckShelter",
"Elevator",
"ADAAccessible",
"MainCabinGalley",
"MainCabinRestroom",
"PublicWifi",
"ADAInfo",
"AdditionalInfo"
],
"description": "Vessel accommodation information including amenities, accessibility features, and passenger facilities."
}
},
"examples": {
"sampleResponse": {
"summary": "Sample response",
"description": "Example of a successful response from the API (showing first item of 21 total)",
"value": [
{
"VesselID": 1,
"VesselSubjectID": 1,
"VesselName": "Cathlamet",
"VesselAbbrev": "CAT",
"Class": {
"ClassID": 10,
"ClassSubjectID": 310,
"ClassName": "Issaquah 130",
"SortSeq": 40,
"DrawingImg": "https://www.wsdot.wa.gov/ferries/images/pa