UNPKG

ws-dottie

Version:

Your friendly TypeScript companion for Washington State transportation APIs - WSDOT and WSF data with smart caching and React Query integration

2,617 lines 111 kB
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';

            const data = await fetchCacheFlushDateVessels({
              fetchMode: 'native',
              validate: true
            });

            console.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';

            const data = await fetchVesselAccommodations({
              fetchMode: 'native',
              validate: true
            });

            console.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/pages/boat_drawings/4-issaquah130.gif
                        SilhouetteImg: https://www.wsdot.wa.gov/ferries/images/pages/boat_drawings/4-issaquah130-sillouette_sml.gif
                        PublicDisplayName: Issaquah
                      CarDeckRestroom: true
                      CarDeckShelter: false
                      Elevator: true
                      ADAAccessible: true
                      MainCabinGalley: true
                      MainCabinRestroom: true
                      PublicWifi: false
                      ADAInfo: The M/V Cathlamet has elevator access from the car deck to the passenger deck. The vessel has accessible restrooms located on both the main passenger deck and the car deck. Notify a ticket seller if you are traveling by car and need to park near an elevator or car deck restroom. The main passenger deck also has vending and newspaper machines and a galley. This vessel is equipped with our visual paging system.
                      AdditionalInfo: ' '
  /vesselAccommodations/{VesselID}:
    get:
      summary: Get amenities and accessibility features for a specific vessel.
      operationId: fetchVesselAccommodationsByVesselId
      tags:
        - vessel-accommodations
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import { fetchVesselAccommodationsByVesselId } from 'ws-dottie/wsf-vessels/core';

            const data = await fetchVesselAccommodationsByVesselId({
              params: {
                "VesselID": 65
              },
              fetchMode: 'native',
              validate: true
            });

            console.log(data);
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FetchVesselAccommodationsByVesselIdOutput'
              examples:
                sampleResponse:
                  summary: Sample response
                  description: Example of a successful response from the API
                  value:
                    VesselID: 65
                    VesselSubjectID: 428
                    VesselName: Chetzemoka
                    VesselAbbrev: CHZ
                    Class:
                      ClassID: 162
                      ClassSubjectID: 427
                      ClassName: Kwa-di Tabil
                      SortSeq: 75
                      DrawingImg: https://www.wsdot.wa.gov/ferries/images/pages/boat_drawings/13-kwaditabil.gif
                      SilhouetteImg: https://www.wsdot.wa.gov/ferries/images/pages/boat_drawings/13-kwaditabil-silouette_sml.gif
                      PublicDisplayName: Kwa-di Tabil
                    CarDeckRestroom: false
                    CarDeckShelter: false
                    Elevator: true
                    ADAAccessible: true
                    MainCabinGalley: true
                    MainCabinRestroom: true
                    PublicWifi: false
                    ADAInfo: "The M/V Chetzemoka has elevator access from the auto deck to all passenger deck levels. In the event of an elevator closure, a crew member can assist passengers with mobility disabilities to the passenger deck by way of a small freight elevator, though it is not ADA accessible. When you arrive at the terminal, notify the ticket seller if you need to park near the elevator. The main passenger deck has accessible restrooms, vending machines and a galley.\r\n"
                    AdditionalInfo: null
  /vesselBasics:
    get:
      summary: List basic information for all vessels in the fleet.
      operationId: fetchVesselBasics
      tags:
        - vessel-basics
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import { fetchVesselBasics } from 'ws-dottie/wsf-vessels/core';

            const data = await fetchVesselBasics({
              fetchMode: 'native',
              validate: true
            });

            console.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.
                    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.
              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/pages/boat_drawings/4-issaquah130.gif
                        SilhouetteImg: https://www.wsdot.wa.gov/ferries/images/pages/boat_drawings/4-issaquah130-sillouette_sml.gif
                        PublicDisplayName: Issaquah
                      Status: 1
                      OwnedByWSF: true
  /vesselBasics/{VesselID}:
    get:
      summary: Get basic information for a specific vessel by ID.
      operationId: fetchVesselBasicsByVesselId
      tags:
        - vessel-basics
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import { fetchVesselBasicsByVesselId } from 'ws-dottie/wsf-vessels/core';

            const data = await fetchVesselBasicsByVesselId({
              params: {
                "VesselID": 74
              },
              fetchMode: 'native',
              validate: true
            });

            console.log(data);
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FetchVesselBasicsByVesselIdOutput'
              examples:
                sampleResponse:
                  summary: Sample response
                  description: Example of a successful response from the API
                  value:
                    VesselID: 74
                    VesselSubjectID: 487
                    VesselName: Chimacum
                    VesselAbbrev: CHM
                    Class:
                      ClassID: 100
                      ClassSubjectID: 319
                      ClassName: Olympic
                      SortSeq: 35
                      DrawingImg: https://www.wsdot.wa.gov/ferries/images/pages/boat_drawings/8-olympic-2014.gif
                      SilhouetteImg: https://www.wsdot.wa.gov/ferries/images/pages/boat_drawings/3-issaquah-sillouette_sml.gif
                      PublicDisplayName: Olympic
                    Status: 1
                    OwnedByWSF: true
  /vesselHistory:
    get:
      summary: List historical sailing records for all vessels.
      operationId: fetchVesselHistories
      tags:
        - vessel-histories
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import { fetchVesselHistories } from 'ws-dottie/wsf-vessels/core';

            const data = await fetchVesselHistories({
              fetchMode: 'native',
              validate: true
            });

            console.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.
                    Vessel:
                      type: string
                      nullable: true
                      description: Display name of the vessel.
                    Departing:
                      type: string
                      nullable: true
                      description: Display name of the departing terminal.
                      format: date-time
                    Arriving:
                      type: string
                      nullable: true
                      description: Display name of the arriving terminal.
                    ScheduledDepart:
                      type: string
                      nullable: true
                      description: UTC datetime of scheduled departure from origin terminal.
                      format: date-time
                    ActualDepart:
                      type: string
                      nullable: true
                      description: UTC datetime of actual departure from origin terminal.
                      format: date-time
                    EstArrival:
                      type: string
                      nullable: true
                      description: UTC datetime of estimated arrival at destination terminal.
                      format: date-time
                    Date:
                      type: string
                      nullable: true
                      description: UTC datetime indicating the calendar date when this voyage occurred.
                      format: date-time
                  required:
                    - VesselId
                    - Vessel
                    - Departing
                    - Arriving
                    - ScheduledDepart
                    - ActualDepart
                    - EstArrival
                    - Date
                  description: Historical vessel voyage record including departure and arrival terminals, scheduled and actual departure times, and estimated arrival times.
              examples:
                sampleResponse:
                  summary: Sample response
                  description: Example of a successful response from the API (showing first item of 21 total)
                  value:
                    - VesselId: 21
                      Vessel: Spokane
                      Departing: null
                      Arriving: null
                      ScheduledDepart: null
                      ActualDepart: null
                      EstArrival: null
                      Date: null
  /vesselHistory/{VesselName}/{DateStart}/{DateEnd}:
    get:
      summary: Get historical sailing records for a vessel within a date range.
      operationId: fetchVesselHistoriesByVesselNameAndDateRange
      tags:
        - vessel-histories
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import { fetchVesselHistoriesByVesselNameAndDateRange } from 'ws-dottie/wsf-vessels/core';

            const data = await fetchVesselHistoriesByVesselNameAndDateRange({
              params: {
                "VesselName": "Tacoma",
                "DateStart": "2025-09-01",
                "DateEnd": "2025-10-01"
              },
              fetchMode: 'native',
              validate: true
            });

            console.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.
                    Vessel:
                      type: string
                      nullable: true
                      description: Display name of the vessel.
                    Departing:
                      type: string
                      nullable: true
                      description: Display name of the departing terminal.
                      format: date-time
                    Arriving:
                      type: string
                      nullable: true
                      description: Display name of the arriving terminal.
                    ScheduledDepart:
                      type: string
                      nullable: true
                      description: UTC datetime of scheduled departure from origin terminal.
                      format: date-time
                    ActualDepart:
                      type: string
                      nullable: true
                      description: UTC datetime of actual departure from origin terminal.
                      format: date-time
                    EstArrival:
                      type: string
                      nullable: true
                      description: UTC datetime of estimated arrival at destination terminal.
                      format: date-time
                    Date:
                      type: string
                      nullable: true
                      description: UTC datetime indicating the calendar date when this voyage occurred.
                      format: date-time
                  required:
                    - VesselId
                    - Vessel
                    - Departing
                    - Arriving
                    - ScheduledDepart
                    - ActualDepart
                    - EstArrival
                    - Date
                  description: Historical vessel voyage record including departure and arrival terminals, scheduled and actual departure times, and estimated arrival times.
              examples:
                sampleResponse:
                  summary: Sample response
                  description: Example of a successful response from the API (showing first item of 681 total)
                  value:
                    - VesselId: 1077
                      Vessel: Tacoma
                      Departing: Bainbridge
                      Arriving: Colman
                      ScheduledDepart: '2025-09-01T07:00:00.000Z'
                      ActualDepart: '2025-09-01T07:24:02.000Z'
                      EstArrival: '2025-09-01T07:56:54.000Z'
                      Date: '2025-09-01T07:00:00.000Z'
  /vesselLocations:
    get:
      summary: List current locations and status for all active vessels.
      operationId: fetchVesselLocations
      tags:
        - vessel-locations
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import { fetchVesselLocations } from 'ws-dottie/wsf-vessels/core';

            const data = await fetchVesselLocations({
              fetchMode: 'native',
              validate: true
            });

            console.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.
                    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.
              examples:
                sampleResponse:
                  summary: Sample response
                  description: Example of a successful response from the API (showing first item of 21 total)
                  value:
                    - VesselID: 2
                      VesselName: Chelan
                      Mmsi: 366709770
                      DepartingTerminalID: 1
                      DepartingTerminalName: Anacortes
                      DepartingTerminalAbbrev: ANA
                      ArrivingTerminalID: 10
                      ArrivingTerminalName: Friday Harbor
                      ArrivingTerminalAbbrev: FRH
                      Latitude: 48.536383
                      Longitude: -123.013343
                      Speed: 0.7
                      Heading: 211
                      InService: true
                      AtDock: false
                      LeftDock: '2025-11-15T16:40:47.000Z'
                      Eta: '2025-11-15T17:46:00.000Z'
                      EtaBasis: Vessel Chelan departed Anacortes going to Friday Harbor and using vessel Chelan closest location data from Nov 14 2025  9:45AM
                      ScheduledDeparture: '2025-11-15T16:40:00.000Z'
                      OpRouteAbbrev:
                        - ana-sj
                      VesselPositionNum: 1
                      SortSeq: 20
                      ManagedBy: 1
                      TimeStamp: '2025-11-15T17:44:51.000Z'
                      VesselWatchShutID: 2
                      VesselWatchShutMsg: Vessel information unavailable
                      VesselWatchShutFlag: '0'
                      VesselWatchStatus: '0'
                      VesselWatchMsg: 'WSF''s VesselWatch page is currently not responding and is out of service. Thank you for your patience while we work to restore this page. '
  /vesselLocations/{VesselID}:
    get:
      summary: Get current location and status for a specific vessel by ID.
      operationId: fetchVesselLocationsByVesselId
      tags:
        - vessel-locations
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import { fetchVesselLocationsByVesselId } from 'ws-dottie/wsf-vessels/core';

            const data = await fetchVesselLocationsByVesselId({
              params: {
                "VesselID": 18
              },
              fetchMode: 'native',
              validate: true
            });

            console.log(data);
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FetchVesselLocationsByVesselIdOutput'
              examples:
                sampleResponse:
                  summary: Sample response
                  description: Example of a successful response from the API
                  value:
                    VesselID: 18
                    VesselName: Kitsap
                    Mmsi: 366772980
                    DepartingTerminalID: 138
                    DepartingTerminalName: Everett Harbor
                    DepartingTerminalAbbrev: EVH
                    ArrivingTerminalID: null
                    ArrivingTerminalName: null
                    ArrivingTerminalAbbrev: null
                    Latitude: 47.620557
                    Longitude: -122.432302
                    Speed: 0
                    Heading: 348
                    InService: false
                    AtDock: false
                    LeftDock: '2025-11-15T08:57:52.000Z'
                    Eta: null
                    EtaBasis: Calculating
                    ScheduledDeparture: null
                    OpRouteAbbrev: []
                    VesselPositionNum: null
                    SortSeq: 9999
                    ManagedBy: 1
                    TimeStamp: '2025-11-15T08:57:52.000Z'
                    VesselWatchShutID: 6
                    VesselWatchShutMsg: Vessel temporarily out of service
                    VesselWatchShutFlag: '0'
                    VesselWatchStatus: '0'
                    VesselWatchMsg: 'WSF''s VesselWatch page is currently not responding and is out of service. Thank you for your patience while we work to restore this page. '
  /vesselStats:
    get:
      summary: List technical specifications for all vessels.
      operationId: fetchVesselStats
      tags:
        - vessel-stats
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import { fetchVesselStats } from 'ws-dottie/wsf-vessels/core';

            const data = await fetchVesselStats({
              fetchMode: 'native',
              validate: true
            });

            console.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.
                    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.
              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/pages/boat_drawings/4-issaquah130.gif
                        SilhouetteImg: https://www.wsdot.wa.gov/ferries/images/pages/boat_drawings/4-issaquah130-sillouette_sml.gif
                        PublicDisplayName: Issaquah
                      VesselNameDesc: "From the Kathlamet tribe, the Chinook word calamet  meaning \"stone,\" was given to the tribe because its members lived along a rocky stretch of the Columbia River. A city also bears its name. \r\n\r\n"
                      VesselHistory: ' '
                      Beam: 78' 8"
                      CityBuilt: Seattle
                      SpeedInKnots: 16
                      Draft: 16' 7"
                      EngineCount: 2
                      Horsepower: 5100
                      Length: 328' 2"
                      MaxPassengerCount: 1196
                      PassengerOnly: false
                      FastFerry: false
                      PropulsionInfo: DIESEL
                      TallDeckClearance: 186
                      RegDeckSpace: 124
                      TallDeckSpace: 25
                      Tonnage: 2477
                      Displacement: 3310
                      YearBuilt: 1981
                      YearRebuilt: 1993
                      VesselDrawingImg: null
                      SolasCertified: false
                      MaxPassengerCountForInternational: null
  /vesselStats/{VesselID}:
    get:
      summary: Get technical specifications for a specific vessel by ID.
      operationId: fetchVesselStatsByVesselId
      tags:
        - vessel-stats
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import { fetchVesselStatsByVesselId } from 'ws-dottie/wsf-vessels/core';

            const data = await fetchVesselStatsByVesselId({
              params: {
                "VesselID": 32
              },
              fetchMode: 'native',
              validate: true
            });

            console.log(data);
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FetchVesselStatsByVesselIdOutput'
              examples:
                sampleResponse:
                  summary: Sample response
                  description: Example of a successful response from the API
                  value:
                    VesselID: 32
                    VesselSubjectID: 32
                    VesselName: Tacoma
                    VesselAbbrev: TAC
                    Class:
                      ClassID: 90
                      ClassSubjectID: 318
                      ClassName: Jumbo Mark II
                      SortSeq: 10
                      DrawingImg: https://www.wsdot.wa.gov/ferries/images/pages/boat_drawings/0-mark2.gif
                      SilhouetteImg: https://www.wsdot.wa.gov/ferries/images/pages/boat_drawings/0-mark2-sillouette_sml.gif
                      PublicDisplayName: Jumbo Mark II
                    VesselNameDesc: "From the Lushootseed word Tah-ho-mah (now Mt. Rainier), meaning \"snowy mountain.\" Tacoma  was first attributed to the mountain in an 1860s book, \"The Canoe and the Saddle\"  by Theodore Winthrop, a popular volume on the early Pacific Northwest. The city picked the name over Commencement City  when the railroad made its terminius there in the 1870s. \r\n"
                    VesselHistory: "Todd Shipyard Delivery Date: 15 August 1997\r\nKeel Laid Date: 16 October 1995"
                    Beam: 90'
                    CityBuilt: Seattle
                    SpeedInKnots: 18
                    Draft: 18' 6"
                    EngineCount: 4
                    Horsepower: 16000
                    Length: 460' 2"
                    MaxPassengerCount: 1791
                    PassengerOnly: false
                    FastFerry: false
                    PropulsionInfo: DIESEL-ELECTRIC (AC)
                    TallDeckClearance: 186
                    RegDeckSpace: 202
                    TallDeckSpace: 68
                    Tonnage: 4938
                    Displacement: 6184
                    YearBuilt: 1997
                    YearRebuilt: null
                    VesselDrawingImg: null
                    SolasCertified: false
                    MaxPassengerCountForInternational: null
  /vesselVerbose:
    get:
      summary: List complete vessel information for all vessels.
      operationId: fetchVesselsVerbose
      tags:
        - cache-flush-date-vessels
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import { fetchVesselsVerbose } from 'ws-dottie/wsf-vessels/core';

            const data = await fetchVesselsVerbose({
              fetchMode: 'native',
              validate: true
            });

            console.log(data);
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  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.
              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/pages/boat_drawings/4-issaquah130.gif
                        SilhouetteImg: https://www.wsdot.wa.gov/ferries/images/pages/boat_drawings/4-issaquah130-sillouette_sml.gif
                        PublicDisplayName: Issaquah
                      Status: 1
                      OwnedByWSF: true
                      CarDeckRestroom: true
                      CarDeckShelter: false
                      Elevator: true
                      ADAAccessible: true
                      MainCabinGalley: true
                      MainCabinRestroom: true
                      PublicWifi: false
                      ADAInfo: The M/V Cathlamet has elevator access from the car deck to the passenger deck. The vessel has accessible restrooms located on both the main passenger deck and the car deck. Notify a ticket seller if you are traveling by car and need to park near an elevator or car deck restroom. The main passenger deck also has vending and newspaper machines and a galley. This vessel is equipped with our visual paging system.
                      AdditionalInfo: ' '
                      VesselNameDesc: "From the Kathlamet tribe, the Chinook word calamet  meaning \"stone,\" was given to the tribe because its members lived along a rocky stretch of the Columbia River. A city also bears its name. \r\n\r\n"
                      VesselHistory: ' '
                      Beam: 78' 8"
                      CityBuilt: Seattle
                      SpeedInKnots: 16
                      Draft: 16' 7"
                      EngineCount: 2
                      Horsepower: 5100
                      Length: 328' 2"
                      MaxPassengerCount: 1196
                      PassengerOnly: false
                      FastFerry: false
                      PropulsionInfo: DIESEL
                      TallDeckClearance: 186
                      RegDeckSpace: 124
                      TallDeckSpace: 25
                      Tonnage: 2477
                      Displacement: 3310
                      YearBuilt: 1981
                      YearRebuilt: 1993
                      VesselDrawingImg: null
                      SolasCertified: false
                      MaxPassengerCountForInternational: null
  /vesselVerbose/{VesselID}:
    get:
      summary: Get complete vessel information for a specific vessel by ID.
      operationId: fetchVesselsVerboseByVesselId
      tags:
        - cache-flush-date-vessels
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import { fetchVesselsVerboseByVesselId } from 'ws-dottie/wsf-vessels/core';

            const data = await fetchVesselsVerboseByVesselId({
              params: {
                "VesselID": 68
              },
              fetchMode: 'native',
              validate: true
            });

            console.log(data);
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FetchVesselsVerboseByVesselIdOutput'
              examples:
                sampleResponse:
                  summary: Sample response
                  description: Example of a successful response from the API
                  value:
                    VesselID: 68
                    VesselSubjectID: 462
                    VesselName: Tokitae
                    VesselAbbrev: TOK
                    Class:
                      ClassID: 100
                      ClassSubjectID: 319
                      ClassName: Olympic
                      SortSeq: 35
                      DrawingImg: https://www.wsdot.wa.gov/ferries/images/pages/boat_drawings/8-olympic-2014.gif
                      SilhouetteImg: https://www.wsdot.wa.gov/ferries/images/pages/boat_drawings/3-issaquah-sillouette_sml.gif
                      PublicDisplayName: Olympic
                    Status: 1
                    OwnedByWSF: true
                    CarDeckRestroom: false
                    CarDeckShelter: true
                    Elevator: true
                    ADAAccessible: true
                    MainCabinGalley: true
                    MainCabinRestroom: true
                    PublicWifi: false
                    ADAInfo: The M/V Tokitae has two ADA compliant elevators and wide staircases that provide access from both car decks to the passenger and sun decks. There are accessible restrooms on the main passenger deck and the sun deck. Notify ticket seller if you are traveling by car and need to park near an elevator. There are 12 wheelchair spaces available in the main passenger cabin. There is a galley, and vending and newspaper machines on the main passenger deck. This vessel is equipped with our visual paging system.
                    AdditionalInfo: null
                    VesselNameDesc: Tokitae means "nice day, pretty colors" in Chinook jargon.
                    VesselHistory: 'Tokitae is the first of the 144-car, Olympic class ferries pressed into service in June of 2014. '
                    Beam: 83' 6"
                    CityBuilt: Seattle
                    SpeedInKnots: 17
                    Draft: 18'
                    EngineCount: 2
                    Horsepower: 6000
                    Length: 362' 5"
                    MaxPassengerCount: 1500
                    PassengerOnly: false
                    FastFerry: false
                    PropulsionInfo: DIESEL
                    TallDeckClearance: 192
                    RegDeckSpace: 144
                    TallDeckSpace: 34
                    Tonnage: 3525
                    Displacement: 5171
                    YearBuilt: 2014
                    YearRebuilt: null
                    VesselDrawingImg: null
                    SolasCertified: false
                    MaxPassengerCountForInternational: null
