ws-dottie
Version:
Your friendly TypeScript companion for Washington State transportation APIs - WSDOT and WSF data with smart caching and React Query integration
1,705 lines • 60.2 kB
JSON
{
"ScheduleID": 193,
"ScheduleName": "Fall 2025",
"ScheduleSeason": 2,
"SchedulePDFUrl": "http://www.wsdot.wa.gov/ferries/pdf/2025Fall.pdf",
"ScheduleStart": "2025-09-21T07:00:00.000Z",
"ScheduleEnd": "2025-12-27T08:00:00.000Z",
"AllRoutes": [
9
],
"TerminalCombos": [
{
"DepartingTerminalID": 1,
"DepartingTerminalName": "Anacortes",
"ArrivingTerminalID": 13,
"ArrivingTerminalName": "Lopez Island",
"SailingNotes": "",
"Annotations": [],
"Times": [
{
"DepartingTime": "2025-11-15T14:15:00.000Z",
"ArrivingTime": "2025-11-15T15:10:00.000Z",
"LoadingRule": 3,
"VesselID": 69,
"VesselName": "Samish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 3,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T18:05:00.000Z",
"ArrivingTime": "2025-11-15T19:00:00.000Z",
"LoadingRule": 3,
"VesselID": 69,
"VesselName": "Samish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 3,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T21:55:00.000Z",
"ArrivingTime": "2025-11-15T22:40:00.000Z",
"LoadingRule": 3,
"VesselID": 38,
"VesselName": "Yakima",
"VesselHandicapAccessible": true,
"VesselPositionNum": 2,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T00:20:00.000Z",
"ArrivingTime": "2025-11-16T01:15:00.000Z",
"LoadingRule": 3,
"VesselID": 38,
"VesselName": "Yakima",
"VesselHandicapAccessible": true,
"VesselPositionNum": 2,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T01:35:00.000Z",
"ArrivingTime": "2025-11-16T02:30:00.000Z",
"LoadingRule": 3,
"VesselID": 69,
"VesselName": "Samish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 3,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T04:15:00.000Z",
"ArrivingTime": "2025-11-16T05:10:00.000Z",
"LoadingRule": 3,
"VesselID": 38,
"VesselName": "Yakima",
"VesselHandicapAccessible": true,
"VesselPositionNum": 2,
"Routes": [
9
],
"AnnotationIndexes": []
}
],
"AnnotationsIVR": []
},
{
"DepartingTerminalID": 1,
"DepartingTerminalName": "Anacortes",
"ArrivingTerminalID": 18,
"ArrivingTerminalName": "Shaw Island",
"SailingNotes": "",
"Annotations": [],
"Times": [
{
"DepartingTime": "2025-11-15T13:30:00.000Z",
"ArrivingTime": "2025-11-15T15:05:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T15:30:00.000Z",
"ArrivingTime": "2025-11-15T17:10:00.000Z",
"LoadingRule": 3,
"VesselID": 38,
"VesselName": "Yakima",
"VesselHandicapAccessible": true,
"VesselPositionNum": 2,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T19:55:00.000Z",
"ArrivingTime": "2025-11-15T20:55:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T23:20:00.000Z",
"ArrivingTime": "2025-11-16T00:50:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T02:05:00.000Z",
"ArrivingTime": "2025-11-16T03:05:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T04:40:00.000Z",
"ArrivingTime": "2025-11-16T05:35:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": []
}
],
"AnnotationsIVR": []
},
{
"DepartingTerminalID": 1,
"DepartingTerminalName": "Anacortes",
"ArrivingTerminalID": 15,
"ArrivingTerminalName": "Orcas Island",
"SailingNotes": "",
"Annotations": [],
"Times": [
{
"DepartingTime": "2025-11-15T13:30:00.000Z",
"ArrivingTime": "2025-11-15T14:25:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T15:30:00.000Z",
"ArrivingTime": "2025-11-15T16:30:00.000Z",
"LoadingRule": 3,
"VesselID": 38,
"VesselName": "Yakima",
"VesselHandicapAccessible": true,
"VesselPositionNum": 2,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T18:05:00.000Z",
"ArrivingTime": "2025-11-15T19:20:00.000Z",
"LoadingRule": 3,
"VesselID": 69,
"VesselName": "Samish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 3,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T19:55:00.000Z",
"ArrivingTime": "2025-11-15T21:05:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T23:20:00.000Z",
"ArrivingTime": "2025-11-16T00:15:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T02:05:00.000Z",
"ArrivingTime": "2025-11-16T03:15:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T04:40:00.000Z",
"ArrivingTime": "2025-11-16T05:45:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": []
}
],
"AnnotationsIVR": []
},
{
"DepartingTerminalID": 1,
"DepartingTerminalName": "Anacortes",
"ArrivingTerminalID": 10,
"ArrivingTerminalName": "Friday Harbor",
"SailingNotes": "",
"Annotations": [],
"Times": [
{
"DepartingTime": "2025-11-15T12:05:00.000Z",
"ArrivingTime": "2025-11-15T13:15:00.000Z",
"LoadingRule": 3,
"VesselID": 38,
"VesselName": "Yakima",
"VesselHandicapAccessible": true,
"VesselPositionNum": 2,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T14:15:00.000Z",
"ArrivingTime": "2025-11-15T15:45:00.000Z",
"LoadingRule": 3,
"VesselID": 69,
"VesselName": "Samish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 3,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T16:40:00.000Z",
"ArrivingTime": "2025-11-15T17:50:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T18:30:00.000Z",
"ArrivingTime": "2025-11-15T19:40:00.000Z",
"LoadingRule": 3,
"VesselID": 38,
"VesselName": "Yakima",
"VesselHandicapAccessible": true,
"VesselPositionNum": 2,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T21:35:00.000Z",
"ArrivingTime": "2025-11-15T22:45:00.000Z",
"LoadingRule": 3,
"VesselID": 69,
"VesselName": "Samish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 3,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T00:20:00.000Z",
"ArrivingTime": "2025-11-16T01:50:00.000Z",
"LoadingRule": 3,
"VesselID": 38,
"VesselName": "Yakima",
"VesselHandicapAccessible": true,
"VesselPositionNum": 2,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T01:35:00.000Z",
"ArrivingTime": "2025-11-16T03:05:00.000Z",
"LoadingRule": 3,
"VesselID": 69,
"VesselName": "Samish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 3,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T04:15:00.000Z",
"ArrivingTime": "2025-11-16T05:45:00.000Z",
"LoadingRule": 3,
"VesselID": 38,
"VesselName": "Yakima",
"VesselHandicapAccessible": true,
"VesselPositionNum": 2,
"Routes": [
9
],
"AnnotationIndexes": []
}
],
"AnnotationsIVR": []
},
{
"DepartingTerminalID": 13,
"DepartingTerminalName": "Lopez Island",
"ArrivingTerminalID": 18,
"ArrivingTerminalName": "Shaw Island",
"SailingNotes": "",
"Annotations": [
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH."
],
"Times": [
{
"DepartingTime": "2025-11-15T14:50:00.000Z",
"ArrivingTime": "2025-11-15T15:20:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T23:20:00.000Z",
"ArrivingTime": "2025-11-15T23:45:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
0
]
},
{
"DepartingTime": "2025-11-16T03:45:00.000Z",
"ArrivingTime": "2025-11-16T04:10:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
}
],
"AnnotationsIVR": [
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH."
]
},
{
"DepartingTerminalID": 13,
"DepartingTerminalName": "Lopez Island",
"ArrivingTerminalID": 15,
"ArrivingTerminalName": "Orcas Island",
"SailingNotes": "",
"Annotations": [
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH."
],
"Times": [
{
"DepartingTime": "2025-11-15T14:50:00.000Z",
"ArrivingTime": "2025-11-15T15:40:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T19:00:00.000Z",
"ArrivingTime": "2025-11-15T19:20:00.000Z",
"LoadingRule": 3,
"VesselID": 69,
"VesselName": "Samish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 3,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T23:20:00.000Z",
"ArrivingTime": "2025-11-15T23:55:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
0
]
},
{
"DepartingTime": "2025-11-16T03:45:00.000Z",
"ArrivingTime": "2025-11-16T04:30:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
}
],
"AnnotationsIVR": [
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH."
]
},
{
"DepartingTerminalID": 13,
"DepartingTerminalName": "Lopez Island",
"ArrivingTerminalID": 10,
"ArrivingTerminalName": "Friday Harbor",
"SailingNotes": "",
"Annotations": [
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH.",
"No interisland vehicles. Foot passenger and bikes okay."
],
"Times": [
{
"DepartingTime": "2025-11-15T14:50:00.000Z",
"ArrivingTime": "2025-11-15T16:30:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T15:10:00.000Z",
"ArrivingTime": "2025-11-15T15:45:00.000Z",
"LoadingRule": 3,
"VesselID": 69,
"VesselName": "Samish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 3,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T18:30:00.000Z",
"ArrivingTime": "2025-11-15T19:10:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T21:35:00.000Z",
"ArrivingTime": "2025-11-15T22:15:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T00:50:00.000Z",
"ArrivingTime": "2025-11-16T01:30:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
0
]
},
{
"DepartingTime": "2025-11-16T01:15:00.000Z",
"ArrivingTime": "2025-11-16T01:50:00.000Z",
"LoadingRule": 1,
"VesselID": 38,
"VesselName": "Yakima",
"VesselHandicapAccessible": true,
"VesselPositionNum": 2,
"Routes": [
9
],
"AnnotationIndexes": [
1
]
},
{
"DepartingTime": "2025-11-16T02:30:00.000Z",
"ArrivingTime": "2025-11-16T03:05:00.000Z",
"LoadingRule": 3,
"VesselID": 69,
"VesselName": "Samish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 3,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T03:45:00.000Z",
"ArrivingTime": "2025-11-16T05:20:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T05:10:00.000Z",
"ArrivingTime": "2025-11-16T05:45:00.000Z",
"LoadingRule": 3,
"VesselID": 38,
"VesselName": "Yakima",
"VesselHandicapAccessible": true,
"VesselPositionNum": 2,
"Routes": [
9
],
"AnnotationIndexes": []
}
],
"AnnotationsIVR": [
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH.",
"No interisland vehicles. Foot passengers and bikes okay."
]
},
{
"DepartingTerminalID": 18,
"DepartingTerminalName": "Shaw Island",
"ArrivingTerminalID": 15,
"ArrivingTerminalName": "Orcas Island",
"SailingNotes": "",
"Annotations": [
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH."
],
"Times": [
{
"DepartingTime": "2025-11-15T15:20:00.000Z",
"ArrivingTime": "2025-11-15T15:40:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T20:55:00.000Z",
"ArrivingTime": "2025-11-15T21:05:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T23:45:00.000Z",
"ArrivingTime": "2025-11-15T23:55:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
0
]
},
{
"DepartingTime": "2025-11-16T03:05:00.000Z",
"ArrivingTime": "2025-11-16T03:15:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T04:10:00.000Z",
"ArrivingTime": "2025-11-16T04:30:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T05:35:00.000Z",
"ArrivingTime": "2025-11-16T05:45:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": []
}
],
"AnnotationsIVR": [
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH."
]
},
{
"DepartingTerminalID": 18,
"DepartingTerminalName": "Shaw Island",
"ArrivingTerminalID": 10,
"ArrivingTerminalName": "Friday Harbor",
"SailingNotes": "",
"Annotations": [
"Loads or unloads westbound traffic on eastbound sailing.",
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH."
],
"Times": [
{
"DepartingTime": "2025-11-15T15:20:00.000Z",
"ArrivingTime": "2025-11-15T16:30:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T18:00:00.000Z",
"ArrivingTime": "2025-11-15T19:10:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
0
]
},
{
"DepartingTime": "2025-11-15T21:05:00.000Z",
"ArrivingTime": "2025-11-15T22:15:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
0
]
},
{
"DepartingTime": "2025-11-16T00:20:00.000Z",
"ArrivingTime": "2025-11-16T01:30:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
0,
1
]
},
{
"DepartingTime": "2025-11-16T04:10:00.000Z",
"ArrivingTime": "2025-11-16T05:20:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
}
],
"AnnotationsIVR": [
"Loads or unloads westbound traffic on eastbound sailing.",
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH."
]
},
{
"DepartingTerminalID": 15,
"DepartingTerminalName": "Orcas Island",
"ArrivingTerminalID": 10,
"ArrivingTerminalName": "Friday Harbor",
"SailingNotes": "",
"Annotations": [
"Loads or unloads westbound traffic on eastbound sailing.",
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH."
],
"Times": [
{
"DepartingTime": "2025-11-15T15:40:00.000Z",
"ArrivingTime": "2025-11-15T16:30:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T17:45:00.000Z",
"ArrivingTime": "2025-11-15T19:10:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
0
]
},
{
"DepartingTime": "2025-11-15T20:50:00.000Z",
"ArrivingTime": "2025-11-15T22:15:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
0
]
},
{
"DepartingTime": "2025-11-16T00:05:00.000Z",
"ArrivingTime": "2025-11-16T01:30:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
0,
1
]
},
{
"DepartingTime": "2025-11-16T04:30:00.000Z",
"ArrivingTime": "2025-11-16T05:20:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
}
],
"AnnotationsIVR": [
"Loads or unloads westbound traffic on eastbound sailing.",
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH."
]
},
{
"DepartingTerminalID": 10,
"DepartingTerminalName": "Friday Harbor",
"ArrivingTerminalID": 15,
"ArrivingTerminalName": "Orcas Island",
"SailingNotes": "",
"Annotations": [
"The vessel will load, move briefly to the tie-up slip for a crew change, then sail to Orcas.",
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH."
],
"Times": [
{
"DepartingTime": "2025-11-15T14:05:00.000Z",
"ArrivingTime": "2025-11-15T15:40:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T16:45:00.000Z",
"ArrivingTime": "2025-11-15T17:45:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T19:30:00.000Z",
"ArrivingTime": "2025-11-15T20:50:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
0
]
},
{
"DepartingTime": "2025-11-15T22:30:00.000Z",
"ArrivingTime": "2025-11-15T23:55:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
1
]
},
{
"DepartingTime": "2025-11-16T01:40:00.000Z",
"ArrivingTime": "2025-11-16T03:00:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
0
]
}
],
"AnnotationsIVR": [
"The vessel will load, move briefly to the tie-up slip for a crew change, then sail to Orcas.",
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH."
]
},
{
"DepartingTerminalID": 10,
"DepartingTerminalName": "Friday Harbor",
"ArrivingTerminalID": 18,
"ArrivingTerminalName": "Shaw Island",
"SailingNotes": "",
"Annotations": [
"The vessel will load, move briefly to the tie-up slip for a crew change, then sail to Orcas.",
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH."
],
"Times": [
{
"DepartingTime": "2025-11-15T14:05:00.000Z",
"ArrivingTime": "2025-11-15T15:20:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T16:45:00.000Z",
"ArrivingTime": "2025-11-15T18:00:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T19:30:00.000Z",
"ArrivingTime": "2025-11-15T21:05:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
0
]
},
{
"DepartingTime": "2025-11-15T22:30:00.000Z",
"ArrivingTime": "2025-11-15T23:45:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
1
]
},
{
"DepartingTime": "2025-11-16T01:40:00.000Z",
"ArrivingTime": "2025-11-16T03:15:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
0
]
}
],
"AnnotationsIVR": [
"The vessel will load, move briefly to the tie-up slip for a crew change, then sail to Orcas.",
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH."
]
},
{
"DepartingTerminalID": 10,
"DepartingTerminalName": "Friday Harbor",
"ArrivingTerminalID": 13,
"ArrivingTerminalName": "Lopez Island",
"SailingNotes": "",
"Annotations": [
"No interisland vehicles. Foot passenger and bikes okay.",
"The vessel will load, move briefly to the tie-up slip for a crew change, then sail to Orcas.",
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH."
],
"Times": [
{
"DepartingTime": "2025-11-15T13:40:00.000Z",
"ArrivingTime": "2025-11-15T14:25:00.000Z",
"LoadingRule": 1,
"VesselID": 38,
"VesselName": "Yakima",
"VesselHandicapAccessible": true,
"VesselPositionNum": 2,
"Routes": [
9
],
"AnnotationIndexes": [
0
]
},
{
"DepartingTime": "2025-11-15T14:05:00.000Z",
"ArrivingTime": "2025-11-15T14:45:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T16:10:00.000Z",
"ArrivingTime": "2025-11-15T16:55:00.000Z",
"LoadingRule": 3,
"VesselID": 69,
"VesselName": "Samish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 3,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T16:45:00.000Z",
"ArrivingTime": "2025-11-15T18:20:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T19:30:00.000Z",
"ArrivingTime": "2025-11-15T21:25:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
1
]
},
{
"DepartingTime": "2025-11-15T22:30:00.000Z",
"ArrivingTime": "2025-11-15T23:10:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
2
]
},
{
"DepartingTime": "2025-11-15T23:35:00.000Z",
"ArrivingTime": "2025-11-16T00:20:00.000Z",
"LoadingRule": 3,
"VesselID": 69,
"VesselName": "Samish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 3,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T01:40:00.000Z",
"ArrivingTime": "2025-11-16T03:35:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
1
]
},
{
"DepartingTime": "2025-11-16T02:20:00.000Z",
"ArrivingTime": "2025-11-16T03:05:00.000Z",
"LoadingRule": 3,
"VesselID": 38,
"VesselName": "Yakima",
"VesselHandicapAccessible": true,
"VesselPositionNum": 2,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T03:35:00.000Z",
"ArrivingTime": "2025-11-16T04:20:00.000Z",
"LoadingRule": 3,
"VesselID": 69,
"VesselName": "Samish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 3,
"Routes": [
9
],
"AnnotationIndexes": []
}
],
"AnnotationsIVR": [
"No interisland vehicles. Foot passengers and bikes okay.",
"The vessel will load, move briefly to the tie-up slip for a crew change, then sail to Orcas.",
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH."
]
},
{
"DepartingTerminalID": 10,
"DepartingTerminalName": "Friday Harbor",
"ArrivingTerminalID": 1,
"ArrivingTerminalName": "Anacortes",
"SailingNotes": "",
"Annotations": [
"No interisland vehicles. Foot passenger and bikes okay."
],
"Times": [
{
"DepartingTime": "2025-11-15T13:40:00.000Z",
"ArrivingTime": "2025-11-15T15:10:00.000Z",
"LoadingRule": 3,
"VesselID": 38,
"VesselName": "Yakima",
"VesselHandicapAccessible": true,
"VesselPositionNum": 2,
"Routes": [
9
],
"AnnotationIndexes": [
0
]
},
{
"DepartingTime": "2025-11-15T16:10:00.000Z",
"ArrivingTime": "2025-11-15T17:40:00.000Z",
"LoadingRule": 3,
"VesselID": 69,
"VesselName": "Samish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 3,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T18:20:00.000Z",
"ArrivingTime": "2025-11-15T19:30:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T20:25:00.000Z",
"ArrivingTime": "2025-11-15T21:35:00.000Z",
"LoadingRule": 3,
"VesselID": 38,
"VesselName": "Yakima",
"VesselHandicapAccessible": true,
"VesselPositionNum": 2,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T23:35:00.000Z",
"ArrivingTime": "2025-11-16T01:05:00.000Z",
"LoadingRule": 3,
"VesselID": 69,
"VesselName": "Samish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 3,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T02:20:00.000Z",
"ArrivingTime": "2025-11-16T03:50:00.000Z",
"LoadingRule": 3,
"VesselID": 38,
"VesselName": "Yakima",
"VesselHandicapAccessible": true,
"VesselPositionNum": 2,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T03:35:00.000Z",
"ArrivingTime": "2025-11-16T05:05:00.000Z",
"LoadingRule": 3,
"VesselID": 69,
"VesselName": "Samish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 3,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T06:05:00.000Z",
"ArrivingTime": "2025-11-16T07:15:00.000Z",
"LoadingRule": 3,
"VesselID": 38,
"VesselName": "Yakima",
"VesselHandicapAccessible": true,
"VesselPositionNum": 2,
"Routes": [
9
],
"AnnotationIndexes": []
}
],
"AnnotationsIVR": [
"No interisland vehicles. Foot passengers and bikes okay."
]
},
{
"DepartingTerminalID": 15,
"DepartingTerminalName": "Orcas Island",
"ArrivingTerminalID": 18,
"ArrivingTerminalName": "Shaw Island",
"SailingNotes": "",
"Annotations": [
"No interisland vehicles. Foot passenger and bikes okay.",
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH."
],
"Times": [
{
"DepartingTime": "2025-11-15T14:50:00.000Z",
"ArrivingTime": "2025-11-15T15:05:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T16:55:00.000Z",
"ArrivingTime": "2025-11-15T17:10:00.000Z",
"LoadingRule": 1,
"VesselID": 38,
"VesselName": "Yakima",
"VesselHandicapAccessible": true,
"VesselPositionNum": 2,
"Routes": [
9
],
"AnnotationIndexes": [
0
]
},
{
"DepartingTime": "2025-11-15T17:45:00.000Z",
"ArrivingTime": "2025-11-15T18:00:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T20:50:00.000Z",
"ArrivingTime": "2025-11-15T21:05:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T00:05:00.000Z",
"ArrivingTime": "2025-11-16T00:20:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
1
]
},
{
"DepartingTime": "2025-11-16T00:35:00.000Z",
"ArrivingTime": "2025-11-16T00:50:00.000Z",
"LoadingRule": 1,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": [
0
]
},
{
"DepartingTime": "2025-11-16T03:00:00.000Z",
"ArrivingTime": "2025-11-16T03:15:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
}
],
"AnnotationsIVR": [
"No interisland vehicles. Foot passengers and bikes okay.",
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH."
]
},
{
"DepartingTerminalID": 15,
"DepartingTerminalName": "Orcas Island",
"ArrivingTerminalID": 13,
"ArrivingTerminalName": "Lopez Island",
"SailingNotes": "",
"Annotations": [
"No interisland vehicles. Foot passenger and bikes okay.",
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH."
],
"Times": [
{
"DepartingTime": "2025-11-15T14:50:00.000Z",
"ArrivingTime": "2025-11-15T15:35:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T17:45:00.000Z",
"ArrivingTime": "2025-11-15T18:20:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T19:50:00.000Z",
"ArrivingTime": "2025-11-15T20:20:00.000Z",
"LoadingRule": 1,
"VesselID": 69,
"VesselName": "Samish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 3,
"Routes": [
9
],
"AnnotationIndexes": [
0
]
},
{
"DepartingTime": "2025-11-15T20:50:00.000Z",
"ArrivingTime": "2025-11-15T21:25:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T21:30:00.000Z",
"ArrivingTime": "2025-11-15T22:00:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T00:05:00.000Z",
"ArrivingTime": "2025-11-16T00:40:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": [
1
]
},
{
"DepartingTime": "2025-11-16T03:00:00.000Z",
"ArrivingTime": "2025-11-16T03:35:00.000Z",
"LoadingRule": 3,
"VesselID": 66,
"VesselName": "Salish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 4,
"Routes": [
9
],
"AnnotationIndexes": []
}
],
"AnnotationsIVR": [
"No interisland vehicles. Foot passengers and bikes okay.",
"This interisland trip travels in a 'T' pattern: FH-Lopez-Shaw-Orcas, then Orcas-Shaw-Lopez-FH."
]
},
{
"DepartingTerminalID": 15,
"DepartingTerminalName": "Orcas Island",
"ArrivingTerminalID": 1,
"ArrivingTerminalName": "Anacortes",
"SailingNotes": "",
"Annotations": [
"No interisland vehicles. Foot passenger and bikes okay."
],
"Times": [
{
"DepartingTime": "2025-11-15T14:50:00.000Z",
"ArrivingTime": "2025-11-15T16:20:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-15T16:55:00.000Z",
"ArrivingTime": "2025-11-15T18:05:00.000Z",
"LoadingRule": 3,
"VesselID": 38,
"VesselName": "Yakima",
"VesselHandicapAccessible": true,
"VesselPositionNum": 2,
"Routes": [
9
],
"AnnotationIndexes": [
0
]
},
{
"DepartingTime": "2025-11-15T19:50:00.000Z",
"ArrivingTime": "2025-11-15T21:05:00.000Z",
"LoadingRule": 3,
"VesselID": 69,
"VesselName": "Samish",
"VesselHandicapAccessible": true,
"VesselPositionNum": 3,
"Routes": [
9
],
"AnnotationIndexes": [
0
]
},
{
"DepartingTime": "2025-11-15T21:30:00.000Z",
"ArrivingTime": "2025-11-15T22:45:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": []
},
{
"DepartingTime": "2025-11-16T00:35:00.000Z",
"ArrivingTime": "2025-11-16T01:45:00.000Z",
"LoadingRule": 3,
"VesselID": 2,
"VesselName": "Chelan",
"VesselHandicapAccessible": true,
"VesselPositionNum": 1,
"Routes": [
9
],
"AnnotationIndexes": [
0
]
},
{
"DepartingTime": "2025-11-16T03:30:00.000Z"