{"openapi":"3.0.1","info":{"title":"OpenAPI definition","version":"v0"},"servers":[{"url":"https://ferry.atlas.vegvesen.no","description":"Generated server url"}],"paths":{"/quays":{"get":{"tags":["Ferry quays API (v1)"],"summary":"Returns list of all ferry quays from NVDB (vegobjekttype = 64).","description":"Returns static information from NVDB for each quay. \n            \n**In order to get traffic messages and measurement sites for the quay please use the details endpoint.**","operationId":"getQuays","parameters":[{"name":"X-System-ID","in":"header","description":"Short name of client system","required":true,"schema":{"type":"string"},"example":"SYSTEM-KORTNAVN"},{"name":"countyNumber","in":"query","description":"Filter on county number. Comma-separated list. Filter rest areas matching any of the supplied county numbers. Default no filtering is done.","required":false,"schema":{"type":"array","items":{"type":"integer","format":"int32"}},"example":50},{"name":"roadNumber","in":"query","description":"Filter on road number and/or road category. <br/>Possible values for road category: <ul><li>'E' (Europaveg)</li><li>'R' (Riksveg)</li><li>'F' (Fylkesveg)</li><li>'K' (Kommunal veg)</li></ul>Comma-separated list. <br/>Filter rest areas matching any of the supplied road numbers and/or road categories. Default no filtering is done.","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"E6"},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/vnd.svv.v1+json; charset"]}}],"responses":{"200":{"description":"Successful operation","content":{"application/vnd.svv.v1+json; charset=utf-8":{"schema":{"$ref":"#/components/schemas/QuayResultCollection"}}}},"400":{"description":"Bad request"},"404":{"description":"Not found"},"503":{"description":"Not available"}}}},"/quays/{quayIds}":{"get":{"tags":["Ferry quays API (v1)"],"summary":"Returns details for the specified quay id(s).","description":"Returns static information from NVDB for each quay in addition to related traffic messages and measurement sites.  \n \nThe following rules are used to match related traffic messages and measurement sites:  \n* Traffic messages from within 400 meters from the NVDB geometry of \n    + the quay.\n    + the ferry connection.\n* Measurement sites  from within 400 meters from the NVDB geometry of the quay.","operationId":"getQuaysFromIds","parameters":[{"name":"X-System-ID","in":"header","required":true,"schema":{"type":"string"}},{"name":"quayIds","in":"path","required":true,"schema":{"type":"array","items":{"type":"string"}}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/vnd.svv.v1+json; charset"]}}],"responses":{"200":{"description":"Successful operation","content":{"application/vnd.svv.v1+json; charset=utf-8":{"schema":{"$ref":"#/components/schemas/QuayResultCollection"}}}},"400":{"description":"Bad request"},"404":{"description":"Not found"},"503":{"description":"Not available"}}}},"/departures":{"get":{"tags":["Ferry departures API (v1)"],"summary":"Get ferry route and departures for the specified 'to' and 'from' stop-places.","description":"Returns a list of departures according to time-table.\n\nEach departure consist of one or more Leg to get from the specified 'from' stop-place to the specified 'to' stop-place.  \n\nFor departures in the near future departure and arrival time can be updated with realtime values.\nIf there is a delay for more than 1 minute the new time will be provided in actualDepartureTime and/or actualArrivalTime.  \n\nThe endpoint uses Entur's Journey Planner API v3.              \n        ","operationId":"getDepartures","parameters":[{"name":"X-System-ID","in":"header","description":"Short name of client system.","required":true,"schema":{"type":"string"},"example":"SYSTEM-KORTNAVN"},{"name":"from","in":"query","description":"'From' stop place.","required":true,"schema":{"type":"string"},"example":"NSR:StopPlace:1853"},{"name":"to","in":"query","description":"'To' stop place.","required":true,"schema":{"type":"string"},"example":"NSR:StopPlace:1848"},{"name":"fromDateTime","in":"query","description":"Start date and time for the departures.","required":true,"schema":{"type":"string","format":"date-time"},"example":"2025-02-26T07:19:08+01:00"},{"name":"searchWindowMinutes","in":"query","description":"How many minutes ahead from 'fromDateTime' to search for departures.This maps to Entur's 'searchWindow'. Default value is 2880 minutes (48 hours).","required":false,"schema":{"type":"integer","format":"int32"},"example":10},{"name":"size","in":"query","description":"Set the number of results returned, default is 50.","required":false,"schema":{"type":"integer","format":"int32"},"example":10},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/vnd.svv.v1+json; charset"]}}],"responses":{"200":{"description":"Successful operation","content":{"application/vnd.svv.v1+json; charset=utf-8":{"schema":{"$ref":"#/components/schemas/DepartureResultCollection"}}}},"400":{"description":"Bad request"},"404":{"description":"Not found"},"503":{"description":"Not available"}}}},"/connections":{"get":{"tags":["Ferry connections API (v1)"],"summary":"Get ferry connections","description":"Returns a list of ferry connections.","operationId":"getFerryConnections","parameters":[{"name":"X-System-ID","in":"header","description":"Short name of client system","required":true,"schema":{"type":"string"},"example":"SYSTEM-KORTNAVN"},{"name":"include","in":"query","description":"List of fields to include in the response. Possible value: geometry","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"geometry"},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/vnd.svv.v1+json; charset"]}}],"responses":{"200":{"description":"Successful operation","content":{"application/vnd.svv.v1+json; charset=utf-8":{"schema":{"$ref":"#/components/schemas/FerryConnectionResultCollection"}}}},"400":{"description":"Bad request"},"404":{"description":"Not found"},"503":{"description":"Not available"}},"deprecated":true}},"/connections/{ferryConnectionIds}":{"get":{"tags":["Ferry connections API (v1)"],"summary":"Get specific ferry connections with full geometry for supplied NVDB ids.","description":"Returns ferry connections for the supplied IDs.","operationId":"getFerryConnectionsFromIds","parameters":[{"name":"X-System-ID","in":"header","description":"Short name of client system","required":true,"schema":{"type":"string"},"example":"SYSTEM-KORTNAVN"},{"name":"ferryConnectionIds","in":"path","description":"Comma-separated list of ferry connection IDs","required":true,"schema":{"type":"array","items":{"type":"string"}}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/vnd.svv.v1+json; charset"]}}],"responses":{"200":{"description":"Successful operation","content":{"application/vnd.svv.v1+json; charset=utf-8":{"schema":{"$ref":"#/components/schemas/FerryConnectionResultCollection"}}}},"400":{"description":"Bad request"},"404":{"description":"Not found"},"503":{"description":"Not available"}},"deprecated":true}}},"components":{"schemas":{"County":{"required":["code","name"],"type":"object","properties":{"name":{"type":"string"},"code":{"type":"integer","format":"int32"},"bbox":{"type":"array","items":{"type":"number","format":"double"}}},"description":"County area with name, code and optional bounding box"},"Geometry":{"required":["type"],"type":"object","properties":{"type":{"type":"string"}},"discriminator":{"propertyName":"type"},"oneOf":[{"$ref":"#/components/schemas/Point"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/MultiPolygon"}]},"LineString":{"required":["coordinates","type"],"type":"object","allOf":[{"$ref":"#/components/schemas/Geometry"},{"type":"object","properties":{"type":{"type":"string","description":"LineString"},"coordinates":{"type":"array","description":"Coordinates in WGS 84 format","items":{"type":"array","description":"Coordinates in WGS 84 format","items":{"type":"number","description":"Coordinates in WGS 84 format","format":"double"}}}}}]},"Location":{"required":["position"],"type":"object","properties":{"position":{"$ref":"#/components/schemas/Point"},"geometry":{"$ref":"#/components/schemas/Geometry"},"bbox":{"maxItems":4,"minItems":4,"type":"array","description":"Two-dimensional GeoJSON bbox [minLon, minLat, maxLon, maxLat].","example":[10.0,59.0,11.0,60.0],"items":{"type":"number","format":"double"}},"counties":{"type":"array","description":"List of counties.","items":{"$ref":"#/components/schemas/County"}},"municipalities":{"type":"array","description":"List of municipalities.","items":{"$ref":"#/components/schemas/Municipality"}},"roads":{"type":"array","description":"List of roads.","items":{"$ref":"#/components/schemas/Road"}}},"description":"Location information for ferry connection."},"Metadata":{"required":["overallDataStatus","pagination"],"type":"object","properties":{"overallDataStatus":{"type":"string","enum":["OK","ALL_EXPIRED","SOME_EXPIRED"]},"pagination":{"$ref":"#/components/schemas/Pagination"}},"description":"Meta information describing the data collection"},"MultiLineString":{"required":["coordinates","type"],"type":"object","allOf":[{"$ref":"#/components/schemas/Geometry"},{"type":"object","properties":{"type":{"type":"string","description":"MultiLineString"},"coordinates":{"type":"array","description":"Coordinates in WGS 84 format","items":{"type":"array","description":"Coordinates in WGS 84 format","items":{"type":"array","description":"Coordinates in WGS 84 format","items":{"type":"number","description":"Coordinates in WGS 84 format","format":"double"}}}}}}]},"MultiPoint":{"required":["coordinates","type"],"type":"object","allOf":[{"$ref":"#/components/schemas/Geometry"},{"type":"object","properties":{"type":{"type":"string","description":"MultiPoint"},"coordinates":{"type":"array","description":"Coordinates in WGS 84 format","items":{"type":"array","description":"Coordinates in WGS 84 format","items":{"type":"number","description":"Coordinates in WGS 84 format","format":"double"}}}}}]},"MultiPolygon":{"required":["coordinates","type"],"type":"object","allOf":[{"$ref":"#/components/schemas/Geometry"},{"type":"object","properties":{"type":{"type":"string","description":"MultiPolygon"},"coordinates":{"type":"array","description":"Coordinates in WGS 84 format","items":{"type":"array","description":"Coordinates in WGS 84 format","items":{"type":"array","description":"Coordinates in WGS 84 format","items":{"type":"array","description":"Coordinates in WGS 84 format","items":{"type":"number","description":"Coordinates in WGS 84 format","format":"double"}}}}}}}]},"Municipality":{"required":["code","name"],"type":"object","properties":{"name":{"type":"string"},"code":{"type":"integer","format":"int32"},"bbox":{"type":"array","description":"GeoJSON bounding box containing municipality.","items":{"type":"number","description":"GeoJSON bounding box containing municipality.","format":"double"}}},"description":"Municipality area with name, code and optional bounding box"},"Pagination":{"required":["matchedElements","totalElements"],"type":"object","properties":{"totalElements":{"type":"integer","format":"int32"},"matchedElements":{"type":"integer","format":"int32"}},"description":"Pagination information for collections"},"Point":{"required":["coordinates","type"],"type":"object","allOf":[{"$ref":"#/components/schemas/Geometry"},{"type":"object","properties":{"type":{"type":"string","description":"Point"},"coordinates":{"type":"array","description":"Coordinates in WGS 84 format","items":{"type":"number","description":"Coordinates in WGS 84 format","format":"double"}}}}]},"Polygon":{"required":["coordinates","type"],"type":"object","allOf":[{"$ref":"#/components/schemas/Geometry"},{"type":"object","properties":{"type":{"type":"string","description":"Polygon"},"coordinates":{"type":"array","description":"Coordinates in WGS 84 format","items":{"type":"array","description":"Coordinates in WGS 84 format","items":{"type":"array","description":"Coordinates in WGS 84 format","items":{"type":"number","description":"Coordinates in WGS 84 format","format":"double"}}}}}}]},"QuayDTO":{"required":["id","name","nvdbId"],"type":"object","properties":{"id":{"type":"string","description":"NSR ID","example":"NSR:StopPlace:57923"},"nvdbId":{"type":"string","description":"NVDB ID","example":"1013498130"},"name":{"type":"string","description":"Name of the quay","example":"Måløy ferjekai"}},"description":"Quay associated with a ferry connection"},"QuayResultCollection":{"required":["metadata","quays"],"type":"object","properties":{"metadata":{"$ref":"#/components/schemas/Metadata"},"quays":{"type":"array","items":{"$ref":"#/components/schemas/QuayDTO"}}},"description":"Collection of quays"},"Road":{"required":["name","number"],"type":"object","properties":{"name":{"type":"string","description":"Road name"},"number":{"type":"string","description":"Road number"},"category":{"type":"string","description":"Road category/road system reference name. Possible values: <ul><li>'E' (Europaveg)</li><li>'R' (Riksveg)</li><li>'F' (Fylkesveg)</li><li>'K' (Kommunal veg)</li><li>'P' (Privat veg)</li><li>'S' (Skogsveg)</li></ul>"},"bbox":{"type":"array","description":"GeoJSON bounding box containing road.","items":{"type":"number","description":"GeoJSON bounding box containing road.","format":"double"}},"geometry":{"$ref":"#/components/schemas/Geometry"}},"description":"Road with name, number, category, bounding box and geometry"},"Announcement":{"required":["id","severity","text"],"type":"object","properties":{"id":{"type":"string","description":"Id of announcement.","example":"KOL:SituationNumber:d44fcd44-15de-4e2f-b82a-ab4fb6adae72"},"severity":{"type":"string","description":"Severity of announcement.","example":"Normal","enum":["Normal","Severe"]},"text":{"type":"string","description":"Text content of announcement."},"title":{"type":"string","description":"Title of the announcement.","example":"Fra mandag 3. mars endres rutene noe. Les mer på kolumbus.no."},"timestamp":{"pattern":"yyyy-MM-dd'T'HH:mm:ssXXX","type":"string","description":"Timestamp of announcement.","format":"date-time","example":"2025-02-20T12:00:00+01:00"}},"description":"Announcement for ferry departure or quay visit."},"DepartureDTO":{"required":["legs","scheduledArrivalTime","scheduledDepartureTime"],"type":"object","properties":{"scheduledDepartureTime":{"pattern":"yyyy-MM-dd'T'HH:mm:ssXXX","type":"string","description":"Scheduled departure time of the trip.","format":"date-time","example":"2025-02-26T10:00:00+01:00"},"actualDepartureTime":{"pattern":"yyyy-MM-dd'T'HH:mm:ssXXX","type":"string","description":"Actual departure time of the trip. Only set if different from scheduled departure time.","format":"date-time","example":"2025-02-26T10:00:00+01:00"},"scheduledArrivalTime":{"pattern":"yyyy-MM-dd'T'HH:mm:ssXXX","type":"string","description":"Scheduled arrival time of the trip.","format":"date-time","example":"2025-02-26T10:25:00+01:00"},"actualArrivalTime":{"pattern":"yyyy-MM-dd'T'HH:mm:ssXXX","type":"string","description":"Actual arrival time of the trip. Only set if different from scheduled arrival time.","format":"date-time","example":"2025-02-26T10:25:00+01:00"},"duration":{"type":"integer","description":"Duration of the trip, in seconds.","format":"int64","example":1440},"legs":{"type":"array","description":"Legs are portions of the trip from start to finish.","items":{"$ref":"#/components/schemas/Leg"}}},"description":"Model for ferry departure."},"DepartureResultCollection":{"required":["announcements","departures","metadata","notices","operator","publicTransportAuthority"],"type":"object","properties":{"metadata":{"$ref":"#/components/schemas/Metadata"},"operator":{"$ref":"#/components/schemas/Organisation"},"publicTransportAuthority":{"$ref":"#/components/schemas/Organisation"},"notices":{"type":"array","items":{"$ref":"#/components/schemas/Notice"}},"announcements":{"type":"array","items":{"$ref":"#/components/schemas/Announcement"}},"departures":{"type":"array","items":{"$ref":"#/components/schemas/DepartureDTO"}}},"description":"Collection of departures."},"Leg":{"required":["announcements","fromQuay","intermediateStops","notices","routeId","toQuay"],"type":"object","properties":{"fromQuay":{"$ref":"#/components/schemas/QuayVisit"},"toQuay":{"$ref":"#/components/schemas/QuayVisit"},"intermediateStops":{"type":"array","items":{"$ref":"#/components/schemas/QuayVisit"}},"routeId":{"type":"string","description":"Ferry route id","example":"1170"},"notices":{"type":"array","items":{"$ref":"#/components/schemas/Notice"}},"announcements":{"type":"array","items":{"$ref":"#/components/schemas/Announcement"}}},"description":"Leg of a ferry trip, from one quay to another including intermediate stops."},"Notice":{"required":["id","text"],"type":"object","properties":{"id":{"type":"string","description":"Id of notice.","example":"KOL:Notice:16"},"text":{"type":"string","description":"Text content of notice.","example":"B-ruta"}},"description":"Notice for ferry departure or quay visit.","example":"Kjøres av Bastø Fosen. Kan være avvik i oppsatte rutetider. Se www.basto-fosen.no"},"Organisation":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"Name of the organisation."},"url":{"type":"string","description":"Url to the organisation."}},"description":"Organisational information"},"QuayVisit":{"required":["cancelled","id","name","notices","scheduledArrivalTime","scheduledDepartureTime"],"type":"object","properties":{"id":{"type":"string","description":"National Stop Register (NSR) id of quay.","example":"NSR:StopPlace:27769"},"name":{"type":"string","description":"Name of quay","example":"Tau hurtigbåtkai"},"scheduledDepartureTime":{"pattern":"yyyy-MM-dd'T'HH:mm:ssXXX","type":"string","description":"Scheduled departure time of quay visit.","format":"date-time","example":"2025-02-26T10:00:00+01:00"},"actualDepartureTime":{"pattern":"yyyy-MM-dd'T'HH:mm:ssXXX","type":"string","description":"Actual departure time of the quay visit. Only set if different from scheduled departure time.","format":"date-time","example":"2025-02-26T10:00:00+01:00"},"scheduledArrivalTime":{"pattern":"yyyy-MM-dd'T'HH:mm:ssXXX","type":"string","description":"Scheduled arrival time of the quay visit.","format":"date-time","example":"2025-02-26T10:25:00+01:00"},"actualArrivalTime":{"type":"string","description":"Actual arrival time of the quay visit. Only set if different from scheduled arrival time.","example":"2025-02-26T10:25:00+01:00"},"notices":{"type":"array","description":"Notices for this leg.","example":"Kjøres av Bastø Fosen. Kan være avvik i oppsatte rutetider. Se www.basto-fosen.no","items":{"$ref":"#/components/schemas/Notice"}},"cancelled":{"type":"boolean","description":"Whether stop is cancelled"}},"description":"Visit to a quay during a ferry trip."},"FerryConnectionDTO":{"required":["id","location","quays","type"],"type":"object","properties":{"id":{"type":"string","description":"Id of ferry connection (same as NVDB 'Objektid')","example":"1013498129"},"type":{"type":"string","description":"Type of ferry connection","example":"County","enum":["National","County","Municipality","Private"]},"name":{"type":"string","description":"Name of ferry connection","example":"Måløy - Husevågøy - Oldeide"},"location":{"$ref":"#/components/schemas/Location"},"quays":{"type":"array","description":"List of quays associated with this ferry connection","items":{"$ref":"#/components/schemas/QuayDTO"}}},"description":"DTO for ferry connection."},"FerryConnectionResultCollection":{"required":["ferryConnections","metadata"],"type":"object","properties":{"metadata":{"$ref":"#/components/schemas/Metadata"},"ferryConnections":{"type":"array","description":"List of ferry connections","items":{"$ref":"#/components/schemas/FerryConnectionDTO"}}},"description":"Collection of ferry connections"}}}}