tags:
  - name: cache-flush-date-vessels
    description: Cache invalidation timestamp for static wsf-vessels data.
    x-description: Timestamp indicating when any static endpoint data for the wsf-vessels API was last updated. Use this endpoint to determine when to invalidate cached vessel information. When the returned date changes, refresh cached data from static endpoints.
    x-cacheStrategy: STATIC
    x-useCases:
      - Poll periodically to detect when static vessel data has changed.
      - Invalidate application cache when timestamp changes.
      - Coordinate cache refresh across multiple static endpoints.
  - name: vessel-accommodations
    description: Passenger amenities and accessibility features for WSF vessels.
    x-description: Amenity and accessibility information including ADA compliance, restrooms, food service, elevators, and connectivity. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.
    x-cacheStrategy: STATIC
    x-useCases:
      - Display vessel amenities in passenger information systems.
      - Plan accessible travel for passengers with disabilities.
      - Compare vessel features for trip planning.
  - name: vessel-basics
    description: Essential vessel identification and operational status.
    x-description: Basic vessel information including names, IDs, classifications, and operational status. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.
    x-cacheStrategy: STATIC
    x-useCases:
      - Display vessel lists and status in passenger information systems.
      - Track fleet operational status and availability.
      - Provide foundation data for vessel selection.
  - name: vessel-histories
    description: Historical sailing records for WSF vessels.
    x-description: Historical voyage data including departure and arrival terminals, scheduled and actual departure times, and estimated arrival times. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.
    x-cacheStrategy: STATIC
    x-useCases:
      - Analyze on-time performance and voyage patterns.
      - Track historical vessel movements and routes.
      - Generate reports on operational history.
  - name: vessel-locations
    description: Real-time vessel positions and status for WSF fleet.
    x-description: Current GPS coordinates, speed, heading, terminal assignments, and ETAs. This endpoint is real-time; cacheFlushDate is not used for cache invalidation.
    x-cacheStrategy: REALTIME
    x-useCases:
      - Show live vessel positions and ETAs in rider apps.
      - Monitor fleet operations in internal dashboards.
      - Calculate arrival times and voyage progress.
    x-updateFrequency: 5s
  - name: vessel-stats
    description: Technical specifications and capacity data for WSF vessels.
    x-description: Physical dimensions, engine details, passenger and vehicle capacity, and construction information. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.
    x-cacheStrategy: STATIC
    x-useCases:
      - Compare vessel capabilities and specifications.
      - Plan capacity and route assignments.
      - Support maintenance and technical reference.
  - name: vessel-verbose
    description: Complete vessel information combining basics, stats, and accommodations.
    x-description: Comprehensive vessel profiles combining identification, operational status, technical specifications, and amenities in a single response. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.
    x-cacheStrategy: STATIC
    x-useCases:
      - Display complete vessel profiles in passenger information systems.
      - Reduce API calls by fetching all vessel data at once.
      - Support comprehensive vessel comparison and selection.