├── .editorconfig ├── .github └── workflows │ └── validate.yml ├── code-of-conduct.md ├── data ├── at │ ├── ivb-hafas-mgate.json │ ├── linz-efa.json │ ├── oebb-hafas-mgate.json │ ├── ooevv-hafas-mgate.json │ ├── salzburg-hafas-mgate.json │ ├── stv-hafas-mgate.json │ ├── svv-hafas-mgate.json │ ├── vkg-hafas-mgate.json │ ├── vor-hafas-mgate.json │ ├── vvst-efa.json │ ├── vvt-hafas-mgate.json │ └── vvv-hafas-mgate.json ├── au │ └── transportnsw-efa.json ├── be │ └── nmbs-sncb-hafas-mgate.json ├── ch │ ├── bls-hafas-mgate.json │ ├── sbb-cff-ffs-hafas-mgate.json │ ├── tpg-hafas-mgate.json │ └── zvv-hafas-mgate.json ├── de │ ├── avv-hafas-mgate.json │ ├── bayernfahrplan-efa.json │ ├── bbnavi-angermuende-otp.json │ ├── bvg-hafas-mgate.json │ ├── bwegt-efa.json │ ├── bwegt-trias.json │ ├── db-busradar-nrw-hafas-mgate.json │ ├── db-hafas-mgate.json │ ├── db-hafas-query.json │ ├── db-regio-hafas-mgate.json │ ├── db-sbahn-muenchen-hafas-mgate.json │ ├── db-smartrbl-hafas-mgate.json │ ├── europe-motis.json │ ├── gvh-efa.json │ ├── gvh-hafas-mgate.json │ ├── hvv-hafas-mgate.json │ ├── invg-hafas-mgate.json │ ├── kvb-hafas-mgate.json │ ├── kvv-efa.json │ ├── mobil-nrw-hafas-mgate.json │ ├── mvv-efa.json │ ├── nahsh-hafas-mgate.json │ ├── nasa-hafas-mgate.json │ ├── nvv-hafas-mgate.json │ ├── rmv-hafas-mgate.json │ ├── rnv-motis.json │ ├── rolph-efa.json │ ├── rsag-hafas-mgate.json │ ├── saarvv-hafas-mgate.json │ ├── stadtnavi-otp.json │ ├── vbb-hafas-mgate.json │ ├── vbn-hafas-mgate.json │ ├── vgn-efa.json │ ├── vmt-hafas-mgate.json │ ├── vmv-efa.json │ ├── vos-hafas-mgate.json │ ├── vrn-hafas-mgate.json │ ├── vrn-trias-test.json │ ├── vrn-trias.json │ ├── vrr-efa.json │ ├── vrt-efa.json │ ├── vsn-hafas-mgate.json │ ├── vvo-trias.json │ └── vvs-efa.json ├── dk │ └── rejseplanen-hafas-mgate.json ├── ee │ └── peatus-otp.json ├── fi │ ├── digitransit-otp.json │ ├── helsinki-otp.json │ ├── varely-otp.json │ └── waltti-otp.json ├── ie │ └── iarnrod-eireann-hafas-mgate.json ├── it │ ├── piemonte-otp.json │ └── torino-otp.json ├── lu │ ├── cfl-hafas-mgate.json │ └── mobiliteit-lu-hafas-mgate.json ├── nl │ └── ns-hafas-query.json ├── no │ └── entur-otp.json ├── pl │ └── pkp-hafas-mgate.json ├── se │ └── resrobot-hafas-mgate.json ├── un │ └── transitous.json └── us │ ├── bart-hafas-mgate.json │ ├── cmta-hafas-mgate.json │ ├── dart-hafas-mgate.json │ ├── la-metro-otp.json │ ├── marta-otp.json │ ├── mbta-otp.json │ └── trimet-otp.json ├── docs └── TRIAS-Providers.md ├── license ├── readme.md ├── schema.json └── tools ├── README.md ├── build.py ├── coverage-to-geojson.py ├── fill-coverage-area.py ├── pretty-json.py └── requirements.txt /.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | end_of_line = lf 6 | charset = utf-8 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true 9 | -------------------------------------------------------------------------------- /.github/workflows/validate.yml: -------------------------------------------------------------------------------- 1 | name: Validate endpoint definitions 2 | 3 | on: 4 | push: 5 | branches: 6 | - '*' 7 | pull_request: 8 | branches: 9 | - '*' 10 | 11 | jobs: 12 | verify-json-validation: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - uses: actions/checkout@v1 16 | - name: Validate JSON 17 | uses: docker://nhalstead00/validate-json-action:latest 18 | env: 19 | INPUT_SCHEMA: schema.json 20 | INPUT_JSONS: data/*/*.json 21 | -------------------------------------------------------------------------------- /code-of-conduct.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. 6 | 7 | ## Our Standards 8 | 9 | Examples of behavior that contributes to creating a positive environment include: 10 | 11 | * Using welcoming and inclusive language 12 | * Being respectful of differing viewpoints and experiences 13 | * Gracefully accepting constructive criticism 14 | * Focusing on what is best for the community 15 | * Showing empathy towards other community members 16 | 17 | Examples of unacceptable behavior by participants include: 18 | 19 | * The use of sexualized language or imagery and unwelcome sexual attention or advances 20 | * Trolling, insulting/derogatory comments, and personal or political attacks 21 | * Public or private harassment 22 | * Publishing others' private information, such as a physical or electronic address, without explicit permission 23 | * Other conduct which could reasonably be considered inappropriate in a professional setting 24 | 25 | ## Our Responsibilities 26 | 27 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. 28 | 29 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. 30 | 31 | ## Scope 32 | 33 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. 34 | 35 | ## Enforcement 36 | 37 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at `mail@juliustens.eu`. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. 38 | 39 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. 40 | 41 | ## Attribution 42 | 43 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [https://contributor-covenant.org/version/1/4][version] 44 | 45 | [homepage]: https://contributor-covenant.org 46 | [version]: https://contributor-covenant.org/version/1/4/ 47 | -------------------------------------------------------------------------------- /data/at/ivb-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Innsbrucker Verkehrsbetriebe (IVB)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de" 8 | ], 9 | "timezone": "Europe/Vienna", 10 | "attribution": { 11 | "name": "Innsbrucker Verkehrsbetriebe und Stubaitalbahn GmbH", 12 | "homepage": "https://www.ivb.at/", 13 | "isProprietary": true 14 | }, 15 | "coverage": { 16 | "realtimeCoverage": { 17 | "region": [ "AT-7" ], 18 | "area": { 19 | "type": "MultiPolygon", 20 | "coordinates": [ 21 | [ 22 | [ 23 | [11.07, 46.71], 24 | [11.2, 46.9], 25 | [11.62, 46.95], 26 | [11.71, 46.91], 27 | [11.73, 46.9], 28 | [12.16, 47.01], 29 | [12.21, 47.04], 30 | [12.16, 47.22], 31 | [12.49, 47.26], 32 | [12.51, 47.27], 33 | [12.72, 47.42], 34 | [12.78, 47.43], 35 | [12.73, 47.6], 36 | [12.72, 47.63], 37 | [12.48, 47.75], 38 | [12.47, 47.76], 39 | [12.33, 47.75], 40 | [12.33, 47.77], 41 | [12.27, 47.82], 42 | [12.15, 47.77], 43 | [12.06, 47.77], 44 | [12.1, 47.67], 45 | [11.63, 47.66], 46 | [11.62, 47.66], 47 | [11.25, 47.46], 48 | [11.01, 47.47], 49 | [10.94, 47.58], 50 | [10.92, 47.6], 51 | [10.47, 47.62], 52 | [10.4, 47.66], 53 | [10.37, 47.43], 54 | [10.13, 47.32], 55 | [10.1, 47.27], 56 | [10.15, 47.15], 57 | [10.04, 46.9], 58 | [10.05, 46.84], 59 | [10.22, 46.8], 60 | [10.26, 46.8], 61 | [10.37, 46.9], 62 | [10.41, 46.84], 63 | [10.42, 46.78], 64 | [10.64, 46.81], 65 | [10.69, 46.73], 66 | [10.72, 46.72], 67 | [10.92, 46.71], 68 | [11.04, 46.7], 69 | [11.07, 46.71] 70 | ] 71 | ], 72 | [ 73 | [ 74 | [10.55, 47.65], 75 | [10.36, 47.65], 76 | [10.36, 47.49], 77 | [10.55, 47.49], 78 | [10.55, 47.65] 79 | ] 80 | ], 81 | [ 82 | [ 83 | [12.76, 46.64], 84 | [12.77, 46.68], 85 | [13.01, 46.73], 86 | [13.04, 46.8], 87 | [13.01, 46.83], 88 | [12.64, 47.19], 89 | [12.62, 47.19], 90 | [12.38, 47.22], 91 | [12.36, 47.21], 92 | [12.21, 47.13], 93 | [12.07, 47.05], 94 | [12.05, 47.01], 95 | [12.09, 46.86], 96 | [12.13, 46.85], 97 | [12.21, 46.83], 98 | [12.22, 46.75], 99 | [12.24, 46.73], 100 | [12.42, 46.63], 101 | [12.43, 46.62], 102 | [12.75, 46.58], 103 | [12.76, 46.64] 104 | ] 105 | ] 106 | ] 107 | } 108 | } 109 | }, 110 | "options": { 111 | "auth": { 112 | "type": "AID", 113 | "aid": "wf7mcf9bv3nv8g5f" 114 | }, 115 | "client": { 116 | "id": "VAO", 117 | "type": "WEB", 118 | "name": "webapp", 119 | "l": "vs_ivb" 120 | }, 121 | "endpoint": "https://fahrplan.ivb.at/bin/mgate.exe", 122 | "products": [ 123 | { 124 | "id": "bahn-s-bahn", 125 | "bitmasks": [1, 2], 126 | "name": "Bahn & S-Bahn" 127 | }, 128 | { 129 | "id": "u-bahn", 130 | "bitmasks": [4], 131 | "name": "U-Bahn" 132 | }, 133 | { 134 | "id": "strassenbahn", 135 | "bitmasks": [16], 136 | "name": "Straßenbahn" 137 | }, 138 | { 139 | "id": "stadtbus", 140 | "bitmasks": [128], 141 | "name": "Stadtbus" 142 | }, 143 | { 144 | "id": "regionalbus", 145 | "bitmasks": [64], 146 | "name": "Regionalbus" 147 | }, 148 | { 149 | "id": "fernbus", 150 | "bitmasks": [32], 151 | "name": "Fernbus" 152 | }, 153 | { 154 | "id": "other-bus", 155 | "bitmasks": [2048], 156 | "name": "sonstige Busse" 157 | }, 158 | { 159 | "id": "seilbahn-zahnradbahn", 160 | "bitmasks": [256], 161 | "name": "Seil-/Zahnradbahn" 162 | }, 163 | { 164 | "id": "schiff", 165 | "bitmasks": [512], 166 | "name": "Schiff" 167 | }, 168 | { 169 | "id": "anrufsammeltaxi", 170 | "bitmasks": [1024], 171 | "name": "Anrufsammeltaxi" 172 | } 173 | ] 174 | } 175 | } 176 | -------------------------------------------------------------------------------- /data/at/linz-efa.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Linz AG", 3 | "coverage": { 4 | "realtimeCoverage": { 5 | "area": { 6 | "coordinates": [ 7 | [ [ 14.1792, 48.3923 ], [ 14.4991, 48.41236 ], [ 14.5091, 48.179 ], [ 14.1892, 48.1257 ], [ 14.1792, 48.3923 ] ] 8 | ], 9 | "type": "Polygon" 10 | }, 11 | "region": [ "AT-4" ] 12 | } 13 | }, 14 | "options": { 15 | "endpoint": "https://www.linzag.at/linz2/", 16 | "supportedOutputFormats": [ "XML", "JSON" ], 17 | "xmlOutputFormat": "full" 18 | }, 19 | "supportedLanguages": [ "de", "en" ], 20 | "timezone": "Europe/Vienna", 21 | "type": { 22 | "efa": true 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /data/at/ooevv-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Oberösterreichischer Verkehrsverbund (OÖVV)", 3 | "coverage": { 4 | "realtimeCoverage": { 5 | "area": { 6 | "coordinates": [ 7 | [ 8 | [ 9 | [13.83, 47.64], 10 | [14.3, 47.54], 11 | [14.32, 47.54], 12 | [14.73, 47.67], 13 | [14.74, 47.67], 14 | [14.81, 47.71], 15 | [14.79, 47.95], 16 | [14.78, 47.99], 17 | [14.53, 48.09], 18 | [14.54, 48.13], 19 | [14.68, 48.09], 20 | [14.7, 48.09], 21 | [14.88, 48.16], 22 | [14.95, 48.14], 23 | [15.02, 48.11], 24 | [15.06, 48.24], 25 | [15.06, 48.26], 26 | [14.96, 48.56], 27 | [14.93, 48.58], 28 | [14.48, 48.71], 29 | [14.45, 48.72], 30 | [14.32, 48.62], 31 | [14.13, 48.65], 32 | [14.13, 48.65], 33 | [14.16, 48.7], 34 | [13.86, 48.84], 35 | [13.8, 48.84], 36 | [13.69, 48.6], 37 | [13.51, 48.66], 38 | [13.46, 48.64], 39 | [13.36, 48.43], 40 | [12.92, 48.27], 41 | [12.72, 48.19], 42 | [12.68, 48.15], 43 | [12.74, 48.01], 44 | [12.76, 47.99], 45 | [12.86, 47.93], 46 | [12.88, 47.92], 47 | [13.03, 47.97], 48 | [13.09, 47.93], 49 | [13.1, 47.9], 50 | [13.19, 47.9], 51 | [13.26, 47.78], 52 | [13.28, 47.75], 53 | [13.36, 47.74], 54 | [13.34, 47.69], 55 | [13.46, 47.66], 56 | [13.41, 47.54], 57 | [13.41, 47.47], 58 | [13.7, 47.39], 59 | [13.77, 47.39], 60 | [13.83, 47.64] 61 | ] 62 | ] 63 | ], 64 | "type": "MultiPolygon" 65 | }, 66 | "region": [ "AT-4" ] 67 | } 68 | }, 69 | "options": { 70 | "auth": { 71 | "aid": "and20201hf7mcf9bv3nv8g5f", 72 | "pw": "87a6f8ZbnBih32", 73 | "type": "USER", 74 | "user": "mobile" 75 | }, 76 | "client": { 77 | "id": "VAO", 78 | "l": "vs_ooevv", 79 | "type": "AND" 80 | }, 81 | "endpoint": "https://app.verkehrsauskunft.at/bin/mgate.exe", 82 | "ext": "VAO.11", 83 | "micMacSalt": "6633673735743766726667323938336A", 84 | "ver": "1.27" 85 | }, 86 | "supportedLanguages": [ "de", "en" ], 87 | "timezone": "Europe/Vienna", 88 | "type": { 89 | "hafasMgate": true 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /data/at/salzburg-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Routenauskunft Land Saltzburg", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de" 8 | ], 9 | "timezone": "Europe/Vienna", 10 | "attribution": { 11 | "name": "Land Salzburg, vertreten durch das Landes-Medienzentrum", 12 | "homepage": "https://www.salzburg.gv.at", 13 | "isProprietary": true 14 | }, 15 | "coverage": { 16 | "realtimeCoverage": { 17 | "region": ["AT-5"], 18 | "area": { 19 | "type": "MultiPolygon", 20 | "coordinates": [ 21 | [ 22 | [ 23 | [13.86, 46.9], 24 | [13.93, 47.05], 25 | [14.06, 47.09], 26 | [14.06, 47.17], 27 | [13.86, 47.35], 28 | [13.84, 47.36], 29 | [13.66, 47.36], 30 | [13.66, 47.48], 31 | [13.65, 47.52], 32 | [13.56, 47.56], 33 | [13.61, 47.69], 34 | [13.63, 47.76], 35 | [13.61, 47.77], 36 | [13.59, 47.84], 37 | [13.35, 47.89], 38 | [13.35, 47.9], 39 | [13.42, 47.92], 40 | [13.48, 48.03], 41 | [12.93, 48.1], 42 | [12.91, 48.1], 43 | [12.84, 48.06], 44 | [12.82, 48.06], 45 | [12.78, 47.99], 46 | [12.9, 47.83], 47 | [12.84, 47.75], 48 | [12.84, 47.71], 49 | [12.81, 47.74], 50 | [12.6, 47.74], 51 | [12.51, 47.72], 52 | [12.61, 47.5], 53 | [12.45, 47.39], 54 | [12.09, 47.37], 55 | [12.04, 47.34], 56 | [12.07, 47.05], 57 | [12.12, 47.01], 58 | [12.5, 47.09], 59 | [13.05, 46.95], 60 | [13.08, 46.94], 61 | [13.37, 47.03], 62 | [13.67, 46.98], 63 | [13.8, 46.88], 64 | [13.86, 46.9] 65 | ] 66 | ] 67 | ] 68 | } 69 | } 70 | }, 71 | "options": { 72 | "auth": { 73 | "type": "AID", 74 | "aid": "wf7mcf9bv3nv8g5f" 75 | }, 76 | "client": { 77 | "id": "VAO", 78 | "type": "WEB", 79 | "name": "webapp", 80 | "l": "vs_landsalzburg" 81 | }, 82 | "endpoint": "https://verkehrsauskunft.salzburg.gv.at/bin/mgate.exe", 83 | "products": [ 84 | { 85 | "id": "bahn-s-bahn", 86 | "bitmasks": [1, 2], 87 | "name": "Bahn & S-Bahn" 88 | }, 89 | { 90 | "id": "u-bahn", 91 | "bitmasks": [4], 92 | "name": "U-Bahn" 93 | }, 94 | { 95 | "id": "strassenbahn", 96 | "bitmasks": [16], 97 | "name": "Straßenbahn" 98 | }, 99 | { 100 | "id": "stadtbus", 101 | "bitmasks": [128], 102 | "name": "Stadtbus" 103 | }, 104 | { 105 | "id": "regionalbus", 106 | "bitmasks": [64], 107 | "name": "Regionalbus" 108 | }, 109 | { 110 | "id": "fernbus", 111 | "bitmasks": [32], 112 | "name": "Fernbus" 113 | }, 114 | { 115 | "id": "other-bus", 116 | "bitmasks": [2048], 117 | "name": "sonstige Busse" 118 | }, 119 | { 120 | "id": "seilbahn-zahnradbahn", 121 | "bitmasks": [256], 122 | "name": "Seil-/Zahnradbahn" 123 | }, 124 | { 125 | "id": "schiff", 126 | "bitmasks": [512], 127 | "name": "Schiff" 128 | }, 129 | { 130 | "id": "anrufsammeltaxi", 131 | "bitmasks": [1024], 132 | "name": "Anrufsammeltaxi" 133 | } 134 | ] 135 | } 136 | } 137 | -------------------------------------------------------------------------------- /data/at/stv-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Steirischer Verkehrsverbund (Verbundlinie)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de", 8 | "en" 9 | ], 10 | "timezone": "Europe/Vienna", 11 | "attribution": { 12 | "name": "Verkehrsverbund Steiermark GmbH", 13 | "homepage": "https://verbundlinie.at/", 14 | "isProprietary": true 15 | }, 16 | "coverage": { 17 | "realtimeCoverage": { 18 | "region": ["AT-6"], 19 | "area": { 20 | "type": "MultiPolygon", 21 | "coordinates": [ 22 | [ 23 | [ 24 | [15.11, 46.58], 25 | [15.51, 46.55], 26 | [15.52, 46.55], 27 | [15.84, 46.65], 28 | [16.08, 46.57], 29 | [16.11, 46.65], 30 | [16.06, 46.81], 31 | [16.24, 46.98], 32 | [16.22, 47.02], 33 | [16.15, 47.22], 34 | [16.11, 47.33], 35 | [16.23, 47.37], 36 | [16.24, 47.46], 37 | [16.22, 47.47], 38 | [16.14, 47.6], 39 | [16.1, 47.59], 40 | [15.94, 47.6], 41 | [15.76, 47.77], 42 | [15.74, 47.77], 43 | [15.38, 47.89], 44 | [15.36, 47.89], 45 | [14.93, 47.78], 46 | [14.68, 47.84], 47 | [14.67, 47.82], 48 | [14.31, 47.68], 49 | [13.73, 47.8], 50 | [13.7, 47.68], 51 | [13.7, 47.68], 52 | [13.67, 47.53], 53 | [13.52, 47.55], 54 | [13.52, 47.49], 55 | [13.49, 47.43], 56 | [13.5, 47.4], 57 | [13.56, 47.23], 58 | [13.6, 47.22], 59 | [13.8, 47.23], 60 | [13.86, 47.17], 61 | [13.78, 47.15], 62 | [13.81, 47.1], 63 | [13.72, 46.83], 64 | [13.84, 46.85], 65 | [14.2, 47.0], 66 | [14.38, 46.91], 67 | [14.4, 46.92], 68 | [14.83, 46.98], 69 | [14.95, 46.89], 70 | [14.88, 46.71], 71 | [14.95, 46.72], 72 | [15.08, 46.54], 73 | [15.11, 46.58] 74 | ] 75 | ] 76 | ] 77 | } 78 | } 79 | }, 80 | "options": { 81 | "auth": { 82 | "type": "AID", 83 | "aid": "wf7mcf9bv3nv8g5f" 84 | }, 85 | "client": { 86 | "id": "VAO", 87 | "type": "WEB", 88 | "name": "webapp", 89 | "l": "vs_stv" 90 | }, 91 | "endpoint": "https://verkehrsauskunft.verbundlinie.at/bin/mgate.exe", 92 | "ext": "VAO.13", 93 | "products": [ 94 | { 95 | "id": "trains", 96 | "bitmasks": [1, 2], 97 | "name": "Bahn & S-Bahn" 98 | }, 99 | { 100 | "id": "regional-bus", 101 | "bitmasks": [64], 102 | "name": "Regionalbus" 103 | }, 104 | { 105 | "id": "city-bus", 106 | "bitmasks": [128], 107 | "name": "Stadtbus" 108 | }, 109 | { 110 | "id": "tram", 111 | "bitmasks": [16], 112 | "name": "Straßenbahn" 113 | }, 114 | { 115 | "id": "long-distance-bus", 116 | "bitmasks": [32], 117 | "name": "Fernbus" 118 | }, 119 | { 120 | "id": "other", 121 | "bitmasks": [2048], 122 | "name": "Sonstige" 123 | }, 124 | { 125 | "id": "on-call", 126 | "bitmasks": [1024], 127 | "name": "Anrufbus" 128 | }, 129 | { 130 | "id": "subway", 131 | "bitmasks": [4], 132 | "name": "U-Bahn" 133 | }, 134 | { 135 | "id": "aerial-lift", 136 | "bitmasks": [256], 137 | "name": "Seil-/Zahnradbahn" 138 | }, 139 | { 140 | "id": "ferry", 141 | "bitmasks": [512], 142 | "name": "Schiff" 143 | } 144 | ], 145 | "ver": "1.32" 146 | } 147 | } 148 | -------------------------------------------------------------------------------- /data/at/svv-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Salzburg Verkehr (SVV)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de", 8 | "en", 9 | "it" 10 | ], 11 | "timezone": "Europe/Vienna", 12 | "attribution": { 13 | "name": "Salzburger Verkehrsverbund GmbH", 14 | "homepage": "https://salzburg-verkehr.at/", 15 | "isProprietary": true 16 | }, 17 | "coverage": { 18 | "realtimeCoverage": { 19 | "area": {"type":"Polygon","coordinates":[[[12.98591,47.79002],[12.99712,47.77546],[12.99355,47.7617],[13.00958,47.74858],[13.05717,47.75663],[13.07163,47.74685],[13.08558,47.75398],[13.08177,47.76638],[13.11506,47.77757],[13.13398,47.80134],[13.09322,47.81719],[13.08437,47.83963],[13.05702,47.84725],[13.03702,47.83438],[13.00033,47.85883],[12.98249,47.83278],[12.9977,47.81946],[12.97921,47.79684],[12.98591,47.79002]]]}, 20 | "region": [ "AT-5" ] 21 | }, 22 | "regularCoverage": { 23 | "area": {"type":"Polygon","coordinates":[[[12.68913,47.68247],[12.74124,47.67158],[12.76648,47.6363],[12.80969,47.61577],[12.77266,47.58016],[12.78921,47.55411],[12.84184,47.54135],[12.85265,47.52368],[12.96173,47.47103],[12.97983,47.47812],[13.00956,47.46035],[13.05347,47.48999],[13.05328,47.51404],[13.13253,47.51555],[13.15577,47.54452],[13.18313,47.5493],[13.23231,47.52576],[13.26953,47.52908],[13.307,47.50546],[13.36151,47.51611],[13.40464,47.46587],[13.43566,47.45391],[13.5225,47.49511],[13.48799,47.52458],[13.48342,47.54085],[13.48601,47.5672],[13.51074,47.57942],[13.52982,47.61928],[13.51694,47.63635],[13.49132,47.6382],[13.50706,47.66712],[13.53884,47.68096],[13.55755,47.71428],[13.4443,47.74078],[13.45207,47.76923],[13.46915,47.7812],[13.51474,47.76753],[13.54051,47.77325],[13.54525,47.78326],[13.53371,47.80051],[13.50175,47.79395],[13.45174,47.80869],[13.39186,47.80012],[13.29358,47.83241],[13.30231,47.85744],[13.27795,47.88923],[13.29199,47.9278],[13.2846,47.94738],[13.30413,47.95927],[13.36163,47.93577],[13.37994,47.96471],[13.37601,47.9802],[13.31425,47.99713],[13.29704,48.01514],[13.19294,47.97874],[13.15355,47.97759],[13.15405,47.99825],[13.09779,48.00228],[13.04111,48.04591],[12.97536,48.02806],[12.93798,48.04088],[12.90519,48.0249],[12.88712,47.99826],[12.85498,47.99948],[12.86942,47.95099],[12.8423,47.9384],[12.84272,47.91071],[12.86844,47.88553],[12.74213,47.89186],[12.72167,47.84034],[12.73777,47.80469],[12.75865,47.79969],[12.77026,47.78399],[12.82511,47.77916],[12.832,47.76012],[12.79261,47.76048],[12.76543,47.74409],[12.71574,47.73824],[12.70397,47.71028],[12.71008,47.69935],[12.68913,47.68247]],[[12.76331,47.66023],[12.76578,47.66253],[12.76872,47.66145],[12.76331,47.66023]]]}, 24 | "region": [ "AT-4", "AT-5", "DE-BY" ] 25 | } 26 | }, 27 | "options": { 28 | "endpoint": "https://fahrplan.salzburg-verkehr.at/bin/mgate.exe", 29 | "client": { 30 | "type": "WEB", 31 | "id": "VAO", 32 | "name": "webapp" 33 | }, 34 | "ext": "VAO.11", 35 | "ver": "1.20", 36 | "auth": { 37 | "type": "AID", 38 | "aid": "wf7mcf9bv3nv8g5f" 39 | }, 40 | "products": [ 41 | { 42 | "id": "bahn-s-bahn", 43 | "bitmasks": [1, 2], 44 | "name": "Bahn & S-Bahn" 45 | }, 46 | { 47 | "id": "u-bahn", 48 | "bitmasks": [4], 49 | "name": "U-Bahn" 50 | }, 51 | { 52 | "id": "strassenbahn", 53 | "bitmasks": [16], 54 | "name": "Strassenbahn" 55 | }, 56 | { 57 | "id": "fernbus", 58 | "bitmasks": [32], 59 | "name": "Fernbus" 60 | }, 61 | { 62 | "id": "regionalbus", 63 | "bitmasks": [64], 64 | "name": "Regionalbus" 65 | }, 66 | { 67 | "id": "stadtbus", 68 | "bitmasks": [128], 69 | "name": "Stadtbus" 70 | }, 71 | { 72 | "id": "seilbahn-zahnradbahn", 73 | "bitmasks": [256], 74 | "name": "Seil-/Zahnradbahn" 75 | }, 76 | { 77 | "id": "schiff", 78 | "bitmasks": [512], 79 | "name": "Schiff" 80 | } 81 | ] 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /data/at/vkg-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Kärntner Linien/Verkehrsverbund Kärnten (VKG/VVK)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de", 8 | "en", 9 | "it" 10 | ], 11 | "timezone": "Europe/Vienna", 12 | "attribution": { 13 | "name": "Kärntner Linien", 14 | "homepage": "https://www.kaerntner-linien.at/", 15 | "isProprietary": true 16 | }, 17 | "coverage": { 18 | "realtimeCoverage": { 19 | "area": {"type":"Polygon","coordinates":[[[12.65388,47.10452],[12.65013,47.09768],[12.69442,47.06937],[12.71012,47.0414],[12.76032,47.04006],[12.72995,47.01511],[12.71952,46.99127],[12.73923,46.9579],[12.77728,46.93605],[12.78494,46.9229],[12.83029,46.91012],[12.82525,46.90016],[12.83473,46.89009],[12.83596,46.85823],[12.88085,46.83897],[12.89365,46.82106],[12.95834,46.79518],[12.95907,46.78881],[12.93043,46.76907],[12.89898,46.78134],[12.83824,46.7537],[12.79057,46.76094],[12.72193,46.74744],[12.70558,46.73723],[12.70562,46.70984],[12.68318,46.70397],[12.68689,46.69426],[12.67724,46.67943],[12.68735,46.65215],[12.72964,46.62996],[12.75887,46.64267],[12.78905,46.63889],[12.80624,46.62705],[12.82863,46.62478],[12.82745,46.60851],[12.84042,46.60211],[12.92881,46.60557],[12.94819,46.59778],[13.04678,46.59081],[13.08678,46.59665],[13.16236,46.58372],[13.21383,46.56509],[13.23908,46.54723],[13.27096,46.55617],[13.32204,46.54685],[13.34509,46.56352],[13.37468,46.56354],[13.37606,46.57356],[13.42578,46.55314],[13.4761,46.55295],[13.49987,46.5608],[13.49977,46.55363],[13.51851,46.54251],[13.5458,46.54885],[13.57479,46.53361],[13.59423,46.5413],[13.6212,46.53767],[13.67104,46.51886],[13.77356,46.51152],[13.79382,46.50086],[13.83415,46.51227],[13.91206,46.51624],[14.00507,46.47697],[14.04905,46.48819],[14.11164,46.47397],[14.13044,46.44769],[14.16169,46.42925],[14.21802,46.43751],[14.23831,46.42779],[14.28291,46.43838],[14.30619,46.42634],[14.32718,46.42657],[14.42602,46.44119],[14.42422,46.4342],[14.43812,46.41982],[14.47621,46.40937],[14.49538,46.40899],[14.51642,46.42171],[14.53367,46.40975],[14.55169,46.37383],[14.56409,46.3678],[14.58702,46.37881],[14.59587,46.4091],[14.59072,46.42265],[14.60232,46.43233],[14.67829,46.44688],[14.68471,46.46101],[14.70677,46.46336],[14.70591,46.47478],[14.7152,46.47903],[14.71895,46.49274],[14.7298,46.48594],[14.74169,46.49653],[14.78658,46.49505],[14.82305,46.50608],[14.84626,46.57053],[14.87062,46.59128],[14.87411,46.6031],[14.88767,46.60791],[14.92191,46.59788],[14.92914,46.61102],[14.95738,46.62662],[14.98168,46.59721],[15.02139,46.63753],[15.07164,46.65169],[15.05483,46.67355],[15.03121,46.67298],[15.05089,46.71437],[15.04509,46.72796],[15.05098,46.73398],[15.03412,46.75855],[15.0367,46.77089],[14.98504,46.78777],[14.9967,46.81977],[15.0181,46.83007],[15.02586,46.84283],[15.01461,46.87621],[15.02391,46.88248],[15.03309,46.91182],[14.99994,46.93868],[14.96339,46.99167],[14.90751,47.0043],[14.85239,47.03556],[14.84396,47.05302],[14.76886,47.04364],[14.71857,47.02431],[14.62557,47.01782],[14.6107,47.00327],[14.58656,47.01619],[14.52297,47.014],[14.50462,47.03266],[14.46867,47.01573],[14.45413,47.01756],[14.45277,47.00095],[14.42809,47.00474],[14.38952,46.98632],[14.38342,46.99595],[14.38931,47.01475],[14.37382,47.02624],[14.32849,47.03429],[14.26323,47.03188],[14.25084,47.03921],[14.23707,47.03293],[14.22245,47.06359],[14.2022,47.08166],[14.16087,47.05771],[14.12503,47.06467],[14.11817,47.0458],[14.09758,47.04156],[14.0638,47.01401],[14.00749,47.00679],[14.00066,46.9745],[13.94705,46.96227],[13.94361,46.9459],[13.93211,46.94983],[13.84812,46.91645],[13.81948,46.92267],[13.79096,46.94114],[13.78197,46.95158],[13.77799,46.97852],[13.76265,46.99261],[13.70861,47.00166],[13.69737,47.01614],[13.69752,47.04369],[13.6504,47.04383],[13.64158,47.05911],[13.61723,47.06352],[13.57869,47.05678],[13.45849,47.0848],[13.4261,47.08576],[13.40369,47.07417],[13.38791,47.08312],[13.38505,47.09566],[13.36351,47.10327],[13.30623,47.0909],[13.27654,47.09962],[13.24208,47.08754],[13.23281,47.07189],[13.24147,47.05405],[13.13173,47.03919],[13.12242,47.03102],[13.07782,47.03097],[13.0711,47.01862],[13.0273,47.03238],[13.02031,47.04565],[12.96818,47.04308],[12.94334,47.07844],[12.92811,47.08414],[12.87072,47.09076],[12.84773,47.08612],[12.82139,47.1021],[12.78656,47.09769],[12.77477,47.10523],[12.74166,47.10453],[12.73292,47.13528],[12.66233,47.1265],[12.66471,47.10989],[12.65388,47.10452]]]}, 20 | "region": [ "AT-2" ] 21 | } 22 | }, 23 | "options": { 24 | "auth": { 25 | "type": "AID", 26 | "aid": "wf7mcf9bv3nv8g5f" 27 | }, 28 | "client": { 29 | "id": "VAO", 30 | "type": "WEB", 31 | "name": "webapp", 32 | "l": "vs_vkg" 33 | }, 34 | "endpoint": "https://routenplaner.kaerntner-linien.at/bin/mgate.exe", 35 | "products": [ 36 | { 37 | "id": "trains", 38 | "bitmasks": [1, 2], 39 | "name": "Bahn & S-Bahn" 40 | }, 41 | { 42 | "id": "subway", 43 | "bitmasks": [4], 44 | "name": "U-Bahn" 45 | }, 46 | { 47 | "id": "tram", 48 | "bitmasks": [16], 49 | "name": "Straßenbahn" 50 | }, 51 | { 52 | "id": "city-bus", 53 | "bitmasks": [128], 54 | "name": "Stadtbus" 55 | }, 56 | { 57 | "id": "regional-bus", 58 | "bitmasks": [64], 59 | "name": "Regionalbus" 60 | }, 61 | { 62 | "id": "long-distance-bus", 63 | "bitmasks": [32], 64 | "name": "Fernbus" 65 | }, 66 | { 67 | "id": "other-bus", 68 | "bitmasks": [2048], 69 | "name": "sonstige Busse" 70 | }, 71 | { 72 | "id": "aerial-lift", 73 | "bitmasks": [256], 74 | "name": "Seil-/Zahnradbahn" 75 | }, 76 | { 77 | "id": "ferry", 78 | "bitmasks": [512], 79 | "name": "Schiff" 80 | }, 81 | { 82 | "id": "on-call", 83 | "bitmasks": [1024], 84 | "name": "Anrufsammeltaxi" 85 | } 86 | ] 87 | } 88 | } 89 | -------------------------------------------------------------------------------- /data/at/vor-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Verkehrsverbund Ostregion (VOR)", 3 | "coverage": { 4 | "realtimeCoverage": { 5 | "area": { 6 | "coordinates": [ 7 | [ 8 | [ 9 | [16.23, 47.36], 10 | [16.43, 47.59], 11 | [16.45, 47.63], 12 | [16.36, 47.78], 13 | [16.51, 47.86], 14 | [16.56, 47.81], 15 | [16.61, 47.83], 16 | [16.74, 47.95], 17 | [16.88, 48.0], 18 | [16.95, 47.96], 19 | [17.05, 47.93], 20 | [17.05, 48.04], 21 | [17.07, 48.04], 22 | [17.19, 48.07], 23 | [16.92, 48.38], 24 | [17.01, 48.51], 25 | [17.02, 48.54], 26 | [16.96, 48.75], 27 | [16.93, 48.78], 28 | [16.7, 48.79], 29 | [16.57, 48.88], 30 | [16.53, 48.89], 31 | [16.36, 48.8], 32 | [16.11, 48.81], 33 | [15.87, 48.94], 34 | [15.85, 48.95], 35 | [15.7, 48.92], 36 | [15.3, 49.06], 37 | [15.27, 49.06], 38 | [15.16, 49.02], 39 | [15.0, 49.09], 40 | [14.93, 49.07], 41 | [14.92, 48.84], 42 | [14.8, 48.85], 43 | [14.76, 48.83], 44 | [14.63, 48.61], 45 | [14.6, 48.54], 46 | [14.86, 48.45], 47 | [14.89, 48.3], 48 | [14.87, 48.3], 49 | [14.69, 48.23], 50 | [14.54, 48.31], 51 | [14.48, 48.3], 52 | [14.41, 48.18], 53 | [14.4, 48.16], 54 | [14.43, 47.97], 55 | [14.45, 47.94], 56 | [14.69, 47.84], 57 | [14.66, 47.72], 58 | [14.71, 47.68], 59 | [14.92, 47.64], 60 | [14.94, 47.64], 61 | [15.37, 47.76], 62 | [15.68, 47.65], 63 | [15.87, 47.48], 64 | [15.89, 47.46], 65 | [16.08, 47.46], 66 | [16.17, 47.35], 67 | [16.23, 47.36] 68 | ], 69 | [ 70 | [16.51, 48.29], 71 | [16.58, 48.14], 72 | [16.58, 48.14], 73 | [16.22, 48.13], 74 | [16.21, 48.13], 75 | [16.21, 48.26], 76 | [16.21, 48.26], 77 | [16.51, 48.29] 78 | ] 79 | ], 80 | [ 81 | [ 82 | [16.24, 48.06], 83 | [16.63, 48.07], 84 | [16.65, 48.14], 85 | [16.56, 48.35], 86 | [16.53, 48.35], 87 | [16.3, 48.42], 88 | [16.31, 48.35], 89 | [16.26, 48.32], 90 | [16.14, 48.31], 91 | [16.13, 48.25], 92 | [16.17, 48.0], 93 | [16.24, 48.06] 94 | ] 95 | ] 96 | ], 97 | "type": "MultiPolygon" 98 | }, 99 | "region": [ "AT-3", "AT-9" ] 100 | } 101 | }, 102 | "options": { 103 | "auth": { 104 | "aid": "and20201hf7mcf9bv3nv8g5f", 105 | "pw": "87a6f8ZbnBih32", 106 | "type": "USER", 107 | "user": "mobile" 108 | }, 109 | "client": { 110 | "id": "VAO", 111 | "l": "vs_vor", 112 | "type": "AND" 113 | }, 114 | "endpoint": "https://anachb.vor.at/bin/mgate.exe", 115 | "ext": "VAO.11", 116 | "micMacSalt": "6633673735743766726667323938336a", 117 | "ver": "1.27" 118 | }, 119 | "supportedLanguages": [ "de", "en" ], 120 | "timezone": "Europe/Vienna", 121 | "type": { 122 | "hafasMgate": true 123 | } 124 | } 125 | -------------------------------------------------------------------------------- /data/at/vvst-efa.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Verkehrsverbund Steiermark (VVSt)", 3 | "coverage": { 4 | "regularCoverage": { 5 | "area": { 6 | "coordinates": [ 7 | [ 8 | [ 9 | [15.11, 46.58], 10 | [15.51, 46.55], 11 | [15.52, 46.55], 12 | [15.84, 46.65], 13 | [16.08, 46.57], 14 | [16.11, 46.65], 15 | [16.06, 46.81], 16 | [16.24, 46.98], 17 | [16.22, 47.02], 18 | [16.15, 47.22], 19 | [16.11, 47.33], 20 | [16.23, 47.37], 21 | [16.24, 47.46], 22 | [16.22, 47.47], 23 | [16.14, 47.6], 24 | [16.1, 47.59], 25 | [15.94, 47.6], 26 | [15.76, 47.77], 27 | [15.74, 47.77], 28 | [15.38, 47.89], 29 | [15.36, 47.89], 30 | [14.93, 47.78], 31 | [14.68, 47.84], 32 | [14.67, 47.82], 33 | [14.31, 47.68], 34 | [13.73, 47.8], 35 | [13.7, 47.68], 36 | [13.7, 47.68], 37 | [13.67, 47.53], 38 | [13.52, 47.55], 39 | [13.52, 47.49], 40 | [13.49, 47.43], 41 | [13.5, 47.4], 42 | [13.56, 47.23], 43 | [13.6, 47.22], 44 | [13.8, 47.23], 45 | [13.86, 47.17], 46 | [13.78, 47.15], 47 | [13.81, 47.1], 48 | [13.72, 46.83], 49 | [13.84, 46.85], 50 | [14.2, 47.0], 51 | [14.38, 46.91], 52 | [14.4, 46.92], 53 | [14.83, 46.98], 54 | [14.95, 46.89], 55 | [14.88, 46.71], 56 | [14.95, 46.72], 57 | [15.08, 46.54], 58 | [15.11, 46.58] 59 | ] 60 | ] 61 | ], 62 | "type": "MultiPolygon" 63 | }, 64 | "region": [ "AT-6" ] 65 | } 66 | }, 67 | "options": { 68 | "endpoint": "http://appefa10.verbundlinie.at/android/", 69 | "supportedOutputFormats": [ "XML" ], 70 | "xmlOutputFormat": "compact" 71 | }, 72 | "supportedLanguages": [ "de", "en" ], 73 | "timezone": "Europe/Vienna", 74 | "type": { 75 | "efa": true 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /data/at/vvt-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Verkehrsverbund Tirol (VVT)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "en", 8 | "de", 9 | "it" 10 | ], 11 | "timezone": "Europe/Vienna", 12 | "attribution": { 13 | "name": "Verkehrsverbund Tirol", 14 | "homepage": "https://www.vvt.at/", 15 | "isProprietary": true 16 | }, 17 | "coverage": { 18 | "realtimeCoverage": { 19 | "area": {"type":"MultiPolygon","coordinates":[[[[10.09127,46.92452],[10.10311,46.8928],[10.13401,46.87181],[10.13906,46.8488],[10.15967,46.84364],[10.19784,46.86184],[10.23692,46.86286],[10.24133,46.88539],[10.2338,46.89443],[10.24787,46.92658],[10.29596,46.9155],[10.31973,46.92145],[10.32385,46.9311],[10.3146,46.94666],[10.33331,46.95149],[10.35351,46.98697],[10.37476,46.98657],[10.38854,46.9957],[10.42043,46.9736],[10.41915,46.95578],[10.48012,46.93512],[10.4792,46.91656],[10.45813,46.8847],[10.46597,46.85119],[10.52077,46.84092],[10.54687,46.84499],[10.53944,46.83804],[10.54722,46.83283],[10.66512,46.86912],[10.687,46.86288],[10.68685,46.85138],[10.70003,46.84342],[10.75607,46.82252],[10.72031,46.79999],[10.72789,46.78416],[10.75888,46.78078],[10.78629,46.78985],[10.81147,46.77101],[10.82665,46.76868],[10.83671,46.77587],[10.88212,46.75838],[10.91932,46.77028],[11.02408,46.76113],[11.05041,46.80323],[11.08952,46.82084],[11.07814,46.85318],[11.10801,46.88861],[11.10229,46.91016],[11.11453,46.91329],[11.11778,46.92643],[11.13983,46.92305],[11.15951,46.93072],[11.17433,46.94342],[11.17053,46.95895],[11.18968,46.96471],[11.20848,46.9581],[11.32079,46.98718],[11.33659,46.98038],[11.35588,46.98561],[11.37867,46.96681],[11.40616,46.9605],[11.44617,46.97295],[11.45699,46.9877],[11.47513,46.99245],[11.48229,47.00643],[11.5083,47.00027],[11.5383,46.97959],[11.61676,47.00776],[11.66303,46.98761],[11.70804,46.98801],[11.72389,46.96869],[11.74865,46.96451],[11.76889,46.96951],[11.78605,46.98624],[11.83898,46.98889],[11.93415,47.03291],[11.9491,47.02916],[11.97933,47.04453],[12.0233,47.04299],[12.04528,47.05675],[12.07995,47.05473],[12.09961,47.07357],[12.137,47.07353],[12.1426,47.08099],[12.13229,47.09378],[12.13428,47.1107],[12.12056,47.12418],[12.11727,47.14104],[12.10028,47.14843],[12.08867,47.19307],[12.09392,47.21336],[12.11774,47.24183],[12.10799,47.25948],[12.08545,47.27457],[12.1126,47.29853],[12.14462,47.28365],[12.17144,47.29793],[12.19874,47.29412],[12.22535,47.30815],[12.23481,47.29728],[12.2667,47.29807],[12.30251,47.32614],[12.37432,47.30682],[12.41286,47.30947],[12.44207,47.32379],[12.47285,47.31978],[12.50496,47.34406],[12.4862,47.36567],[12.48817,47.37406],[12.51016,47.38892],[12.55446,47.39468],[12.58197,47.38862],[12.6062,47.40929],[12.62719,47.41531],[12.64333,47.43438],[12.63846,47.46179],[12.66698,47.46047],[12.70624,47.47808],[12.70286,47.49045],[12.66712,47.51246],[12.66004,47.53883],[12.64013,47.54825],[12.67302,47.57738],[12.65677,47.59263],[12.57992,47.60866],[12.5774,47.63652],[12.53597,47.64096],[12.50298,47.62966],[12.4475,47.67791],[12.44956,47.69268],[12.44159,47.69961],[12.36686,47.68865],[12.33737,47.70153],[12.28257,47.6944],[12.26039,47.68319],[12.24829,47.69488],[12.27166,47.7327],[12.25789,47.74749],[12.20852,47.71506],[12.15594,47.70225],[12.16138,47.68024],[12.19264,47.63962],[12.20055,47.61064],[12.18792,47.60934],[12.17698,47.61906],[12.13915,47.61029],[12.08518,47.61421],[12.06126,47.62331],[12.02472,47.61589],[12.0082,47.62967],[11.85315,47.60669],[11.84198,47.58637],[11.78087,47.59569],[11.66405,47.58831],[11.63404,47.59881],[11.625,47.58852],[11.59975,47.58302],[11.58032,47.55551],[11.58137,47.52733],[11.56842,47.51831],[11.50649,47.51024],[11.45314,47.51313],[11.43915,47.52195],[11.37855,47.47697],[11.38097,47.46718],[11.40215,47.46269],[11.40835,47.45147],[11.33566,47.45395],[11.31275,47.43585],[11.28569,47.42975],[11.28351,47.40978],[11.27062,47.40239],[11.23558,47.40251],[11.25986,47.42618],[11.25454,47.43561],[11.20669,47.43843],[11.12517,47.41624],[11.11361,47.40024],[10.98151,47.40155],[10.97617,47.41159],[10.99091,47.4195],[10.98996,47.43135],[10.93646,47.47175],[10.94237,47.48395],[10.91026,47.49004],[10.87623,47.48558],[10.88025,47.49904],[10.92455,47.51279],[10.89297,47.54144],[10.77463,47.52033],[10.76306,47.53778],[10.7005,47.54819],[10.69377,47.56286],[10.63624,47.56355],[10.59853,47.57422],[10.57458,47.55794],[10.56907,47.53835],[10.52465,47.53975],[10.46345,47.55682],[10.47932,47.56838],[10.48571,47.58822],[10.43492,47.58847],[10.42246,47.57673],[10.44566,47.55207],[10.42471,47.50313],[10.43758,47.48168],[10.46022,47.47616],[10.46682,47.43551],[10.4317,47.41498],[10.42341,47.38887],[10.38809,47.37734],[10.38013,47.35923],[10.3516,47.33974],[10.32748,47.30934],[10.2929,47.30399],[10.23304,47.27595],[10.20106,47.28139],[10.17134,47.27125],[10.17,47.26041],[10.20777,47.25195],[10.19109,47.23768],[10.20226,47.22805],[10.2067,47.2073],[10.19007,47.19169],[10.20157,47.15772],[10.21374,47.1504],[10.19838,47.14537],[10.19724,47.13572],[10.18213,47.13245],[10.18001,47.12457],[10.15337,47.11774],[10.12666,47.08323],[10.12855,47.06212],[10.15011,47.04862],[10.1167,47.02158],[10.14963,47.00134],[10.15026,46.98731],[10.13782,46.98405],[10.12041,46.94504],[10.09127,46.92452]]],[[[12.11459,47.00628],[12.12122,46.98416],[12.1306,46.97882],[12.12617,46.96012],[12.16134,46.93687],[12.13843,46.9112],[12.18462,46.90204],[12.21306,46.86981],[12.24736,46.88435],[12.26825,46.88119],[12.26998,46.87068],[12.28346,46.8634],[12.28605,46.84792],[12.29881,46.83523],[12.27658,46.81604],[12.28326,46.80394],[12.27386,46.79298],[12.27864,46.78026],[12.35188,46.77092],[12.37996,46.71283],[12.43968,46.68443],[12.4705,46.68223],[12.47698,46.67323],[12.51839,46.6723],[12.55897,46.6483],[12.62089,46.65686],[12.64072,46.64755],[12.69394,46.65309],[12.69962,46.69945],[12.72788,46.70184],[12.71663,46.71596],[12.72295,46.73737],[12.80396,46.75218],[12.81202,46.74462],[12.8429,46.74499],[12.90058,46.77114],[12.93304,46.75969],[12.97213,46.78654],[12.96768,46.80212],[12.90125,46.82844],[12.89115,46.84568],[12.84862,46.86356],[12.84829,46.89411],[12.83852,46.9015],[12.84172,46.91567],[12.79689,46.92992],[12.79072,46.94297],[12.751,46.96256],[12.73317,46.99385],[12.77692,47.04335],[12.75815,47.05032],[12.71877,47.04836],[12.70436,47.07617],[12.62616,47.12286],[12.56792,47.14073],[12.54572,47.13435],[12.52561,47.15418],[12.49957,47.16204],[12.41739,47.14694],[12.39801,47.15681],[12.3612,47.14485],[12.34992,47.13217],[12.35093,47.11568],[12.31389,47.10882],[12.30368,47.09705],[12.28572,47.09861],[12.26252,47.07859],[12.21247,47.06221],[12.20058,47.03178],[12.16397,47.02464],[12.14432,47.02887],[12.11459,47.00628]]]]}, 20 | "region": [ "AT-7" ] 21 | } 22 | }, 23 | "options": { 24 | "auth": { 25 | "type": "AID", 26 | "aid": "wf7mcf9bv3nv8g5f" 27 | }, 28 | "client": { 29 | "id": "VAO", 30 | "type": "WEB", 31 | "name": "webapp", 32 | "l": "vs_vvt" 33 | }, 34 | "endpoint": "https://smartride.vvt.at/bin/mgate.exe", 35 | "products": [ 36 | { 37 | "id": "trains", 38 | "bitmasks": [1, 2], 39 | "name": "Bahn & S-Bahn" 40 | }, 41 | { 42 | "id": "subway", 43 | "bitmasks": [4], 44 | "name": "U-Bahn" 45 | }, 46 | { 47 | "id": "tram", 48 | "bitmasks": [16], 49 | "name": "Straßenbahn" 50 | }, 51 | { 52 | "id": "city-bus", 53 | "bitmasks": [128], 54 | "name": "Stadtbus" 55 | }, 56 | { 57 | "id": "regional-bus", 58 | "bitmasks": [64], 59 | "name": "Regionalbus" 60 | }, 61 | { 62 | "id": "long-distance-bus", 63 | "bitmasks": [32], 64 | "name": "Fernbus" 65 | }, 66 | { 67 | "id": "other-bus", 68 | "bitmasks": [2048], 69 | "name": "sonstige Busse" 70 | }, 71 | { 72 | "id": "aerial-lift", 73 | "bitmasks": [256], 74 | "name": "Seil-/Zahnradbahn" 75 | }, 76 | { 77 | "id": "ferry", 78 | "bitmasks": [512], 79 | "name": "Schiff" 80 | }, 81 | { 82 | "id": "on-call", 83 | "bitmasks": [1024], 84 | "name": "Anrufsammeltaxi" 85 | } 86 | ] 87 | } 88 | } 89 | -------------------------------------------------------------------------------- /data/at/vvv-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Verkehrsverbund Vorarlberg (VVV)", 3 | "coverage": { 4 | "realtimeCoverage": { 5 | "area": { 6 | "coordinates": [ 7 | [ 8 | [ 9 | [10.22, 47.1], 10 | [10.3, 47.4], 11 | [10.26, 47.46], 12 | [10.16, 47.44], 13 | [10.16, 47.48], 14 | [10.13, 47.51], 15 | [9.83, 47.66], 16 | [9.8, 47.66], 17 | [9.56, 47.6], 18 | [9.51, 47.6], 19 | [9.47, 47.53], 20 | [9.58, 47.4], 21 | [9.48, 47.31], 22 | [9.46, 47.27], 23 | [9.55, 47.04], 24 | [9.56, 47.0], 25 | [9.81, 46.96], 26 | [9.81, 46.92], 27 | [9.83, 46.88], 28 | [10.08, 46.78], 29 | [10.16, 46.75], 30 | [10.22, 47.1] 31 | ] 32 | ] 33 | ], 34 | "type": "MultiPolygon" 35 | }, 36 | "region": [ "AT-8" ] 37 | } 38 | }, 39 | "options": { 40 | "auth": { 41 | "aid": "and20201hf7mcf9bv3nv8g5f", 42 | "pw": "87a6f8ZbnBih32", 43 | "type": "USER", 44 | "user": "mobile" 45 | }, 46 | "client": { 47 | "id": "VAO", 48 | "l": "vs_vvv", 49 | "type": "AND" 50 | }, 51 | "endpoint": "https://fahrplan.vmobil.at/bin/mgate.exe", 52 | "ext": "VAO.11", 53 | "micMacSalt": "6633673735743766726667323938336A", 54 | "ver": "1.27" 55 | }, 56 | "supportedLanguages": [ "de", "en" ], 57 | "timezone": "Europe/Vienna", 58 | "type": { 59 | "hafasMgate": true 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /data/au/transportnsw-efa.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Transport for NSW", 3 | "coverage": { 4 | "realtimeCoverage": { 5 | "area": { 6 | "coordinates": [ 7 | [ [ 140.8182, -28.7755 ], [ 154.2714, -27.9933 ], [ 151.0906, -39.5172 ], [ 140.766, -34.2506 ], [ 140.8182, -28.7755 ] ] 8 | ], 9 | "type": "Polygon" 10 | }, 11 | "region": [ "AU-NSW" ] 12 | } 13 | }, 14 | "options": { 15 | "endpoint": "https://transportnsw.info/web/", 16 | "supportedOutputFormats": [ "XML" ], 17 | "xmlOutputFormat": "full" 18 | }, 19 | "supportedLanguages": [ "en" ], 20 | "timezone": "Australia/Sydney", 21 | "type": { 22 | "efa": true 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /data/ch/bls-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "BLS AG", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de", "en", "fr", "it" 8 | ], 9 | "timezone": "Europe/Zurich", 10 | "attribution": { 11 | "name": "BLS AG", 12 | "homepage": "https://www.bls.ch/", 13 | "isProprietary": true 14 | }, 15 | "coverage": { 16 | "realtimeCoverage": { 17 | "area": {"type":"Polygon","coordinates":[[[7.24273681640625,47.025206001585396],[7.25921630859375,46.9052455464292],[7.3663330078125,46.873335829010244],[7.476196289062499,46.71538559839362],[7.643737792968749,46.5739667965278],[8.04473876953125,46.62492015414768],[8.45672607421875,46.89210855010362],[8.52813720703125,47.03831035673275],[8.39630126953125,47.17477833929903],[8.1024169921875,47.137424646293866],[8.1024169921875,47.040182144806664],[7.882690429687501,46.9446372241817],[7.6629638671875,47.05328282273657],[7.45147705078125,47.11313066447019],[7.24273681640625,47.025206001585396]]]}, 18 | "region": ["CH-BE", "CH-LU"] 19 | } 20 | }, 21 | "options": { 22 | "auth": { 23 | "type": "AID", 24 | "aid": "3jkAncud78HSoqclmN54812A" 25 | }, 26 | "client": { 27 | "id": "HAFAS", 28 | "type": "WEB", 29 | "name": "webapp", 30 | "l": "vs_webapp" 31 | }, 32 | "endpoint": "https://bls.hafas.de/gate", 33 | "products": [ 34 | { 35 | "id": "ice", 36 | "bitmasks": [1], 37 | "name": "ICE" 38 | }, 39 | { 40 | "id": "ic-ec", 41 | "bitmasks": [2], 42 | "name": "IC/EC" 43 | }, 44 | { 45 | "id": "ir", 46 | "bitmasks": [4], 47 | "name": "IR" 48 | }, 49 | { 50 | "id": "local", 51 | "bitmasks": [8], 52 | "name": "Nahverkehr" 53 | }, 54 | { 55 | "id": "watercraft", 56 | "bitmasks": [16], 57 | "name": "Schiff" 58 | }, 59 | { 60 | "id": "s-bahn", 61 | "bitmasks": [32], 62 | "name": "S-Bahn" 63 | }, 64 | { 65 | "id": "bus", 66 | "bitmasks": [64], 67 | "name": "Bus" 68 | }, 69 | { 70 | "id": "gondola", 71 | "bitmasks": [128], 72 | "name": "Seilbahn" 73 | }, 74 | { 75 | "id": "tram", 76 | "bitmasks": [512], 77 | "name": "Tram" 78 | }, 79 | { 80 | "id": "car-shuttle-train", 81 | "bitmasks": [4096], 82 | "name": "Autoverlad" 83 | } 84 | ], 85 | "ver": "1.68" 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /data/ch/tpg-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Transports publics genevois (TPG)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "fr" 8 | ], 9 | "timezone": "Europe/Zurich", 10 | "attribution": { 11 | "name": "Transports publics genevois", 12 | "homepage": "https://www.tpg.ch/", 13 | "isProprietary": true 14 | }, 15 | "coverage": { 16 | "realtimeCoverage": { 17 | "area": {"type":"Polygon","coordinates":[[[5.9456634521484375,46.350245401746875],[5.88592529296875,46.22307764691826],[5.95733642578125,46.081328021385964],[6.1962890625,46.076564991185734],[6.3768768310546875,46.198369107130254],[6.356964111328125,46.33507671233457],[6.1269378662109375,46.42413249720715],[5.9456634521484375,46.350245401746875]]]}, 18 | "region": [ "CH-GE" ] 19 | } 20 | }, 21 | "options": { 22 | "auth": { 23 | "type": "AID", 24 | "aid": "9CZsdl5PqX8n5D6b" 25 | }, 26 | "client": { 27 | "id": "HAFAS", 28 | "type": "WEB", 29 | "name": "webapp", 30 | "l": "vs_webapp" 31 | }, 32 | "endpoint": "https://tpg.hafas.cloud/bin/mgate.exe", 33 | "products": [ 34 | { 35 | "id": "tgv", 36 | "bitmasks": [1], 37 | "name": "TGV" 38 | }, 39 | { 40 | "id": "intercity-train", 41 | "bitmasks": [2], 42 | "name": "Intercité" 43 | }, 44 | { 45 | "id": "ir", 46 | "bitmasks": [4], 47 | "name": "IR" 48 | }, 49 | { 50 | "id": "train-direct", 51 | "bitmasks": [8], 52 | "name": "Train direct" 53 | }, 54 | { 55 | "id": "watercraft", 56 | "bitmasks": [16], 57 | "name": "Bateau" 58 | }, 59 | { 60 | "id": "regio-express", 61 | "bitmasks": [32], 62 | "name": "Regio Express" 63 | }, 64 | { 65 | "id": "bus", 66 | "bitmasks": [64], 67 | "name": "Bus" 68 | }, 69 | { 70 | "id": "gondola", 71 | "bitmasks": [128], 72 | "name": "Transport à câbles" 73 | }, 74 | { 75 | "id": "tram", 76 | "bitmasks": [256, 512], 77 | "name": "Tram" 78 | } 79 | ] 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /data/ch/zvv-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Züricher Verkehrsverbund (ZVV)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de", 8 | "en", 9 | "fr", 10 | "it" 11 | ], 12 | "timezone": "Europe/Zurich", 13 | "attribution": { 14 | "name": "Züricher Verkehrsverbund", 15 | "homepage": "https://zvv.ch/", 16 | "isProprietary": true 17 | }, 18 | "coverage": { 19 | "realtimeCoverage": { 20 | "area": {"type":"Polygon","coordinates":[[[8.352025837078337,47.5001946155509],[8.357119309606821,47.479130525873835],[8.367173207608177,47.4766185045161],[8.359466808834565,47.46459772477852],[8.377399051098445,47.452078948313925],[8.368626530154767,47.42955734390269],[8.38381185702575,47.42251716240422],[8.356301536260577,47.40051768577848],[8.387504465114173,47.390424913158846],[8.398992609394579,47.36613930937793],[8.397430993122665,47.345454843663],[8.409261201273008,47.334135937196244],[8.40679813184773,47.32471996760294],[8.435598364226303,47.32086307053431],[8.422926479560184,47.303546506184816],[8.382193179769875,47.28896784552383],[8.413385287712355,47.223339458811],[8.47020626097956,47.204549035863074],[8.541462134504288,47.21776649955635],[8.569621314034256,47.213932445293175],[8.590008911275557,47.20715123303359],[8.595632209104373,47.19755472326554],[8.607210450462205,47.1989498648056],[8.620240245491928,47.16944865252999],[8.677447075356481,47.155273591454055],[8.698575536226802,47.16221781004482],[8.687270230387314,47.17955238021197],[8.698248869398862,47.192127432823554],[8.74302311026567,47.207408587595246],[8.813240094131404,47.217006492735635],[8.803341374125436,47.23859405661785],[8.808592793461488,47.24307356789095],[8.861086740171382,47.23877572606355],[8.937102133849532,47.25530583881892],[8.95396351806477,47.274547381434786],[8.954675681060309,47.2830480161951],[8.946638205064016,47.28647574468289],[8.99130336555281,47.31811887147506],[8.978027132283865,47.35408977402376],[8.962370744408346,47.36255000164088],[8.948823046907652,47.388344157011566],[8.913865753981376,47.40568266417173],[8.921198494785665,47.42825216614875],[8.93967945368972,47.43480760980664],[8.913171999039992,47.441226377449176],[8.914966682808515,47.45002829116238],[8.89133881129825,47.47375864535559],[8.90421816319347,47.48423057519131],[8.904018784437358,47.52651451027008],[8.847743300827208,47.53585220395763],[8.837291269471706,47.5527974123987],[8.856396043009415,47.558078475692795],[8.855814056420309,47.566695618333846],[8.833865120940896,47.577526597262306],[8.814294111735027,47.57593706453024],[8.808220588544032,47.58739833863206],[8.754303118734615,47.597293035460574],[8.748910613907324,47.60596533004298],[8.760958620231614,47.61341392733114],[8.785972290861224,47.5993618987626],[8.808641623877579,47.59895354443008],[8.834455291767654,47.64058016768297],[8.831244931506342,47.64988021013735],[8.811592386636834,47.655972183941934],[8.806583477175467,47.66927312435391],[8.78515407608729,47.66924368868699],[8.777624822526542,47.65562162909576],[8.752142171394746,47.646884970076414],[8.708247907754266,47.64768680648116],[8.686271474512886,47.66095476907609],[8.673860292588039,47.68825146711931],[8.643821639316794,47.698854342951826],[8.621634113762378,47.69551508411229],[8.620046613949446,47.68134432971829],[8.60881859542899,47.681687526037486],[8.599464636304084,47.66915128914561],[8.62219979219682,47.65026992076075],[8.604754539805883,47.65686128469804],[8.589675881119451,47.64498593020601],[8.598323247120668,47.61414589021119],[8.57218252381505,47.59107721231949],[8.557145613705112,47.559469963142085],[8.543272582882814,47.58509867306814],[8.568530142978274,47.59687149321976],[8.580392184534633,47.61425207850634],[8.561588756300669,47.62819521907079],[8.514587441821966,47.63839106839812],[8.501463403106824,47.62161151862348],[8.475813327421022,47.619105808634885],[8.451180851998204,47.60487609988067],[8.454616100859454,47.586294292326784],[8.468797833312001,47.57944835210793],[8.414325365583457,47.56853309756402],[8.408517695280056,47.55021928544264],[8.377961758739614,47.53016141556618],[8.372675791091822,47.51646272799863],[8.356326655696932,47.513149542049746],[8.352025837078337,47.5001946155509]]]}, 21 | "region": [ "CH-ZH" ] 22 | } 23 | }, 24 | "options": { 25 | "endpoint": "https://online.fahrplan.zvv.ch/gate", 26 | "client": { 27 | "type": "IPH", 28 | "id": "ZVV", 29 | "name": "zvvPROD-STORE", 30 | "v": "6000400" 31 | }, 32 | "ext": "ZVV.2", 33 | "ver": "1.24", 34 | "auth": { 35 | "type": "AID", 36 | "aid": "hf7mcf9bv3nv8g5f" 37 | }, 38 | "products": [ 39 | { 40 | "id": "high-speed-train", 41 | "bitmasks": [1, 2, 4, 8], 42 | "short": "High Speed" 43 | }, 44 | { 45 | "id": "urban-train", 46 | "bitmasks": [32], 47 | "name": "Urban Train" 48 | }, 49 | { 50 | "id": "tram", 51 | "bitmasks": [512], 52 | "name": "Tram" 53 | }, 54 | { 55 | "id": "bus", 56 | "bitmasks": [64], 57 | "name": "Bus" 58 | }, 59 | { 60 | "id": "boat", 61 | "bitmasks": [16], 62 | "name": "Boat" 63 | }, 64 | { 65 | "id": "cable-car", 66 | "bitmasks": [128], 67 | "name": "Cable Car" 68 | }, 69 | { 70 | "id": "night-train", 71 | "bitmasks": [256], 72 | "name": "Night Train" 73 | } 74 | ] 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /data/de/avv-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Aachener Verkehrsverbund (AVV)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de" 8 | ], 9 | "timezone": "Europe/Berlin", 10 | "attribution": { 11 | "name": "Aachener Verkehrsverbund", 12 | "homepage": "https://avv.de/", 13 | "isProprietary": true 14 | }, 15 | "coverage": { 16 | "realtimeCoverage": { 17 | "area": {"type":"Polygon","coordinates":[[[5.859188417072768,51.05148800230104],[5.872487617358398,51.01586276097089],[5.897738698853541,50.99918876649366],[5.885563755057118,50.98104738322942],[5.891698530808384,50.97191324968534],[5.951257723126823,50.98276546964921],[5.967104741459945,50.9749066309938],[6.017849791398296,50.978916315819944],[5.99806000215941,50.95678803752185],[6.008636678679826,50.95026960453096],[6.012026307136951,50.93244910458006],[6.051208585656157,50.91811549448109],[6.080908919003151,50.91659933030443],[6.068074326490712,50.89330068818137],[6.07970800487149,50.87338773739646],[6.068461910864243,50.85349300443252],[6.0547384169323175,50.86172646083302],[6.01417596000511,50.84959484238591],[6.008835896197805,50.83907675507872],[6.015544663428678,50.8150497409345],[6.004584042126695,50.807011056091824],[5.980720206705035,50.814090582039434],[5.967930753731685,50.79702468001392],[6.017928532858145,50.77225504010337],[6.012562619548639,50.75785473965118],[6.03245069812976,50.74344883211223],[6.026147347898739,50.727218240790286],[6.03437957579858,50.71516917897426],[6.049427326800921,50.721369465086575],[6.114003878963365,50.71632813587331],[6.138314986796232,50.67898526815074],[6.174343827004632,50.65068349059165],[6.15962888019785,50.64404977256717],[6.173466177347765,50.631658566054035],[6.171717954430313,50.62237601312756],[6.183580060844878,50.619443960291036],[6.195482002350687,50.627797899968044],[6.262499279595271,50.623064531481035],[6.236990263765208,50.592981021220055],[6.221328794279586,50.594203150675085],[6.167472036112202,50.55866604805133],[6.17171177379472,50.53968098357579],[6.187582711923979,50.534282316508616],[6.181195999977328,50.52369715429532],[6.201135338512379,50.51639391843414],[6.220657132053212,50.49124973712048],[6.270881532260956,50.49869814401655],[6.317659456444563,50.492265086974676],[6.3709325358224556,50.51252241221192],[6.387266028697921,50.53318324157898],[6.372204067073668,50.54137638435431],[6.371842013467801,50.55965874998212],[6.400936280886091,50.580960377198444],[6.39752667169208,50.59247026783389],[6.423188551151553,50.59898257232489],[6.42569709638268,50.6124941426901],[6.466468856921105,50.60742148616783],[6.489651064533271,50.595705704395115],[6.5572298319165,50.59610803487757],[6.567598365170311,50.60382459227881],[6.568359671546414,50.62658889442988],[6.584593940086462,50.639268067858],[6.577410627413058,50.655643379961106],[6.608294058611749,50.67212224606286],[6.594947065667077,50.7038369221661],[6.618419706808936,50.7112069356729],[6.632096587394283,50.72525048890611],[6.681083603024851,50.70899208354646],[6.709468838053739,50.72944325567665],[6.703354212043242,50.73580709276013],[6.706647584999947,50.75116178264817],[6.687360264610232,50.77101158178426],[6.719311888379969,50.786162602830636],[6.723826741793095,50.826545957195634],[6.710228493088018,50.83914826683614],[6.677612673670777,50.84260935751484],[6.619589200097157,50.830205589991294],[6.618700055354939,50.84031644673072],[6.602266544336534,50.8513340540655],[6.567313601333944,50.85820275619867],[6.562359920330054,50.864308680894155],[6.568609681534597,50.87850903250905],[6.558738890269826,50.895346362237234],[6.527027755731355,50.89826634607329],[6.531076467722369,50.933596490377425],[6.508431869161832,50.93570551424151],[6.494895112807649,50.95434053663845],[6.491674735524336,50.96327915653773],[6.505981403675532,50.96873452197569],[6.505936273160839,50.978441544974714],[6.49607266438588,50.987716838733924],[6.479913964159365,50.98864470336928],[6.4687791145148426,51.00247081834245],[6.47074576175071,51.02275268375652],[6.487495103667864,51.03477153449965],[6.469784621434878,51.04396672400457],[6.483701606669992,51.058273543016185],[6.4543712480773845,51.06694778906477],[6.461567846730124,51.07856644136998],[6.456670184103094,51.09234444966072],[6.405528437398226,51.09256602163549],[6.392638395001537,51.10352724370392],[6.365186136790947,51.10006784671324],[6.358009614020293,51.11441713689799],[6.361790851263973,51.12848742683048],[6.310400825585381,51.15708126368452],[6.312744551268784,51.16675338462228],[6.298646968488261,51.17740655516795],[6.265815787869258,51.19039332398935],[6.247109948740463,51.19400841816413],[6.212475460034322,51.17248417411624],[6.175633971549586,51.18904194476149],[6.13443821420098,51.17690790038127],[6.133933034971025,51.170037526487306],[6.163276571684236,51.157963806313234],[6.0882677568402315,51.13888777964998],[6.0322586593481535,51.10017110714091],[6.005221541118982,51.09443842773804],[5.974124535264043,51.07459587034676],[5.950746311527444,51.041424394743025],[5.942348338889109,51.04106872990513],[5.914145922311933,51.071340786752366],[5.859188417072768,51.05148800230104]]]}, 18 | "region": [ "DE-NW" ] 19 | } 20 | }, 21 | "options": { 22 | "auth": { 23 | "type": "AID", 24 | "aid": "4vV1AcH3N511icH" 25 | }, 26 | "client": { 27 | "id": "AVV_AACHEN", 28 | "type": "WEB", 29 | "name": "webapp", 30 | "l": "vs_avv" 31 | }, 32 | "endpoint": "https://auskunft.avv.de/bin/mgate.exe", 33 | "products": [ 34 | { 35 | "id": "regional-train", 36 | "bitmasks": [1], 37 | "name": "Regionalzug" 38 | }, 39 | { 40 | "id": "long-distance-train", 41 | "bitmasks": [2], 42 | "name": "Fernzug" 43 | }, 44 | { 45 | "id": "express-train", 46 | "bitmasks": [4], 47 | "name": "ICE/Thalys" 48 | }, 49 | { 50 | "id": "fernbus", 51 | "bitmasks": [8], 52 | "name": "Fernbus" 53 | }, 54 | { 55 | "id": "suburban-train", 56 | "bitmasks": [16], 57 | "name": "S-Bahn" 58 | }, 59 | { 60 | "id": "subway", 61 | "bitmasks": [32], 62 | "name": "U-Bahn" 63 | }, 64 | { 65 | "id": "tram", 66 | "bitmasks": [64], 67 | "name": "Straßenbahn" 68 | }, 69 | { 70 | "id": "bus", 71 | "bitmasks": [128], 72 | "name": "Bus" 73 | }, 74 | { 75 | "id": "added-bus", 76 | "bitmasks": [256], 77 | "name": "Bus, Verstärkerfahrt" 78 | }, 79 | { 80 | "id": "on-call", 81 | "bitmasks": [512], 82 | "name": "Bedarfsverkehr" 83 | }, 84 | { 85 | "id": "ferry", 86 | "bitmasks": [1024], 87 | "name": "Fähre" 88 | } 89 | ] 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /data/de/bayernfahrplan-efa.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Bayern Fahrplan", 3 | "coverage": { 4 | "realtimeCoverage": { 5 | "area": { 6 | "coordinates": [ 7 | [ [ 8.7591, 50.5296 ], [ 12.872, 50.66655 ], [ 14.3451, 47.6552 ], [ 9.9063, 46.9968 ], [ 8.7591, 50.5296 ] ] 8 | ], 9 | "type": "Polygon" 10 | }, 11 | "region": [ "DE-BY" ] 12 | } 13 | }, 14 | "options": { 15 | "endpoint": "https://mobile.defas-fgi.de/beg/", 16 | "supportedOutputFormats": [ "XML" ], 17 | "xmlOutputFormat": "compact" 18 | }, 19 | "supportedLanguages": [ "de", "en" ], 20 | "type": { 21 | "efa": true 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /data/de/bbnavi-angermuende-otp.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bbnavi Angermünde", 3 | "attribution": { 4 | "homepage": "https://bbnavi.de/", 5 | "mixedLicenses": true, 6 | "name": "bbnavi" 7 | }, 8 | "coverage": { 9 | "realtimeCoverage": { 10 | "area": { 11 | "coordinates": [ [ [ 11.620201, 53.226561 ], [ 11.645078, 53.572514 ], [ 12.761041, 53.743417 ], [ 14.052233, 53.736202 ], [ 14.549204, 53.418155 ], [ 14.815123, 52.35022 ], [ 14.978737, 51.146814 ], [ 12.41293, 51.150547 ], [ 11.987348, 51.477099 ], [ 11.629965, 52.109119 ], [ 11.625445, 52.122478 ], [ 11.620201, 53.226561 ] ] ], 12 | "type": "Polygon" 13 | }, 14 | "region": [ 15 | "DE-BB" 16 | ] 17 | } 18 | }, 19 | "options": { 20 | "endpoint": "https://api.angermuende.bbnavi.de/otp/routers/default/", 21 | "apiVersion": "otp2" 22 | }, 23 | "supportedLanguages": [ "de" ], 24 | "timezone": "Europe/Berlin", 25 | "type": { 26 | "otpGraphQl": true 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /data/de/bvg-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Berliner Verkehrsbetriebe (BVG)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de", 8 | "en" 9 | ], 10 | "timezone": "Europe/Berlin", 11 | "attribution": { 12 | "isProprietary": true, 13 | "name": "Berliner Verkehrsbetriebe", 14 | "homepage": "https://www.bvg.de/" 15 | }, 16 | "coverage": { 17 | "realtimeCoverage": { 18 | "region": ["DE-BE", "DE-BB"] 19 | }, 20 | "regularCoverage": { 21 | "region": ["DE"] 22 | }, 23 | "anyCoverage": { 24 | "region": ["PL", "CZ"] 25 | } 26 | }, 27 | "options": { 28 | "endpoint": "https://bvg-apps-ext.hafas.de/bin/mgate.exe", 29 | "client": { 30 | "type": "WEB", 31 | "id": "VBB", 32 | "v": 10002, 33 | "name": "webapp", 34 | "l": "vs_webapp" 35 | }, 36 | "ext": "BVG.1", 37 | "ver": "1.72", 38 | "auth": { 39 | "type": "AID", 40 | "aid": "dVg4TZbW8anjx9ztPwe2uk4LVRi9wO" 41 | }, 42 | "products": [ 43 | { 44 | "id": "suburban", 45 | "bitmasks": [1], 46 | "name": "S-Bahn" 47 | }, 48 | { 49 | "id": "subway", 50 | "bitmasks": [2], 51 | "name": "U-Bahn" 52 | }, 53 | { 54 | "id": "tram", 55 | "bitmasks": [4], 56 | "name": "Tram" 57 | }, 58 | { 59 | "id": "bus", 60 | "bitmasks": [8], 61 | "name": "Bus" 62 | }, 63 | { 64 | "id": "ferry", 65 | "bitmasks": [16], 66 | "name": "Fähre" 67 | }, 68 | { 69 | "id": "express", 70 | "bitmasks": [32], 71 | "name": "IC/ICE" 72 | }, 73 | { 74 | "id": "regional", 75 | "bitmasks": [64], 76 | "name": "RB/RE" 77 | } 78 | ] 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /data/de/bwegt-efa.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bwegt", 3 | "coverage": { 4 | "realtimeCoverage": { 5 | "area": { 6 | "coordinates": [ 7 | [ [ 8.3124, 49.6365 ], [ 7.2366, 47.4941 ], [ 10.473, 47.5443 ], [ 10.5414, 49.9647 ], [ 8.3124, 49.6365 ] ] 8 | ], 9 | "type": "Polygon" 10 | }, 11 | "region": [ "DE-BW" ] 12 | } 13 | }, 14 | "options": { 15 | "endpoint": "https://www.efa-bw.de/nvbw3L/", 16 | "supportedOutputFormats": [ "XML", "JSON" ], 17 | "xmlOutputFormat": "full" 18 | }, 19 | "supportedLanguages": [ "en", "de" ], 20 | "timezone": "Europe/Berlin", 21 | "type": { 22 | "efa": true 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /data/de/bwegt-trias.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bwegt", 3 | "coverage": { 4 | "realtimeCoverage": { 5 | "area": { 6 | "coordinates": [ 7 | [ [ 8.3124, 49.6365 ], [ 7.2366, 47.4941 ], [ 10.473, 47.5443 ], [ 10.5414, 49.9647 ], [ 8.3124, 49.6365 ] ] 8 | ], 9 | "type": "Polygon" 10 | }, 11 | "region": [ "DE-BW" ] 12 | } 13 | }, 14 | "options": { 15 | "endpoint": "http://efa-bw.de/trias", 16 | "isTestingEndpoint": false, 17 | "triasVersion": 1.1, 18 | "requestContentType": "text/xml", 19 | "requiresSignUp": true, 20 | "requiresContract": false, 21 | "authorizationMethod": "RequestorRef", 22 | "providedServices": ["TripRequest", "StopEventRequest", "LocationInformationRequest"] 23 | }, 24 | "supportedLanguages": [ "en", "de" ], 25 | "timezone": "Europe/Berlin", 26 | "type": { 27 | "trias": true 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /data/de/db-hafas-query.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Deutsche Bahn (DB)", 3 | "type": { 4 | "hafasQuery": true 5 | }, 6 | "supportedLanguages": [ 7 | "en", 8 | "de", 9 | "fr", 10 | "es" 11 | ], 12 | "timezone": "Europe/Berlin", 13 | "attribution": { 14 | "name": "DB Fernverkehr AG", 15 | "homepage": "https://www.bahn.de/", 16 | "isProprietary": true 17 | }, 18 | "coverage": { 19 | "realtimeCoverage": { 20 | "region": ["DE", "LU", "CH", "LI", "AT"] 21 | }, 22 | "regularCoverage": { 23 | "region": ["PL", "CZ", "SK", "HU", "SI", "RO", "BE"] 24 | }, 25 | "anyCoverage": { 26 | "region": ["FI", "UA", "HR", "BG", "IT", "FR", "ES", "PT", "GB", "DK", "SE", "LT", "LV", "RS", "ME", "NO"] 27 | } 28 | }, 29 | "options": { 30 | "endpoint": "https://reiseauskunft.bahn.de/bin/", 31 | "lineModeMap": { 32 | "1": "Long-distance train (ICE)", 33 | "128": "Metro", 34 | "16": "Rapid Transit (S)", 35 | "2": "Long-Distance Train (IC/EC)", 36 | "256": "Tram", 37 | "32": "Bus", 38 | "4": "Local Train (D)", 39 | "512": "Taxi", 40 | "64": "Ferry", 41 | "8": "Local Train (RE/RB)" 42 | }, 43 | "locationIdentifierType": "db", 44 | "standardLocationIdentifierCountries": [ 45 | 51, 46 | 53, 47 | 54, 48 | 55, 49 | 56, 50 | 70, 51 | 71, 52 | 74, 53 | 76, 54 | 80, 55 | 81, 56 | 82, 57 | 83, 58 | 84, 59 | 85, 60 | 86, 61 | 87, 62 | 88 63 | ], 64 | "standardLocationIdentifierType": "ibnr" 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /data/de/db-regio-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Deutsche Bahn (DB)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de", 8 | "en" 9 | ], 10 | "timezone": "Europe/Berlin", 11 | "attribution": { 12 | "name": "Deutsche Bahn AG", 13 | "homepage": "https://bahn.de/", 14 | "isProprietary": true 15 | }, 16 | "coverage": { 17 | "realtimeCoverage": { 18 | "region": ["DE"] 19 | }, 20 | "anyCoverage": { 21 | "region": ["PL", "CZ", "SK", "HU", "SI", "RO", "BE", "UA", "HR", "BG", "IT", "FR", "ES", "PT", "GB", "DK", "SE"] 22 | } 23 | }, 24 | "options": { 25 | "auth": { 26 | "type": "AID", 27 | "aid": "Xd91BNAVkuI6rr6z" 28 | }, 29 | "checksumSalt": "7a374446424e41563048766836715137", 30 | "client": { 31 | "id": "DB-REGIO-BNAV", 32 | "name": "StreckenagentPROD-APPSTORE", 33 | "type": "IPH", 34 | "v": "3000500" 35 | }, 36 | "endpoint": "https://bnav.hafas.de/bin/mgate.exe", 37 | "ext": "DB.R19.12.a", 38 | "version": "1.18", 39 | "products": [ 40 | { 41 | "id": "ice", 42 | "bitmasks": [1], 43 | "name": "ICE" 44 | }, 45 | { 46 | "id": "ic-ec", 47 | "bitmasks": [2], 48 | "name": "IC/EC" 49 | }, 50 | { 51 | "id": "d-zug", 52 | "bitmasks": [4], 53 | "name": "D-Zug" 54 | }, 55 | { 56 | "id": "RE/RB", 57 | "bitmasks": [8], 58 | "name": "RE/RB" 59 | }, 60 | { 61 | "id": "s-bahn", 62 | "bitmasks": [16], 63 | "name": "S-Bahn" 64 | }, 65 | { 66 | "id": "bus", 67 | "bitmasks": [32], 68 | "name": "Bus" 69 | }, 70 | { 71 | "id": "faehre", 72 | "bitmasks": [64], 73 | "name": "Fähre" 74 | }, 75 | { 76 | "id": "u-bahn", 77 | "bitmasks": [128], 78 | "name": "U-Bahn" 79 | }, 80 | { 81 | "id": "strassenbahn", 82 | "bitmasks": [256], 83 | "name": "Straßenbahn" 84 | } 85 | ], 86 | "locationIdentifierType": "db", 87 | "standardLocationIdentifierType": "ibnr" 88 | } 89 | } 90 | -------------------------------------------------------------------------------- /data/de/db-sbahn-muenchen-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "S-Bahn München", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "en", 8 | "de", 9 | "fr", 10 | "es" 11 | ], 12 | "timezone": "Europe/Berlin", 13 | "attribution": { 14 | "name": "DB Regio AG (S-Bahn München)", 15 | "homepage": "https://www.s-bahn-muenchen.de/", 16 | "isProprietary": true 17 | }, 18 | "coverage": { 19 | "realtimeCoverage": { 20 | "area": {"type":"Polygon","coordinates":[[[11.354,48.158],[11.3834,48.1436],[11.3916,48.1214],[11.4303,48.1328],[11.4582,48.1263],[11.4647,48.0815],[11.5077,48.0572],[11.5364,48.0719],[11.5491,48.0644],[11.5844,48.088],[11.6887,48.0735],[11.6891,48.0877],[11.7191,48.1034],[11.715,48.119],[11.7296,48.1368],[11.7119,48.1524],[11.6859,48.1497],[11.7028,48.1739],[11.6963,48.186],[11.6376,48.1811],[11.6574,48.2141],[11.643,48.2296],[11.6044,48.2323],[11.5942,48.218],[11.5852,48.2326],[11.5502,48.2314],[11.5012,48.2526],[11.4848,48.2476],[11.4814,48.2257],[11.4525,48.2127],[11.3858,48.2034],[11.3849,48.184],[11.3657,48.181],[11.354,48.158]]]}, 21 | "region": [ "DE-BY" ] 22 | }, 23 | "regularCoverage": { 24 | "area": {"type":"Polygon","coordinates":[[[10.9863,48.176],[10.9998,48.1522],[11.0371,48.144],[11.0523,48.1227],[11.0507,48.1001],[11.0876,48.0834],[11.1278,48.0903],[11.1294,48.0152],[11.1629,47.9922],[11.1436,47.9752],[11.1442,47.9522],[11.2206,47.9214],[11.184,47.9022],[11.1787,47.8811],[11.2593,47.8705],[11.2805,47.879],[11.2948,47.8587],[11.2847,47.8296],[11.331,47.8156],[11.3445,47.8271],[11.3389,47.9227],[11.3995,47.9157],[11.4312,47.972],[11.4478,47.9687],[11.452,47.9524],[11.4911,47.9679],[11.515,47.9453],[11.5637,47.9522],[11.6129,47.9156],[11.6615,47.9186],[11.6986,47.9339],[11.7152,47.9114],[11.7598,47.9183],[11.7738,47.938],[11.7853,47.925],[11.8269,47.9191],[11.8681,47.9511],[11.9315,47.9273],[11.9531,47.9426],[11.9368,47.9882],[12.0002,47.9496],[12.031,47.9664],[12.0769,47.9721],[12.0766,47.984],[12.1068,47.9948],[12.1046,48.013],[12.0861,48.029],[12.0853,48.0864],[12.074,48.0945],[12.0868,48.0971],[12.0811,48.1087],[12.0946,48.1177],[12.0894,48.13],[12.0554,48.1326],[12.046,48.1495],[12.1839,48.1968],[12.1904,48.2126],[12.2069,48.1984],[12.2372,48.1991],[12.226,48.2362],[12.2413,48.2518],[12.2299,48.2666],[12.26,48.2862],[12.2619,48.3072],[12.2386,48.3513],[12.2022,48.3681],[12.2024,48.3827],[12.177,48.402],[12.1679,48.4255],[12.0806,48.4332],[12.0291,48.4226],[12.0217,48.446],[12.0029,48.4574],[12.0163,48.4977],[11.9699,48.5012],[11.9826,48.5116],[11.971,48.5262],[11.9795,48.5513],[11.9645,48.5822],[11.8867,48.5931],[11.8703,48.5855],[11.8009,48.6176],[11.7789,48.6183],[11.7661,48.6046],[11.7056,48.6208],[11.6899,48.6122],[11.6956,48.5875],[11.6518,48.5645],[11.6534,48.5034],[11.6353,48.4989],[11.6164,48.4683],[11.5585,48.4952],[11.5032,48.4464],[11.4417,48.4357],[11.416,48.4144],[11.3901,48.441],[11.3411,48.4599],[11.2622,48.4516],[11.1739,48.4209],[11.1905,48.3888],[11.1593,48.37],[11.1619,48.334],[11.1167,48.3191],[11.1033,48.2982],[11.1126,48.2745],[11.104,48.2663],[11.0733,48.2858],[11.0545,48.2756],[11.0578,48.2616],[11.0386,48.258],[11.0305,48.229],[11.0528,48.2049],[10.9863,48.176]]]}, 25 | "region": [ "DE-BY" ] 26 | } 27 | }, 28 | "options": { 29 | "auth": { 30 | "type": "AID", 31 | "aid": "d491MVVhz9ZZts23" 32 | }, 33 | "checksumSalt": "ggnvMVV8RTt67gh1", 34 | "endpoint": "https://s-bahn-muenchen.hafas.de/bin/540/mgate.exe", 35 | "client": { 36 | "type": "IPH", 37 | "id": "DB-REGIO-MVV", 38 | "name": "MuenchenNavigator", 39 | "v": "5010100" 40 | }, 41 | "ext": "DB.R15.12.a", 42 | "ver": "1.21", 43 | "products": [ 44 | { 45 | "id": "ice", 46 | "bitmasks": [1], 47 | "name": "InterCityExpress" 48 | }, 49 | { 50 | "id": "ic-ec", 51 | "bitmasks": [2], 52 | "name": "InterCity/EuroCity" 53 | }, 54 | { 55 | "id": "ir-d", 56 | "bitmasks": [4], 57 | "name": "Interregio/Schnellzug" 58 | }, 59 | { 60 | "id": "region", 61 | "bitmasks": [8], 62 | "name": "Regio- und Nahverkehr" 63 | }, 64 | { 65 | "id": "sbahn", 66 | "bitmasks": [16], 67 | "name": "S-Bahn" 68 | }, 69 | { 70 | "id": "bus", 71 | "bitmasks": [32], 72 | "name": "Bus" 73 | }, 74 | { 75 | "id": "ubahn", 76 | "bitmasks": [128], 77 | "name": "U-Bahn" 78 | }, 79 | { 80 | "id": "tram", 81 | "bitmasks": [256], 82 | "name": "Straßenbahn" 83 | }, 84 | { 85 | "id": "on-call", 86 | "bitmasks": [512], 87 | "name": "Anrufsammeltaxi" 88 | } 89 | ] 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /data/de/db-smartrbl-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Deutsche Bahn (DB)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de", 8 | "en" 9 | ], 10 | "timezone": "Europe/Berlin", 11 | "attribution": { 12 | "name": "Deutsche Bahn AG", 13 | "homepage": "https://bahn.de/", 14 | "isProprietary": true 15 | }, 16 | "coverage": { 17 | "realtimeCoverage": { 18 | "region": ["DE"] 19 | } 20 | }, 21 | "options": { 22 | "auth": { 23 | "type": "AID", 24 | "aid": "izfpmpj8tnh6acye" 25 | }, 26 | "client": { 27 | "id": "HAFAS", 28 | "name": "Test-Client", 29 | "type": "WEB", 30 | "v": "1.0.0" 31 | }, 32 | "endpoint": "https://db-smartrbl.hafas.de/mct/mgate", 33 | "version": "1.18", 34 | "products": [ 35 | { 36 | "id": "ice", 37 | "bitmasks": [1], 38 | "name": "ICE" 39 | }, 40 | { 41 | "id": "ic-ec", 42 | "bitmasks": [2], 43 | "name": "IC/EC" 44 | }, 45 | { 46 | "id": "d-zug", 47 | "bitmasks": [4], 48 | "name": "D-Zug" 49 | }, 50 | { 51 | "id": "RE/RB", 52 | "bitmasks": [8], 53 | "name": "RE/RB" 54 | }, 55 | { 56 | "id": "s-bahn", 57 | "bitmasks": [16], 58 | "name": "S-Bahn" 59 | } 60 | ], 61 | "locationIdentifierType": "db", 62 | "standardLocationIdentifierType": "ibnr" 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /data/de/gvh-efa.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Großraum-Verkehr Hannover (GVH)", 3 | "coverage": { 4 | "realtimeCoverage": { 5 | "area": {"type":"Polygon","coordinates":[[[9.322671,52.406027],[9.314335,52.417756],[9.292568,52.416543],[9.283495,52.421775],[9.273693,52.420236],[9.259801,52.424207],[9.258173,52.428608],[9.280912,52.434005],[9.280282,52.440548],[9.267594,52.45126],[9.280311,52.458607],[9.270468,52.464897],[9.249891,52.464282],[9.239057,52.469837],[9.242541,52.476011],[9.257383,52.472848],[9.267352,52.476116],[9.260383,52.489125],[9.266358,52.490829],[9.261134,52.503593],[9.268741,52.507587],[9.25965,52.508738],[9.255726,52.517354],[9.248275,52.518081],[9.238688,52.529893],[9.276126,52.547239],[9.318086,52.555245],[9.340315,52.553924],[9.339311,52.557086],[9.347501,52.558716],[9.351426,52.555196],[9.369933,52.561706],[9.37266,52.569105],[9.346479,52.578889],[9.343129,52.581663],[9.345581,52.585384],[9.340716,52.586793],[9.346419,52.591213],[9.341646,52.592482],[9.342706,52.602374],[9.350119,52.601947],[9.354531,52.608213],[9.391018,52.611371],[9.390638,52.618116],[9.425558,52.617038],[9.438936,52.623557],[9.442112,52.632706],[9.454466,52.637732],[9.491447,52.63102],[9.494896,52.634825],[9.504757,52.626246],[9.522889,52.623056],[9.520189,52.62653],[9.531648,52.629852],[9.534981,52.634963],[9.53783,52.645097],[9.534142,52.66253],[9.542527,52.663279],[9.537737,52.665548],[9.539609,52.671415],[9.570348,52.676471],[9.591473,52.675487],[9.587593,52.673793],[9.585249,52.664541],[9.594403,52.663823],[9.589503,52.658226],[9.602836,52.654551],[9.599165,52.646744],[9.620249,52.645397],[9.62143,52.638905],[9.642156,52.633883],[9.634858,52.625494],[9.640262,52.622513],[9.646068,52.608299],[9.643375,52.606035],[9.65122,52.606924],[9.667573,52.600208],[9.698829,52.600105],[9.713611,52.61182],[9.705984,52.619738],[9.713365,52.623564],[9.711594,52.634082],[9.727388,52.633614],[9.734402,52.638093],[9.740185,52.631275],[9.768167,52.629426],[9.775596,52.622144],[9.793253,52.618907],[9.802043,52.614685],[9.800224,52.609775],[9.804535,52.606921],[9.835328,52.60533],[9.822969,52.600477],[9.830808,52.595497],[9.838034,52.597337],[9.847796,52.607911],[9.856133,52.603458],[9.888413,52.603349],[9.880249,52.596933],[9.876935,52.590716],[9.880686,52.589903],[9.907567,52.597391],[9.912503,52.592092],[9.944935,52.586912],[9.952883,52.587449],[9.951604,52.590959],[9.966219,52.590281],[9.969988,52.584957],[9.967125,52.578021],[9.979535,52.577164],[9.980461,52.581403],[9.984688,52.575204],[9.996578,52.576638],[9.989923,52.575393],[9.990569,52.571038],[9.985202,52.571825],[9.98214,52.567027],[9.984126,52.562036],[9.965072,52.553612],[9.966466,52.550206],[9.994856,52.544125],[9.98782,52.536206],[10.0217,52.536763],[10.03407,52.540474],[10.040774,52.535993],[10.059893,52.551806],[10.08115,52.555956],[10.090489,52.562022],[10.111972,52.554638],[10.126649,52.544904],[10.149119,52.538805],[10.141466,52.536977],[10.121203,52.509105],[10.134897,52.498875],[10.141507,52.498035],[10.15644,52.505129],[10.172,52.504249],[10.178606,52.513554],[10.199288,52.507534],[10.201199,52.509815],[10.223391,52.498606],[10.267403,52.488287],[10.271157,52.49374],[10.26764,52.501137],[10.272668,52.509477],[10.287503,52.506621],[10.278482,52.492856],[10.280384,52.489821],[10.271537,52.483526],[10.281499,52.474815],[10.289906,52.473265],[10.294999,52.46619],[10.293019,52.46362],[10.303234,52.45864],[10.299378,52.45568],[10.293703,52.461997],[10.288431,52.462001],[10.286516,52.458682],[10.289772,52.457798],[10.282623,52.453201],[10.294111,52.448613],[10.281599,52.44812],[10.25228,52.436174],[10.254683,52.423742],[10.250267,52.41977],[10.233453,52.427053],[10.20773,52.429155],[10.201955,52.426075],[10.197637,52.407086],[10.180759,52.39604],[10.166644,52.395231],[10.161043,52.399119],[10.130335,52.393928],[10.131293,52.383507],[10.142658,52.380909],[10.143938,52.369815],[10.156299,52.360844],[10.135784,52.357819],[10.136066,52.353645],[10.131122,52.352395],[10.125574,52.354632],[10.133278,52.350015],[10.136436,52.351978],[10.141131,52.351869],[10.13462,52.342969],[10.140329,52.339626],[10.125904,52.337823],[10.132425,52.328582],[10.126128,52.32806],[10.125566,52.322484],[10.118398,52.322143],[10.113465,52.300321],[10.070652,52.298367],[10.069876,52.304096],[10.06111,52.301485],[10.061206,52.294541],[10.039998,52.293716],[10.034127,52.291408],[10.034587,52.283702],[10.017615,52.279988],[9.996119,52.283563],[10.004599,52.290286],[10.006905,52.295409],[10.003444,52.29687],[9.998011,52.289979],[9.972207,52.293851],[9.971122,52.28553],[9.955754,52.286694],[9.951207,52.283673],[9.952007,52.274175],[9.948747,52.27507],[9.948599,52.282592],[9.912906,52.280658],[9.914137,52.267231],[9.90443,52.267527],[9.899811,52.2615],[9.876511,52.262531],[9.872338,52.270245],[9.84852,52.26565],[9.861104,52.255809],[9.860094,52.235569],[9.854217,52.239391],[9.84799,52.23807],[9.84375,52.230787],[9.84026,52.23213],[9.848524,52.242315],[9.848432,52.251256],[9.839458,52.262748],[9.832151,52.265729],[9.791036,52.251526],[9.790794,52.243239],[9.775755,52.239406],[9.776002,52.235014],[9.768918,52.231216],[9.782364,52.232828],[9.790437,52.228867],[9.789223,52.233667],[9.799679,52.2349],[9.80075,52.229703],[9.817214,52.228622],[9.814298,52.214756],[9.817915,52.212998],[9.803396,52.207054],[9.805505,52.20049],[9.802364,52.194709],[9.808036,52.192984],[9.807847,52.192152],[9.802771,52.193169],[9.802513,52.187909],[9.791502,52.190772],[9.792879,52.193096],[9.781782,52.190996],[9.784168,52.187904],[9.777335,52.178037],[9.784246,52.174465],[9.763595,52.170334],[9.762624,52.167312],[9.745139,52.16395],[9.726755,52.168501],[9.720122,52.158191],[9.692988,52.14492],[9.693638,52.135855],[9.67279,52.132489],[9.674697,52.129316],[9.671608,52.128058],[9.660589,52.132891],[9.628118,52.130693],[9.613526,52.13456],[9.613197,52.139097],[9.595921,52.144138],[9.556293,52.167226],[9.525572,52.159796],[9.504368,52.161016],[9.500235,52.168077],[9.496254,52.166683],[9.494244,52.17841],[9.504372,52.187338],[9.506745,52.197157],[9.491648,52.208628],[9.507506,52.204769],[9.516279,52.212187],[9.506853,52.213742],[9.503683,52.222601],[9.507382,52.221772],[9.497132,52.238779],[9.464351,52.255173],[9.455334,52.251637],[9.441537,52.253637],[9.43321,52.260336],[9.443823,52.274939],[9.423723,52.281104],[9.405169,52.299508],[9.396258,52.299027],[9.395208,52.305456],[9.404928,52.30409],[9.406267,52.311645],[9.389383,52.316372],[9.38963,52.321967],[9.363768,52.322576],[9.344728,52.333726],[9.328877,52.32833],[9.331753,52.33819],[9.327151,52.33893],[9.325585,52.353831],[9.322343,52.354205],[9.325041,52.36165],[9.320681,52.368762],[9.329157,52.370874],[9.321006,52.374763],[9.315553,52.384156],[9.315769,52.388186],[9.320354,52.388582],[9.317217,52.397215],[9.322671,52.406027]]]}, 6 | "region": [ "DE-NI" ] 7 | } 8 | }, 9 | "options": { 10 | "endpoint": "https://app.efa.de/mdv_server/app_gvh/", 11 | "supportedOutputFormats": [ "XML", "JSON" ], 12 | "xmlOutputFormat": "full" 13 | }, 14 | "supportedLanguages": [ "de", "en" ], 15 | "type": { 16 | "efa": true 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /data/de/gvh-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Großraum-Verkehr Hannover (GVH)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de" 8 | ], 9 | "timezone": "Europe/Berlin", 10 | "attribution": { 11 | "name": "Großraum-Verkehr Hannover GmbH", 12 | "homepage": "https://gvh.de/", 13 | "isProprietary": true 14 | }, 15 | "coverage": { 16 | "regularCoverage": { 17 | "area": {"type":"Polygon","coordinates":[[[10.272216796875,52.45684622754481],[10.191192626953125,52.55965567958739],[10.004425048828125,52.59387206955919],[9.658355712890625,52.6063835896964],[9.479827880859373,52.55422867744885],[9.398460388183594,52.559029521292366],[9.310226440429686,52.54024061643999],[9.221305847167969,52.49135181042774],[9.210662841796875,52.449941863962756],[9.336318969726562,52.353796172573944],[9.347991943359375,52.321491189456374],[9.40704345703125,52.31645452105213],[9.402236938476562,52.2904226012976],[9.42901611328125,52.251346020673644],[9.494247436523438,52.20550273384939],[9.494247436523438,52.16150760590459],[9.57183837890625,52.13791335486421],[9.655609130859375,52.1457092672272],[9.732170104980469,52.15624211595189],[9.804267883300781,52.21034164464962],[9.819374084472656,52.242307284952425],[9.837913513183594,52.2416766067668],[9.835510253906248,52.21307644807518],[9.86091613769531,52.190351431892886],[9.891815185546875,52.20865860501437],[9.916534423828125,52.23421290096567],[9.948635101318358,52.26290451050652],[10.03326416015625,52.27981650601166],[10.118064880371094,52.29777187089594],[10.254020690917969,52.430164288700965],[10.274620056152344,52.450046483608475],[10.272216796875,52.45684622754481]]]}, 18 | "region": ["DE-NI"] 19 | }, 20 | "realtimeCoverage": { 21 | "area": {"type":"Polygon","coordinates":[[[10.272216796875,52.45684622754481],[10.191192626953125,52.55965567958739],[10.004425048828125,52.59387206955919],[9.658355712890625,52.6063835896964],[9.479827880859373,52.55422867744885],[9.398460388183594,52.559029521292366],[9.310226440429686,52.54024061643999],[9.221305847167969,52.49135181042774],[9.210662841796875,52.449941863962756],[9.336318969726562,52.353796172573944],[9.347991943359375,52.321491189456374],[9.40704345703125,52.31645452105213],[9.402236938476562,52.2904226012976],[9.42901611328125,52.251346020673644],[9.494247436523438,52.20550273384939],[9.494247436523438,52.16150760590459],[9.57183837890625,52.13791335486421],[9.655609130859375,52.1457092672272],[9.732170104980469,52.15624211595189],[9.804267883300781,52.21034164464962],[9.819374084472656,52.242307284952425],[9.837913513183594,52.2416766067668],[9.835510253906248,52.21307644807518],[9.86091613769531,52.190351431892886],[9.891815185546875,52.20865860501437],[9.916534423828125,52.23421290096567],[9.948635101318358,52.26290451050652],[10.03326416015625,52.27981650601166],[10.118064880371094,52.29777187089594],[10.254020690917969,52.430164288700965],[10.274620056152344,52.450046483608475],[10.272216796875,52.45684622754481]]]} 22 | } 23 | }, 24 | "options": { 25 | "auth": { 26 | "type": "AID", 27 | "aid": "IKSEvZ1SsVdfIRSK" 28 | }, 29 | "client": { 30 | "id": "HAFAS", 31 | "type": "WEB", 32 | "name": "webapp", 33 | "l": "vs_webapp" 34 | }, 35 | "endpoint": "https://gvh.hafas.de/hamm", 36 | "products": [ 37 | { 38 | "id": "ice", 39 | "bitmasks": [1], 40 | "name": "ICE" 41 | }, 42 | { 43 | "id": "ic-ec", 44 | "bitmasks": [2, 4], 45 | "name": "IC/EC" 46 | }, 47 | { 48 | "id": "re-rb", 49 | "bitmasks": [8], 50 | "name": "RE/RB" 51 | }, 52 | { 53 | "id": "s-bahn", 54 | "bitmasks": [16], 55 | "name": "S-Bahn" 56 | }, 57 | { 58 | "id": "stadtbahn", 59 | "bitmasks": [256], 60 | "name": "Stadtbahn" 61 | }, 62 | { 63 | "id": "bus", 64 | "bitmasks": [32], 65 | "name": "Bus" 66 | }, 67 | { 68 | "id": "on-demand", 69 | "bitmasks": [512], 70 | "name": "sprinti/AST/Ruftaxi/Rufbus" 71 | } 72 | ] 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /data/de/hvv-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Hamburger Verkehrsverbund (HVV)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de", 8 | "en" 9 | ], 10 | "timezone": "Europe/Berlin", 11 | "attribution": { 12 | "name": "Hamburger Verkehrsverbund GmbH", 13 | "homepage": "https://www.hvv.de/", 14 | "isProprietary": true 15 | }, 16 | "coverage": { 17 | "realtimeCoverage": { 18 | "area": {"type":"Polygon","coordinates":[[[9.47831,53.70767],[9.52053,53.6617],[9.54444,53.61338],[9.67259,53.56058],[9.76598,53.55012],[9.75633,53.50697],[9.77722,53.48883],[9.79374,53.48964],[9.79334,53.46711],[9.85938,53.42536],[9.90303,53.44989],[9.91344,53.43697],[9.89919,53.41637],[9.90714,53.41013],[9.95255,53.42348],[9.98756,53.41089],[10.05104,53.44342],[10.05237,53.45739],[10.16162,53.39549],[10.2344,53.3908],[10.26423,53.41478],[10.32359,53.43239],[10.33268,53.44894],[10.24548,53.48572],[10.21455,53.52369],[10.1698,53.5245],[10.17592,53.53887],[10.15998,53.5427],[10.16806,53.56099],[10.15925,53.57512],[10.2076,53.58152],[10.19933,53.61274],[10.22952,53.63341],[10.20293,53.64133],[10.2025,53.65697],[10.15805,53.67991],[10.16709,53.7029],[10.18855,53.70715],[10.19992,53.73358],[10.16328,53.74384],[10.11818,53.72033],[10.07848,53.72443],[10.06194,53.71219],[10.06766,53.70171],[10.05658,53.6828],[9.99709,53.68576],[9.97953,53.65379],[9.95119,53.65593],[9.94428,53.67891],[9.98994,53.76172],[9.96947,53.77415],[9.90502,53.75505],[9.90598,53.77564],[9.87824,53.78455],[9.89114,53.80159],[9.88638,53.81509],[9.85402,53.8344],[9.83137,53.82991],[9.83105,53.84792],[9.76999,53.87557],[9.75532,53.89673],[9.64906,53.88866],[9.63816,53.87953],[9.64287,53.86735],[9.66976,53.84684],[9.63861,53.77844],[9.5579,53.75395],[9.56894,53.72233],[9.47831,53.70767]]]}, 19 | "region": [ "DE-HH", "DE-SH" ] 20 | } 21 | }, 22 | "options": { 23 | "auth": { 24 | "type": "AID", 25 | "aid": "andcXUmC9Mq6hjrwDIGd2l3oiaMrTUzyH" 26 | }, 27 | "checksumSalt": "pqjM3iKEGOAhYbX76k9R5zutv", 28 | "endpoint": "https://hvv-app.hafas.de/bin/mgate.exe", 29 | "client": { 30 | "type": "AND", 31 | "id": "HVV", 32 | "name": "HVVPROD_ADHOC", 33 | "v": "4020100" 34 | }, 35 | "ext": "HVV.1", 36 | "ver": "1.16", 37 | "products": [ 38 | { 39 | "id": "subway", 40 | "bitmasks": [1], 41 | "name": "U-Bahn" 42 | }, 43 | { 44 | "id": "suburban", 45 | "bitmasks": [2], 46 | "name": "S-Bahn" 47 | }, 48 | { 49 | "id": "akn", 50 | "bitmasks": [4], 51 | "name": "AKN" 52 | }, 53 | { 54 | "id": "regional-express-train", 55 | "bitmasks": [8], 56 | "name": "RegionalExpress" 57 | }, 58 | { 59 | "id": "regional-train", 60 | "bitmasks": [16], 61 | "name": "Regionalbahn" 62 | }, 63 | { 64 | "id": "ferry", 65 | "bitmasks": [32], 66 | "name": "Fähre" 67 | }, 68 | { 69 | "id": "bus", 70 | "bitmasks": [128], 71 | "name": "Bus" 72 | }, 73 | { 74 | "id": "express-bus", 75 | "bitmasks": [256], 76 | "name": "Schnellbus" 77 | }, 78 | { 79 | "id": "anruf-sammel-taxi", 80 | "bitmasks": [1024], 81 | "name": "Anruf-Sammel-Taxi" 82 | }, 83 | { 84 | "id": "long-distance-train", 85 | "bitmasks": [4096, 64], 86 | "name": "Fernzug" 87 | }, 88 | { 89 | "id": "long-distance-bus", 90 | "bitmasks": [2048], 91 | "name": "Fernbus" 92 | } 93 | ] 94 | } 95 | } 96 | -------------------------------------------------------------------------------- /data/de/invg-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Ingolstädter Verkehrsgesellschaft (INVG)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de", 8 | "en", 9 | "fr", 10 | "it" 11 | ], 12 | "timezone": "Europe/Berlin", 13 | "attribution": { 14 | "name": "Ingolstädter Verkehrsgesellschaft", 15 | "homepage": "https://www.invg.de/", 16 | "isProprietary": true 17 | }, 18 | "coverage": { 19 | "realtimeCoverage": { 20 | "area": {"type":"Polygon","coordinates":[[[10.93036,48.86285],[10.95711,48.85443],[10.96663,48.83775],[10.98829,48.8366],[10.997,48.82452],[10.97309,48.81355],[10.94857,48.81819],[10.94073,48.81006],[10.95549,48.79278],[10.97634,48.78801],[10.95841,48.77466],[10.98967,48.75372],[10.97475,48.73555],[10.98959,48.73019],[10.97306,48.72536],[10.98172,48.70004],[10.97669,48.69256],[11.00918,48.65024],[11.02667,48.64525],[11.03187,48.63092],[11.01644,48.62568],[11.01755,48.61742],[11.04956,48.59646],[11.11391,48.59942],[11.12286,48.58767],[11.15124,48.58856],[11.1554,48.57517],[11.12575,48.56579],[11.12203,48.55066],[11.19925,48.52452],[11.20832,48.49248],[11.24193,48.48176],[11.25266,48.46426],[11.26974,48.4594],[11.29241,48.46837],[11.29797,48.4489],[11.32635,48.4437],[11.34367,48.45047],[11.35373,48.43953],[11.37858,48.43506],[11.37504,48.4217],[11.39466,48.4182],[11.40979,48.40245],[11.44827,48.41012],[11.45144,48.42812],[11.51345,48.43843],[11.5389,48.45376],[11.54037,48.4661],[11.56296,48.48607],[11.60226,48.46162],[11.63114,48.46015],[11.64755,48.48772],[11.66951,48.49731],[11.66562,48.53874],[11.67574,48.55191],[11.66674,48.56012],[11.6807,48.56113],[11.68232,48.57087],[11.71428,48.58586],[11.70498,48.60905],[11.71338,48.61769],[11.70272,48.62919],[11.72004,48.64854],[11.6958,48.66533],[11.7012,48.68598],[11.66307,48.70151],[11.67719,48.72348],[11.6637,48.73206],[11.6625,48.7418],[11.72061,48.75279],[11.70599,48.77818],[11.72149,48.7741],[11.7431,48.78998],[11.73951,48.80537],[11.74681,48.81828],[11.71482,48.81821],[11.70996,48.83045],[11.72652,48.83564],[11.72586,48.86474],[11.75089,48.87555],[11.74462,48.89276],[11.724,48.89928],[11.7353,48.93093],[11.71718,48.9363],[11.70663,48.92256],[11.69,48.93747],[11.64242,48.93599],[11.63834,48.9492],[11.60257,48.95545],[11.58167,48.99195],[11.56415,48.99422],[11.55829,49.0078],[11.54795,49.00945],[11.54642,49.02903],[11.52705,49.03411],[11.53922,49.03849],[11.55144,49.06276],[11.54106,49.07389],[11.50431,49.08135],[11.48393,49.06839],[11.43913,49.06948],[11.38944,49.09187],[11.37868,49.07796],[11.39712,49.05741],[11.40058,49.03671],[11.38249,49.03465],[11.3668,49.02013],[11.34185,49.02328],[11.32605,49.0041],[11.29945,49.02071],[11.28784,49.01899],[11.28806,49.01044],[11.27341,49.01551],[11.27634,49.02883],[11.26074,49.04072],[11.25894,49.05667],[11.19929,49.05161],[11.1745,49.03006],[11.17568,49.02221],[11.15368,49.01402],[11.15112,48.99747],[11.13665,48.99268],[11.14094,48.98369],[11.133,48.96995],[11.09929,48.97051],[11.0649,48.95641],[11.0441,48.93201],[11.06422,48.91757],[11.02757,48.91201],[11.03058,48.90106],[11.02033,48.88981],[10.97153,48.88289],[10.956,48.86632],[10.93036,48.86285]],[[11.25174,48.52608],[11.29558,48.54363],[11.32228,48.54618],[11.33433,48.5371],[11.30737,48.5177],[11.30829,48.48818],[11.29821,48.50359],[11.26125,48.51505],[11.25174,48.52608]]]}, 21 | "region": [ "DE-BY" ] 22 | } 23 | }, 24 | "options": { 25 | "endpoint": "https://fpa.invg.de/bin/mgate.exe", 26 | "client": { 27 | "type": "IPH", 28 | "id": "INVG", 29 | "name": "invgPROD-APPSTORE-LIVE", 30 | "v": "1040000" 31 | }, 32 | "ver": "1.16", 33 | "auth": { 34 | "type": "AID", 35 | "aid": "GITvwi3BGOmTQ2a5" 36 | }, 37 | "products": [ 38 | { 39 | "id": "bus", 40 | "bitmasks": [1, 16], 41 | "name": "Bus" 42 | }, 43 | { 44 | "id": "express-train", 45 | "bitmasks": [2], 46 | "name": "High-speed train" 47 | }, 48 | { 49 | "id": "regional-train", 50 | "bitmasks": [4], 51 | "name": "Regional train" 52 | }, 53 | { 54 | "id": "local-train", 55 | "bitmasks": [8], 56 | "name": "Nahverkehrszug" 57 | }, 58 | { 59 | "id": "ferry", 60 | "bitmasks": [32], 61 | "name": "Ferry" 62 | }, 63 | { 64 | "id": "subway", 65 | "bitmasks": [64], 66 | "name": "Subway" 67 | }, 68 | { 69 | "id": "tram", 70 | "bitmasks": [128], 71 | "name": "Tram" 72 | }, 73 | { 74 | "id": "on-demand", 75 | "bitmasks": [256], 76 | "name": "On-demand traffic" 77 | } 78 | ] 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /data/de/kvb-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Kölner Verkehrs-Betriebe (KVB)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de" 8 | ], 9 | "timezone": "Europe/Berlin", 10 | "attribution": { 11 | "name": "Kölner Verkehrs-Betriebe AG", 12 | "homepage": "https://kvb.koeln/", 13 | "isProprietary": true 14 | }, 15 | "coverage": { 16 | "realtimeCoverage": { 17 | "area": { 18 | "type":"Polygon", 19 | "coordinates":[[[6.92962,51.02714],[6.83074,50.99474],[6.80740,50.92597],[6.85684,50.88007],[6.97425,50.83543],[7.09373,50.87141],[7.11845,50.92424],[7.10609,50.97615],[7.05253,51.01893],[6.92962,51.02714]]] 20 | } 21 | } 22 | }, 23 | "options": { 24 | "auth": { 25 | "type": "AID", 26 | "aid": "Rt6foY5zcTTRXMQs" 27 | }, 28 | "client": { 29 | "id": "HAFAS", 30 | "type": "WEB", 31 | "name": "webapp", 32 | "l": "vs_webapp", 33 | "v": "154" 34 | }, 35 | "ver": "1.58", 36 | "endpoint": "https://auskunft.kvb.koeln/gate", 37 | "products": [ 38 | { 39 | "id": "stadtbahn", 40 | "bitmasks": [2], 41 | "name": "Stadtbahn" 42 | }, 43 | { 44 | "id": "bus", 45 | "bitmasks": [8], 46 | "name": "Bus" 47 | }, 48 | { 49 | "id": "taxibus", 50 | "bitmasks": [256], 51 | "name": "Taxibus" 52 | }, 53 | { 54 | "id": "s-bahn", 55 | "bitmasks": [1], 56 | "name": "S-Bahn" 57 | }, 58 | { 59 | "id": "regionalverkehr", 60 | "bitmasks": [16], 61 | "name": "Regionalverkehr" 62 | }, 63 | { 64 | "id": "fernverkehr", 65 | "bitmasks": [32], 66 | "name": "Fernverkehr" 67 | } 68 | ] 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /data/de/nahsh-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Nahverkehrsverbund Schleswig-Holstein (NAH.SH)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de" 8 | ], 9 | "timezone": "Europe/Berlin", 10 | "attribution": { 11 | "name": "Nahverkehrsverbund Schleswig-Holstein GmbH", 12 | "homepage": "https://www.nah.sh/", 13 | "isProprietary": true 14 | }, 15 | "coverage": { 16 | "realtimeCoverage": { 17 | "area": {"type":"Polygon","coordinates":[[[7.51348,54.19582],[7.52682,54.13879],[7.56686,54.08601],[7.63597,54.03071],[7.72569,53.98987],[7.8673,54.01829],[8.49748,54.02396],[8.76252,53.96096],[8.80734,53.90242],[8.99377,53.86812],[9.03776,53.87652],[9.19939,53.87556],[9.28603,53.85944],[9.31385,53.84776],[9.35247,53.81532],[9.42724,53.72935],[9.49602,53.69431],[9.54444,53.61338],[9.70223,53.5548],[9.73668,53.5554],[9.74997,53.57716],[9.75131,53.59694],[9.76162,53.60007],[9.7665,53.61225],[9.7836,53.60716],[9.78514,53.59867],[9.81157,53.58276],[9.83953,53.58349],[9.89525,53.62016],[9.91328,53.6483],[9.98963,53.64435],[10.0021,53.67647],[10.07334,53.67573],[10.08636,53.71551],[10.12314,53.70882],[10.16924,53.73408],[10.18396,53.72341],[10.15057,53.70696],[10.15117,53.69269],[10.13244,53.67977],[10.18759,53.65155],[10.18357,53.63568],[10.20904,53.62972],[10.18173,53.61461],[10.1869,53.58999],[10.15885,53.58991],[10.1453,53.57936],[10.14028,53.5635],[10.15255,53.55769],[10.14087,53.54585],[10.14532,53.53323],[10.15562,53.53152],[10.15624,53.51984],[10.1853,53.50727],[10.20692,53.51172],[10.21135,53.49744],[10.22716,53.49127],[10.23213,53.48017],[10.25761,53.47013],[10.30278,53.43804],[10.30206,53.4307],[10.3234,53.42205],[10.37051,53.42124],[10.49355,53.37093],[10.57857,53.35532],[10.60023,53.36046],[10.60573,53.37407],[10.62363,53.38248],[10.62724,53.42209],[10.64071,53.45102],[10.65501,53.45669],[10.69659,53.45093],[10.70768,53.47299],[10.76,53.47956],[10.78349,53.49233],[10.79208,53.50681],[10.82895,53.51035],[10.82606,53.53183],[10.83964,53.54257],[10.83322,53.56987],[10.86271,53.56006],[10.91607,53.56857],[10.93171,53.58436],[10.92659,53.59711],[10.93665,53.62633],[10.95981,53.64622],[10.96219,53.65952],[10.94867,53.66645],[10.94933,53.68581],[10.92723,53.70295],[10.82879,53.71548],[10.81575,53.72519],[10.81274,53.74161],[10.76578,53.75294],[10.78105,53.7931],[10.76945,53.82375],[10.75652,53.83485],[10.77218,53.86503],[10.85232,53.89334],[10.88365,53.91763],[10.89831,53.91238],[10.89443,53.90186],[10.90908,53.89297],[10.97325,53.9044],[10.96859,53.91719],[10.9028,53.92844],[10.91711,53.94493],[10.91206,53.95583],[11.12888,54.09953],[11.68009,54.31527],[11.67207,54.33411],[11.64818,54.33528],[11.54411,54.41056],[11.32803,54.51617],[11.31564,54.53319],[11.14343,54.5814],[10.99863,54.57389],[10.97592,54.56028],[10.81763,54.55164],[10.75159,54.51871],[10.65251,54.51586],[10.59503,54.52489],[10.34354,54.59687],[10.1746,54.74152],[10.08914,54.76825],[10.05473,54.77041],[9.89688,54.84604],[9.74065,54.82801],[9.61564,54.85685],[9.63498,54.88182],[9.59161,54.89149],[9.46445,54.83704],[9.43197,54.83159],[9.40685,54.84703],[9.37732,54.84237],[9.36542,54.82338],[9.33572,54.80827],[9.2555,54.81485],[9.24356,54.83198],[9.25271,54.84374],[9.24559,54.85328],[9.1452,54.87733],[9.04949,54.87664],[8.94938,54.90696],[8.8905,54.90938],[8.85707,54.90139],[8.82381,54.91131],[8.76997,54.89797],[8.72948,54.89732],[8.68284,54.91479],[8.56335,54.92448],[8.56452,54.9945],[8.50732,55.00317],[8.48038,55.02638],[8.48572,55.04673],[8.47485,55.05899],[8.3966,55.07373],[8.3507,55.06947],[8.335,55.08666],[8.32041,55.08939],[8.30032,55.08612],[8.28218,55.0705],[8.04462,55.10366],[7.98107,55.01209],[7.94644,54.94426],[7.93364,54.8856],[7.92356,54.74392],[7.94017,54.64076],[7.95717,54.60022],[8.13895,54.3512],[8.04678,54.38269],[7.95301,54.39584],[7.82886,54.39753],[7.71774,54.38029],[7.63437,54.34918],[7.5694,54.30562],[7.52793,54.25297],[7.51348,54.19582]]]}, 18 | "region": [ "DE-SH" ] 19 | } 20 | }, 21 | "options": { 22 | "endpoint": "https://nah.sh.hafas.de/bin/mgate.exe", 23 | "client": { 24 | "id": "NAHSH", 25 | "name": "NAHSHPROD", 26 | "type": "IPH", 27 | "v": "3000700" 28 | }, 29 | "ver": "1.16", 30 | "auth": { 31 | "type": "AID", 32 | "aid": "r0Ot9FLFNAFxijLW" 33 | }, 34 | "products": [ 35 | { 36 | "id": "highspeed", 37 | "bitmasks": [1], 38 | "name": "High-speed rail" 39 | }, 40 | { 41 | "id": "national", 42 | "bitmasks": [2], 43 | "name": "InterCity & EuroCity" 44 | }, 45 | { 46 | "id": "interregional", 47 | "bitmasks": [4], 48 | "name": "Interregional" 49 | }, 50 | { 51 | "id": "regional", 52 | "bitmasks": [8], 53 | "name": "Regional & RegionalExpress" 54 | }, 55 | { 56 | "id": "suburban", 57 | "bitmasks": [16], 58 | "name": "S-Bahn" 59 | }, 60 | { 61 | "id": "bus", 62 | "bitmasks": [32], 63 | "name": "Bus" 64 | }, 65 | { 66 | "id": "ferry", 67 | "bitmasks": [64], 68 | "name": "Ferry" 69 | }, 70 | { 71 | "id": "subway", 72 | "bitmasks": [128], 73 | "name": "U-Bahn" 74 | }, 75 | { 76 | "id": "tram", 77 | "bitmasks": [256], 78 | "name": "Tram" 79 | }, 80 | { 81 | "id": "onCall", 82 | "bitmasks": [512], 83 | "name": "On-call transit" 84 | } 85 | ] 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /data/de/nvv-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Nordhessischer Verkehrsverbund (NVV)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de" 8 | ], 9 | "timezone": "Europe/Berlin", 10 | "attribution": { 11 | "name": "Nordhessischer VerkehrsVerbund", 12 | "homepage": "https://www.nvv.de/", 13 | "isProprietary": true 14 | }, 15 | "coverage": { 16 | "realtimeCoverage": { 17 | "area": {"type":"Polygon","coordinates":[[[8.46618,50.97396],[8.51477,50.95018],[8.55949,50.95103],[8.57394,50.94416],[8.60064,50.94518],[8.65153,50.96238],[8.67669,50.99109],[8.69805,50.98655],[8.729,50.96074],[8.76425,50.97081],[8.78515,50.9519],[8.84688,50.95813],[8.90774,50.94759],[8.92448,50.9565],[8.9217,50.96374],[8.93182,50.96202],[8.94288,50.94758],[8.96187,50.94256],[8.96843,50.92858],[9.00237,50.92121],[9.00482,50.90819],[9.02341,50.8987],[9.04371,50.90381],[9.04757,50.91491],[9.07374,50.90582],[9.1065,50.91351],[9.12186,50.89695],[9.10702,50.89454],[9.10194,50.88564],[9.13431,50.86076],[9.1483,50.83072],[9.25493,50.8117],[9.2681,50.79267],[9.30251,50.80126],[9.32781,50.79074],[9.35842,50.79505],[9.37048,50.77636],[9.38968,50.76819],[9.40294,50.77266],[9.40967,50.78557],[9.43469,50.78694],[9.42777,50.77053],[9.45257,50.75728],[9.47339,50.75988],[9.50351,50.73055],[9.57877,50.76033],[9.59698,50.75509],[9.60081,50.73348],[9.62097,50.73427],[9.64874,50.71597],[9.66712,50.71345],[9.68791,50.73082],[9.72755,50.74308],[9.7349,50.75369],[9.71972,50.76786],[9.73909,50.77634],[9.73407,50.78591],[9.76743,50.79917],[9.82821,50.78638],[9.8776,50.79171],[9.88296,50.77344],[9.92625,50.76317],[9.95818,50.7716],[9.9616,50.78681],[9.95059,50.79683],[9.96345,50.80845],[9.96111,50.81921],[9.97684,50.82768],[9.99632,50.82134],[10.00902,50.83007],[10.03025,50.82881],[10.04587,50.85303],[10.02638,50.85932],[10.06217,50.8777],[10.06562,50.89098],[10.01781,50.92438],[9.99008,50.92028],[9.99849,50.9322],[10.05146,50.93414],[10.07126,50.9436],[10.06562,50.95169],[10.05279,50.95102],[10.04356,50.96194],[10.04796,50.96918],[10.02917,50.98146],[10.03528,51.0058],[10.10364,50.9988],[10.11831,51.00781],[10.12591,50.99405],[10.14544,50.98893],[10.1796,50.99165],[10.21104,51.00459],[10.20865,51.01442],[10.22135,51.02693],[10.1895,51.05252],[10.15321,51.05977],[10.16201,51.07028],[10.15473,51.0853],[10.18149,51.10455],[10.18158,51.11609],[10.19785,51.10766],[10.21558,51.11607],[10.21084,51.13271],[10.21769,51.14246],[10.20869,51.14945],[10.24363,51.18684],[10.20455,51.19571],[10.17168,51.21611],[10.15338,51.21168],[10.14268,51.22387],[10.07656,51.22859],[10.08557,51.24435],[10.05543,51.26193],[10.06577,51.26834],[10.06501,51.27915],[10.00578,51.29132],[9.98331,51.28817],[9.97475,51.30318],[9.94739,51.30771],[9.95592,51.31611],[9.95458,51.32721],[9.93828,51.34129],[9.93047,51.36705],[9.9398,51.37897],[9.93858,51.39276],[9.90506,51.42553],[9.87575,51.41542],[9.84743,51.41847],[9.84453,51.40636],[9.79955,51.41428],[9.78612,51.40584],[9.79278,51.39457],[9.69679,51.36748],[9.69573,51.35834],[9.71372,51.34626],[9.73209,51.31643],[9.76423,51.31972],[9.76187,51.31029],[9.734,51.30102],[9.67238,51.32171],[9.65382,51.31937],[9.63315,51.33137],[9.60347,51.33314],[9.56567,51.34983],[9.56247,51.35663],[9.58399,51.37051],[9.56758,51.38311],[9.58363,51.39757],[9.59573,51.39371],[9.61211,51.40299],[9.59512,51.4158],[9.57509,51.41282],[9.55832,51.41985],[9.54126,51.40736],[9.53145,51.41322],[9.52305,51.4062],[9.51166,51.41467],[9.45299,51.41346],[9.41579,51.38325],[9.3926,51.38865],[9.34476,51.36989],[9.34481,51.35623],[9.36393,51.34571],[9.3733,51.32724],[9.35073,51.31923],[9.34289,51.30695],[9.37153,51.27772],[9.46522,51.25731],[9.45332,51.24236],[9.47009,51.23086],[9.41147,51.22682],[9.40199,51.23665],[9.36545,51.23867],[9.36055,51.25353],[9.34971,51.25888],[9.32581,51.26208],[9.29964,51.25294],[9.28271,51.25849],[9.26948,51.2494],[9.2673,51.21945],[9.25728,51.20268],[9.21811,51.20029],[9.21823,51.18465],[9.18677,51.17634],[9.17447,51.19797],[9.1344,51.22242],[9.13531,51.24648],[9.10156,51.25883],[9.10262,51.26516],[9.13332,51.27568],[9.11705,51.29227],[9.11982,51.32194],[9.11135,51.32762],[9.13289,51.3368],[9.13617,51.3454],[9.11366,51.35965],[9.13593,51.36532],[9.15913,51.35211],[9.17445,51.35674],[9.17037,51.36589],[9.18137,51.37003],[9.17619,51.39579],[9.15998,51.40854],[9.16787,51.41382],[9.16186,51.44373],[9.13717,51.4545],[9.0944,51.44977],[9.08633,51.46633],[9.09807,51.49711],[9.07825,51.50769],[9.04254,51.50667],[9.01911,51.52333],[8.89825,51.49302],[8.88386,51.4834],[8.88702,51.46976],[8.91295,51.44491],[8.91221,51.42823],[8.941,51.42279],[8.93198,51.39449],[8.88805,51.39693],[8.85447,51.38212],[8.83979,51.39249],[8.80297,51.39505],[8.73017,51.37665],[8.68039,51.37817],[8.66956,51.37193],[8.67419,51.36375],[8.65481,51.35661],[8.64764,51.34512],[8.61548,51.33941],[8.58751,51.30757],[8.55896,51.289],[8.54994,51.27541],[8.59522,51.2423],[8.61437,51.2427],[8.63543,51.25757],[8.7144,51.27035],[8.72709,51.26042],[8.72022,51.24913],[8.7344,51.21712],[8.75588,51.20719],[8.74256,51.19982],[8.74599,51.17746],[8.74021,51.17063],[8.68788,51.13783],[8.68511,51.12764],[8.6968,51.11315],[8.65495,51.09916],[8.54985,51.10833],[8.50231,51.0887],[8.49593,51.07311],[8.51819,51.06202],[8.49666,51.03996],[8.52754,51.02266],[8.46618,50.97396]],[[9.84682,51.39157],[9.85155,51.39208],[9.84873,51.38671],[9.84682,51.39157]],[[9.84779,51.38466],[9.84856,51.3861],[9.84962,51.38298],[9.84779,51.38466]],[[9.96221,50.93809],[9.96281,50.9379],[9.96227,50.93767],[9.96221,50.93809]],[[9.97227,50.93744],[9.97539,50.9375],[9.97615,50.9367],[9.97421,50.93656],[9.97227,50.93744]],[[9.97633,50.9119],[9.9834,50.91546],[9.97994,50.91259],[9.97884,50.91015],[9.97706,50.91061],[9.97633,50.9119]],[[10.13175,51.13999],[10.13327,51.1409],[10.14645,51.14011],[10.14922,51.14045],[10.15521,51.14374],[10.16137,51.14406],[10.16694,51.14713],[10.16961,51.14547],[10.17011,51.14092],[10.17133,51.13904],[10.17656,51.13686],[10.17688,51.13612],[10.17701,51.13529],[10.17396,51.1338],[10.17277,51.13213],[10.17175,51.12871],[10.17221,51.12627],[10.17525,51.12345],[10.18111,51.12026],[10.18138,51.11803],[10.17713,51.12187],[10.17158,51.12334],[10.1594,51.124],[10.15557,51.12306],[10.15374,51.12468],[10.15322,51.12751],[10.15176,51.12897],[10.14824,51.13027],[10.14535,51.13033],[10.14245,51.1319],[10.13916,51.13622],[10.1357,51.13851],[10.13175,51.13999]]]}, 18 | "region": [ "DE-HE" ] 19 | } 20 | }, 21 | "options": { 22 | "endpoint": "https://auskunft.nvv.de/auskunft/bin/app/mgate.exe", 23 | "client": { 24 | "type": "IPH", 25 | "id": "NVV", 26 | "v": "5000300", 27 | "os": "iOS 12.1.4", 28 | "name": "NVVMobilPROD_APPSTORE" 29 | }, 30 | "ver": "1.18", 31 | "ext": "NVV.6.0", 32 | "auth": { 33 | "type": "AID", 34 | "aid": "Kt8eNOH7qjVeSxNA" 35 | }, 36 | "products": [ 37 | { 38 | "id": "express", 39 | "bitmasks": [1], 40 | "name": "InterCityExpress" 41 | }, 42 | { 43 | "id": "national", 44 | "bitmasks": [2], 45 | "name": "EuroCity/InterCity" 46 | }, 47 | { 48 | "id": "regional", 49 | "bitmasks": [4], 50 | "name": "Regionalzug" 51 | }, 52 | { 53 | "id": "regiotram", 54 | "bitmasks": [1024, 16, 8], 55 | "name": "RegioTram" 56 | }, 57 | { 58 | "id": "tram", 59 | "bitmasks": [4, 32], 60 | "name": "Tram" 61 | }, 62 | { 63 | "id": "bus", 64 | "bitmasks": [128, 64], 65 | "name": "Bus" 66 | }, 67 | { 68 | "id": "on-call", 69 | "bitmasks": [512], 70 | "name": "AnrufSammelTaxi" 71 | } 72 | ] 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /data/de/rmv-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Rhein-Main-Verkehrsverbund (RMV)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de", 8 | "en" 9 | ], 10 | "timezone": "Europe/Berlin", 11 | "attribution": { 12 | "name": "Rhein-Main-Verkehrsverbund", 13 | "homepage": "https://www.rmv.de/", 14 | "isProprietary": true 15 | }, 16 | "coverage": { 17 | "realtimeCoverage": { 18 | "area": {"type":"Polygon","coordinates":[[[7.65789,50.03203],[7.75207,49.99162],[7.77468,49.96634],[7.81007,49.95349],[7.79515,49.9383],[7.80748,49.92965],[7.8462,49.93787],[7.89107,49.92636],[7.91341,49.8796],[7.94241,49.8753],[7.96166,49.85638],[7.94562,49.84232],[7.95556,49.83424],[7.91753,49.80645],[7.92363,49.76883],[7.89815,49.75096],[7.91905,49.73754],[7.94238,49.75006],[7.92836,49.73598],[7.9621,49.72174],[7.95502,49.69857],[7.98611,49.69196],[8.02097,49.70383],[8.05724,49.69083],[8.09705,49.69224],[8.11607,49.66751],[8.14929,49.65355],[8.1477,49.62211],[8.19959,49.61666],[8.23066,49.58377],[8.34484,49.59056],[8.35508,49.60232],[8.41844,49.59119],[8.36301,49.6779],[8.36715,49.69472],[8.44913,49.72448],[8.54156,49.71262],[8.61098,49.72605],[8.64289,49.63966],[8.63467,49.62669],[8.66978,49.55592],[8.65923,49.47952],[8.66999,49.44249],[8.69342,49.41188],[8.68396,49.39539],[8.68892,49.3762],[8.70094,49.37415],[8.69369,49.31227],[8.72193,49.31027],[8.73862,49.33936],[8.7681,49.34144],[8.77941,49.35689],[8.8041,49.36199],[8.81474,49.3311],[8.87837,49.3553],[8.9211,49.34124],[8.97209,49.37945],[9.02288,49.40108],[9.03982,49.37081],[9.08641,49.37364],[9.09252,49.36239],[9.135,49.34777],[9.14892,49.35322],[9.15297,49.37144],[9.20536,49.39497],[9.24104,49.42726],[9.26448,49.49009],[9.31087,49.50498],[9.3067,49.51779],[9.32225,49.54014],[9.36664,49.56457],[9.35165,49.58587],[9.41755,49.59344],[9.45688,49.61369],[9.42877,49.66494],[9.3801,49.67399],[9.31609,49.71144],[9.22202,49.70235],[9.20265,49.72719],[9.16808,49.74191],[9.18023,49.75523],[9.16422,49.76201],[9.12839,49.81936],[9.10683,49.82721],[9.15047,49.86308],[9.11492,49.89928],[9.11401,49.92951],[9.1441,49.91557],[9.22021,49.93097],[9.26143,49.92173],[9.2746,49.9028],[9.2392,49.86793],[9.24018,49.85625],[9.26039,49.84816],[9.28231,49.861],[9.3162,49.82827],[9.37581,49.83107],[9.3736,49.85176],[9.44097,49.88189],[9.43668,49.91438],[9.46958,49.91316],[9.47579,49.93425],[9.49288,49.94302],[9.48855,49.95338],[9.45464,49.95383],[9.43698,49.99306],[9.41572,49.99723],[9.44225,50.01999],[9.41204,50.03893],[9.42945,50.04676],[9.41037,50.0752],[9.51212,50.08281],[9.5331,50.10405],[9.53486,50.1464],[9.55139,50.16275],[9.51725,50.17981],[9.53215,50.19417],[9.51757,50.22537],[9.59087,50.21554],[9.65667,50.22278],[9.68317,50.23745],[9.65507,50.25241],[9.76003,50.3034],[9.76005,50.341],[9.74908,50.35987],[9.76512,50.42052],[9.80087,50.41942],[9.80409,50.4085],[9.86033,50.393],[9.96585,50.42187],[10.03995,50.4793],[10.04583,50.52887],[10.06854,50.55664],[10.05291,50.57363],[10.05584,50.59947],[10.04432,50.61114],[10.06054,50.62086],[10.08574,50.61621],[10.08993,50.63417],[10.05534,50.67684],[10.00267,50.68095],[9.94324,50.66674],[9.95994,50.64174],[9.95386,50.63352],[9.90626,50.64469],[9.88569,50.6385],[9.88913,50.67116],[9.93067,50.69412],[9.91656,50.70453],[9.94228,50.72289],[9.9458,50.75751],[9.89488,50.78387],[9.88444,50.79998],[9.82775,50.79667],[9.77237,50.81407],[9.71959,50.79355],[9.70166,50.76822],[9.71855,50.75474],[9.71405,50.74806],[9.67835,50.74484],[9.66454,50.72251],[9.62238,50.74484],[9.60441,50.73666],[9.60474,50.70727],[9.63367,50.67646],[9.61299,50.6507],[9.63224,50.62798],[9.60399,50.61214],[9.56091,50.62512],[9.54296,50.64471],[9.50684,50.64179],[9.48452,50.68591],[9.33032,50.74048],[8.99455,50.72624],[8.85712,50.76303],[8.79662,50.6983],[8.76313,50.70044],[8.73318,50.68559],[8.64908,50.70813],[8.61844,50.68069],[8.60028,50.68102],[8.58353,50.7096],[8.5573,50.712],[8.54946,50.74215],[8.49732,50.74232],[8.45674,50.72821],[8.44266,50.76178],[8.46543,50.78906],[8.44688,50.80167],[8.40766,50.79793],[8.40434,50.8508],[8.35394,50.86981],[8.3118,50.86632],[8.29585,50.88576],[8.26837,50.88658],[8.16053,50.80675],[8.11876,50.78958],[8.15961,50.73536],[8.13806,50.69995],[8.12032,50.69544],[8.10338,50.67157],[8.10385,50.65517],[8.13231,50.63039],[8.11925,50.60867],[8.14499,50.59591],[8.12573,50.55411],[8.1037,50.5389],[8.03864,50.56116],[7.97598,50.51179],[7.9726,50.48295],[8.00329,50.45467],[7.96945,50.4397],[7.97901,50.42874],[7.95776,50.4082],[7.98284,50.39362],[8.01393,50.39478],[8.00946,50.38095],[8.05631,50.36884],[8.06875,50.34795],[8.06453,50.32977],[8.09884,50.31965],[8.11416,50.27831],[8.10209,50.26559],[8.07394,50.27765],[8.03111,50.2742],[8.01476,50.25705],[8.04767,50.23429],[8.02781,50.22088],[7.98747,50.24309],[7.98053,50.23074],[7.90072,50.20415],[7.90327,50.19605],[7.87655,50.1833],[7.8775,50.1677],[7.9202,50.14223],[7.91882,50.11812],[7.85078,50.13244],[7.82862,50.11103],[7.82863,50.08642],[7.80073,50.08906],[7.78137,50.07461],[7.76756,50.08718],[7.74306,50.08338],[7.69088,50.06035],[7.65789,50.03203]],[[9.39247,50.05606],[9.39944,50.0665],[9.40233,50.05624],[9.39247,50.05606]],[[9.41134,50.02647],[9.41547,50.02615],[9.41406,50.02549],[9.41134,50.02647]]]}, 19 | "region": [ "DE-HE", "DE-BW", "DE-BY", "DE-RP" ] 20 | } 21 | }, 22 | "options": { 23 | "endpoint": "https://www.rmv.de/auskunft/bin/jp/mgate.exe", 24 | "client": { 25 | "type": "WEB", 26 | "id": "RMV", 27 | "name": "webapp" 28 | }, 29 | "ext": "RMV.1", 30 | "ver": "1.18", 31 | "auth": { 32 | "type": "AID", 33 | "aid": "x0k4ZR33ICN9CWmj" 34 | }, 35 | "products": [ 36 | { 37 | "id": "express-train", 38 | "bitmasks": [1], 39 | "name": "InterCityExpress/Fernzug" 40 | }, 41 | { 42 | "id": "long-distance-train", 43 | "bitmasks": [2], 44 | "name": "EuroCity/InterCity/EuroNight/InterRegio" 45 | }, 46 | { 47 | "id": "regional-train", 48 | "bitmasks": [4], 49 | "name": "RegionalExpress/Regionalbahn" 50 | }, 51 | { 52 | "id": "s-bahn", 53 | "bitmasks": [8], 54 | "name": "S-Bahn" 55 | }, 56 | { 57 | "id": "u-bahn", 58 | "bitmasks": [16], 59 | "name": "U-Bahn" 60 | }, 61 | { 62 | "id": "tram", 63 | "bitmasks": [32], 64 | "name": "Straßenbahn" 65 | }, 66 | { 67 | "id": "bus", 68 | "bitmasks": [64, 128], 69 | "name": "Bus" 70 | }, 71 | { 72 | "id": "watercraft", 73 | "bitmasks": [256], 74 | "name": "Schiff" 75 | }, 76 | { 77 | "id": "ast", 78 | "bitmasks": [512], 79 | "name": "Anruf-Sammel-Taxi" 80 | }, 81 | { 82 | "id": "cable-car", 83 | "bitmasks": [1024], 84 | "name": "Seilbahn" 85 | } 86 | ] 87 | } 88 | } 89 | -------------------------------------------------------------------------------- /data/de/rnv-motis.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Rhein-Neckar-Verkehr (directions.nwex.de)", 3 | "attribution": { 4 | "license": "DL-DE-BY-2.0", 5 | "name": "Rhein-Neckar-Verkehr GmbH", 6 | "homepage": "https://www.opendata-oepnv.de/ht/de/organisation/verkehrsunternehmen/rnv/openrnv/datensaetze" 7 | }, 8 | "type": { 9 | "motis": true 10 | }, 11 | "options": { 12 | "endpoint": "https://directions.nwex.de/api/providers/rhein-neckar-verkehr/", 13 | "intermodal": false, 14 | "motisVersion": "2.0.43", 15 | "supportedModes": [] 16 | }, 17 | "supportedLanguages": [ 18 | "de" 19 | ], 20 | "coverage": { 21 | "realtimeCoverage": { 22 | "region": [ 23 | "DE-HE", 24 | "DE-BW", 25 | "DE-RP" 26 | ], 27 | "area": { 28 | "type": "Polygon", 29 | "coordinates": [ 30 | [ 31 | [ 32 | 8.661474836362174, 33 | 49.56682199364306 34 | ], 35 | [ 36 | 8.646425409204426, 37 | 49.55683827153436 38 | ], 39 | [ 40 | 8.610426565970243, 41 | 49.55030846609782 42 | ], 43 | [ 44 | 8.581968164292903, 45 | 49.557772522235695 46 | ], 47 | [ 48 | 8.556351727249393, 49 | 49.54875631214381 50 | ], 51 | [ 52 | 8.548812334394682, 53 | 49.52482309287569 54 | ], 55 | [ 56 | 8.532768217291789, 57 | 49.536837593048006 58 | ], 59 | [ 60 | 8.49568358055447, 61 | 49.57276908058989 62 | ], 63 | [ 64 | 8.47596243926148, 65 | 49.58486398998741 66 | ], 67 | [ 68 | 8.446148018713984, 69 | 49.5910126926984 70 | ], 71 | [ 72 | 8.421984047133833, 73 | 49.584234219227056 74 | ], 75 | [ 76 | 8.417369892833676, 77 | 49.54875631214381 78 | ], 79 | [ 80 | 8.403460359038036, 81 | 49.54521297867433 82 | ], 83 | [ 84 | 8.371147309501254, 85 | 49.55540685393504 86 | ], 87 | [ 88 | 8.332861202489909, 89 | 49.55297903280126 90 | ], 91 | [ 92 | 8.331376934216394, 93 | 49.53757185617485 94 | ], 95 | [ 96 | 8.334943345489364, 97 | 49.5221286699925 98 | ], 99 | [ 100 | 8.336906777951043, 101 | 49.49889644661647 102 | ], 103 | [ 104 | 8.306780420645339, 105 | 49.488550059089164 106 | ], 107 | [ 108 | 8.26784895688698, 109 | 49.48385215854046 110 | ], 111 | [ 112 | 8.254235856540248, 113 | 49.4735369859369 114 | ], 115 | [ 116 | 8.206329982660321, 117 | 49.476009401382726 118 | ], 119 | [ 120 | 8.144623235848911, 121 | 49.47348337461278 122 | ], 123 | [ 124 | 8.130456199109517, 125 | 49.444393004138874 126 | ], 127 | [ 128 | 8.184207786708726, 129 | 49.44272026890897 130 | ], 131 | [ 132 | 8.27254930011, 133 | 49.4496939870607 134 | ], 135 | [ 136 | 8.321554336809726, 137 | 49.459195112525634 138 | ], 139 | [ 140 | 8.343709421360586, 141 | 49.451372989171915 142 | ], 143 | [ 144 | 8.366866937488595, 145 | 49.4323454360553 146 | ], 147 | [ 148 | 8.40277547897756, 149 | 49.42094186489035 150 | ], 151 | [ 152 | 8.430055343450363, 153 | 49.423977897060325 154 | ], 155 | [ 156 | 8.459409268379773, 157 | 49.44312164651734 158 | ], 159 | [ 160 | 8.491735444975802, 161 | 49.44388447979 162 | ], 163 | [ 164 | 8.510387742762873, 165 | 49.43358682291861 166 | ], 167 | [ 168 | 8.498787550481836, 169 | 49.41704223865503 170 | ], 171 | [ 172 | 8.495539852263391, 173 | 49.39969232736328 174 | ], 175 | [ 176 | 8.520374313117884, 177 | 49.404691830513684 178 | ], 179 | [ 180 | 8.531177219178232, 181 | 49.39535656251509 182 | ], 183 | [ 184 | 8.526999485918964, 185 | 49.38352716038659 186 | ], 187 | [ 188 | 8.56649226595519, 189 | 49.38873505134697 190 | ], 191 | [ 192 | 8.602769094461848, 193 | 49.375744545418854 194 | ], 195 | [ 196 | 8.60885726020382, 197 | 49.346848708781096 198 | ], 199 | [ 200 | 8.641307414331209, 201 | 49.34018116795525 202 | ], 203 | [ 204 | 8.653028970482865, 205 | 49.32309830046253 206 | ], 207 | [ 208 | 8.70909291220218, 209 | 49.31229231309803 210 | ], 211 | [ 212 | 8.711880498205431, 213 | 49.34038267976584 214 | ], 215 | [ 216 | 8.755725692269152, 217 | 49.343056226703425 218 | ], 219 | [ 220 | 8.821658740696677, 221 | 49.36309854371484 222 | ], 223 | [ 224 | 8.83347847335665, 225 | 49.39274510521065 226 | ], 227 | [ 228 | 8.829757874173055, 229 | 49.49985021061855 230 | ], 231 | [ 232 | 8.80422336940282, 233 | 49.50747338929207 234 | ], 235 | [ 236 | 8.748405932192526, 237 | 49.5017997361833 238 | ], 239 | [ 240 | 8.73188936131828, 241 | 49.45907389762888 242 | ], 243 | [ 244 | 8.70928817502508, 245 | 49.44832528571729 246 | ], 247 | [ 248 | 8.696851480740605, 249 | 49.4688987841802 250 | ], 251 | [ 252 | 8.700451766725479, 253 | 49.5065198846691 254 | ], 255 | [ 256 | 8.713731257143934, 257 | 49.546293794223544 258 | ], 259 | [ 260 | 8.693653140061826, 261 | 49.562616944802784 262 | ], 263 | [ 264 | 8.661474836362174, 265 | 49.56682199364306 266 | ] 267 | ] 268 | ] 269 | } 270 | } 271 | } 272 | } 273 | -------------------------------------------------------------------------------- /data/de/rolph-efa.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Rolph", 3 | "coverage": { 4 | "realtimeCoverage": { 5 | "area": { 6 | "coordinates": [ 7 | [ [ 6.0196, 50.2981 ], [ 6.4207, 49.2901 ], [ 8.5435, 48.8369 ], [ 8.3899, 51.1577 ], [ 6.0196, 50.2981 ] ] 8 | ], 9 | "type": "Polygon" 10 | }, 11 | "region": [ "DE-RP" ] 12 | } 13 | }, 14 | "options": { 15 | "endpoint": "https://mandanten.vrn.de/takt2/", 16 | "supportedOutputFormats": [ "XML", "JSON" ], 17 | "xmlOutputFormat": "full" 18 | }, 19 | "supportedLanguages": [ "en", "de" ], 20 | "timezone": "Europe/Berlin", 21 | "type": { 22 | "efa": true 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /data/de/rsag-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Rostocker Straßenbahn (RSAG)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de", 8 | "en", 9 | "fr" 10 | ], 11 | "timezone": "Europe/Berlin", 12 | "attribution": { 13 | "name": "Rostocker Straßenbahn AG", 14 | "homepage": "https://www.rsag-online.de", 15 | "isProprietary": true 16 | }, 17 | "coverage": { 18 | "realtimeCoverage": { 19 | "area": {"type":"Polygon","coordinates":[[[11.50385,54.0477],[11.50661,54.03602],[11.52016,54.03426],[11.52451,54.04748],[11.54738,54.0516],[11.60869,54.09893],[11.61851,54.08847],[11.61601,54.07881],[11.57596,54.06623],[11.57925,54.04784],[11.55396,54.02866],[11.58053,54.00131],[11.57708,53.98589],[11.64964,53.98114],[11.64401,53.97259],[11.66459,53.96139],[11.65921,53.95466],[11.66656,53.93439],[11.68487,53.92981],[11.70706,53.95043],[11.73295,53.94845],[11.75252,53.95602],[11.75582,53.96868],[11.79141,53.96508],[11.78302,53.9354],[11.79636,53.92147],[11.78082,53.91261],[11.78303,53.88999],[11.75421,53.87489],[11.76889,53.86179],[11.75188,53.85303],[11.75899,53.84409],[11.74892,53.82576],[11.79216,53.81703],[11.80288,53.79488],[11.78435,53.77958],[11.7876,53.76932],[11.83469,53.76003],[11.83382,53.74763],[11.90297,53.72783],[11.91719,53.73541],[11.98034,53.73791],[11.9855,53.73542],[11.96792,53.731],[11.96934,53.72202],[11.99327,53.72279],[12.00234,53.71097],[12.02012,53.70737],[12.02568,53.70048],[12.01958,53.69014],[12.04427,53.66315],[12.07577,53.64476],[12.0936,53.63815],[12.11964,53.64186],[12.14033,53.63126],[12.19096,53.63788],[12.20587,53.61054],[12.2035,53.60016],[12.24964,53.57842],[12.27924,53.57777],[12.28384,53.56792],[12.29913,53.56343],[12.31511,53.5644],[12.34738,53.58353],[12.39499,53.56323],[12.416,53.57173],[12.42379,53.58489],[12.40977,53.59995],[12.4194,53.61075],[12.41738,53.63659],[12.42501,53.64759],[12.4053,53.6633],[12.42941,53.66761],[12.4637,53.65613],[12.47578,53.66312],[12.46199,53.67481],[12.48468,53.68398],[12.49647,53.6561],[12.51041,53.64918],[12.55464,53.65415],[12.62738,53.63632],[12.65953,53.65269],[12.66466,53.66497],[12.63132,53.69073],[12.64658,53.71535],[12.63637,53.72971],[12.63674,53.74894],[12.65303,53.75175],[12.65531,53.76672],[12.70201,53.76797],[12.71136,53.80946],[12.75721,53.82175],[12.76452,53.84394],[12.7604,53.85776],[12.78279,53.86866],[12.80718,53.8697],[12.80987,53.87923],[12.79458,53.88199],[12.79022,53.8958],[12.77515,53.90026],[12.7881,53.917],[12.80632,53.91676],[12.82103,53.9296],[12.79804,53.95641],[12.82339,53.98734],[12.816,54.00607],[12.76275,54.03392],[12.7409,54.03764],[12.71657,54.02406],[12.70375,54.02995],[12.7016,54.03941],[12.66433,54.05008],[12.61165,54.08176],[12.587,54.07614],[12.55943,54.09758],[12.46401,54.09806],[12.4671,54.10898],[12.43818,54.12864],[12.39193,54.11874],[12.39948,54.13484],[12.38332,54.14927],[12.38884,54.15972],[12.37347,54.16472],[12.38264,54.17665],[12.37188,54.18395],[12.38059,54.18963],[12.37903,54.20914],[12.32706,54.23442],[12.3168,54.25444],[12.28951,54.26319],[12.29293,54.27457],[12.28647,54.279],[12.19493,54.24814],[12.11014,54.18377],[12.09117,54.1917],[12.05883,54.18232],[12.00908,54.18254],[11.85147,54.14966],[11.79669,54.15159],[11.76359,54.16148],[11.6789,54.15694],[11.60102,54.10866],[11.54829,54.09658],[11.5157,54.0706],[11.50385,54.0477]],[[11.52294,54.0541],[11.52824,54.06316],[11.5282,54.05863],[11.52294,54.0541]],[[12.17339,54.23476],[12.1734,54.23476],[12.1734,54.23476],[12.17339,54.23476]]]}, 20 | "region": [ "DE-MV" ] 21 | } 22 | }, 23 | "options": { 24 | "endpoint": "https://fahrplan.rsag-online.de/bin/mgate.exe", 25 | "client": { 26 | "type": "WEB", 27 | "id": "RSAG", 28 | "name": "webapp" 29 | }, 30 | "ext": "VBN.2", 31 | "ver": "1.24", 32 | "auth": { 33 | "type": "AID", 34 | "aid": "tF5JTs25rzUhGrrl" 35 | }, 36 | "products": [ 37 | { 38 | "id": "ice", 39 | "bitmasks": [1], 40 | "name": "InterCityExpress" 41 | }, 42 | { 43 | "id": "ic-ec", 44 | "bitmasks": [2], 45 | "name": "InterCity & EuroCity" 46 | }, 47 | { 48 | "id": "long-distance-train", 49 | "bitmasks": [4], 50 | "name": "InterRegio/high-speed train" 51 | }, 52 | { 53 | "id": "regional-train", 54 | "bitmasks": [8], 55 | "name": "regional train" 56 | }, 57 | { 58 | "id": "s-bahn", 59 | "bitmasks": [16], 60 | "name": "S-Bahn" 61 | }, 62 | { 63 | "id": "bus", 64 | "bitmasks": [32], 65 | "name": "Bus" 66 | }, 67 | { 68 | "id": "ferry", 69 | "bitmasks": [64], 70 | "name": "Schiff" 71 | }, 72 | { 73 | "id": "u-bahn", 74 | "bitmasks": [128], 75 | "name": "U-Bahn" 76 | }, 77 | { 78 | "id": "tram", 79 | "bitmasks": [256], 80 | "name": "Tram" 81 | }, 82 | { 83 | "id": "on-call", 84 | "bitmasks": [512], 85 | "name": "Taxi/on-call vehicle" 86 | } 87 | ] 88 | } 89 | } 90 | -------------------------------------------------------------------------------- /data/de/stadtnavi-otp.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Stadtnavi", 3 | "attribution": { 4 | "name": "Stadtnavi", 5 | "homepage": "https://stadtnavi.de/", 6 | "mixedLicenses": true 7 | }, 8 | "coverage": { 9 | "realtimeCoverage": { 10 | "area": { 11 | "coordinates": [ [ [ 7.226147, 49.28605 ], [ 7.731818, 50.104153 ], [ 7.731871, 50.104176 ], [ 8.661349, 50.106907 ], [ 9.936113, 49.802395 ], [ 11.081806, 49.44637 ], [ 11.082291, 49.4458 ], [ 11.100635, 48.71671 ], [ 11.098065, 48.223408 ], [ 11.037977, 48.10581 ], [ 10.278568, 47.41138 ], [ 8.71859, 47.35055 ], [ 8.548557, 47.366737 ], [ 7.6386757, 47.5359231 ], [ 7.589587, 47.546635 ], [ 7.343826, 47.742508 ], [ 7.226147, 49.28605 ] ] ], 12 | "type": "Polygon" 13 | }, 14 | "region": [ "DE-BW" ] 15 | } 16 | }, 17 | "options": { 18 | "endpoint": "https://api.stadtnavi.de/routing/v1/router/", 19 | "supportedTransitModes": [ "TRANSIT", "CARPOOL" ] 20 | }, 21 | "supportedLanguages": [ "de" ], 22 | "timezone": "Europe/Berlin", 23 | "type": { 24 | "otpGraphQl": true 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /data/de/vbn-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Verkehrsverbund Bremen/Niedersachsen (VBN)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de", 8 | "en" 9 | ], 10 | "timezone": "Europe/Berlin", 11 | "attribution": { 12 | "name": "Verkehrsverbund Bremen/Niedersachsen", 13 | "homepage": "https://www.vbn.de/", 14 | "isProprietary": true 15 | }, 16 | "coverage": { 17 | "realtimeCoverage": { 18 | "area": {"type":"Polygon","coordinates":[[[7.60466,53.05803],[7.70495,53.01354],[7.71499,52.97489],[7.7078,52.96804],[7.73606,52.9418],[7.8231,52.9189],[7.77936,52.87676],[7.70596,52.85224],[7.67428,52.79729],[7.70472,52.76856],[7.64297,52.74192],[7.62865,52.72366],[7.68749,52.67481],[7.76567,52.67306],[7.80689,52.69629],[7.85379,52.7046],[7.91636,52.67539],[7.97584,52.69126],[8.02005,52.67705],[8.07705,52.62125],[8.06577,52.60061],[8.03418,52.58978],[8.02867,52.53684],[8.00627,52.53282],[8.05067,52.50236],[8.05363,52.44222],[8.12888,52.43967],[8.15851,52.4286],[8.20709,52.47444],[8.24771,52.47555],[8.3005,52.49429],[8.29327,52.45261],[8.36274,52.43836],[8.41803,52.44002],[8.46024,52.45832],[8.46743,52.49024],[8.50819,52.50828],[8.55867,52.49465],[8.65084,52.52588],[8.70422,52.49586],[8.78022,52.52822],[8.81556,52.52623],[8.83645,52.54032],[8.85547,52.52938],[8.90767,52.55849],[8.90803,52.59828],[8.88216,52.6083],[8.88815,52.62568],[8.93598,52.62691],[9.00789,52.64773],[9.02695,52.66331],[9.03675,52.69593],[9.01616,52.71109],[9.05823,52.72657],[9.06246,52.75796],[9.07157,52.76221],[9.05755,52.78682],[9.07502,52.80574],[9.05825,52.81224],[9.06758,52.82778],[9.05285,52.8373],[9.11593,52.86066],[9.11166,52.87742],[9.12277,52.89199],[9.16829,52.89206],[9.20344,52.87266],[9.17276,52.86046],[9.20945,52.84709],[9.19325,52.84074],[9.18834,52.81226],[9.22895,52.81422],[9.25625,52.79537],[9.28147,52.81153],[9.29504,52.80878],[9.29771,52.77272],[9.33282,52.76127],[9.35588,52.77627],[9.36781,52.80139],[9.34941,52.82174],[9.36959,52.81705],[9.39665,52.8305],[9.40039,52.83824],[9.3846,52.85126],[9.42018,52.87725],[9.42227,52.89721],[9.45819,52.90946],[9.46448,52.92914],[9.45331,52.9457],[9.4714,52.95877],[9.46475,52.99058],[9.44049,53.00702],[9.37354,52.98856],[9.34365,52.99219],[9.35768,53.00385],[9.3443,53.0186],[9.19467,53.04974],[9.19297,53.065],[9.17165,53.07736],[9.1635,53.09657],[9.18985,53.11624],[9.18248,53.12776],[9.20099,53.14666],[9.19296,53.16311],[9.20104,53.17451],[9.17428,53.18891],[9.12704,53.17056],[9.10453,53.14965],[9.07745,53.15473],[9.03686,53.19807],[9.03216,53.24928],[9.00057,53.2729],[9.01995,53.29993],[8.99966,53.30832],[9.00381,53.32523],[8.94978,53.34363],[8.94651,53.36855],[8.91652,53.37677],[8.96199,53.41092],[8.92186,53.44099],[8.97099,53.4518],[8.98073,53.46886],[8.96364,53.47789],[8.96768,53.50963],[8.91233,53.52232],[8.97035,53.52664],[8.99302,53.53752],[8.98664,53.55224],[9.02748,53.55047],[9.06628,53.56832],[9.11193,53.54888],[9.16325,53.60224],[9.26332,53.62602],[9.26264,53.63704],[9.28708,53.64424],[9.27926,53.65404],[9.28637,53.67023],[9.21928,53.68034],[9.30538,53.73137],[9.26645,53.77204],[9.22483,53.76139],[9.17994,53.78989],[9.13081,53.80277],[9.12249,53.81567],[9.11006,53.80893],[9.04285,53.81914],[9.02661,53.83696],[8.98801,53.84555],[8.90553,53.83417],[8.7889,53.84027],[8.69485,53.88191],[8.68666,53.89674],[8.60252,53.8814],[8.55954,53.8483],[8.53409,53.80808],[8.51228,53.74823],[8.47476,53.68933],[8.47564,53.6548],[8.51038,53.60941],[8.47544,53.60027],[8.49052,53.58052],[8.48517,53.57427],[8.50785,53.55796],[8.46554,53.55698],[8.40216,53.57368],[8.32578,53.62216],[8.26754,53.61337],[8.24281,53.59282],[8.21866,53.51862],[8.3,53.52053],[8.30938,53.48964],[8.30647,53.45926],[8.28953,53.43137],[8.24851,53.40397],[8.20711,53.40974],[8.15299,53.45532],[8.10061,53.45172],[8.074,53.47435],[8.06839,53.49974],[8.1572,53.50958],[8.17852,53.54129],[8.15003,53.57776],[8.16315,53.58503],[8.1558,53.60451],[8.12787,53.60361],[8.09047,53.64769],[8.04873,53.64523],[8.0361,53.66355],[8.03365,53.70693],[7.94757,53.71988],[7.80434,53.71307],[7.82973,53.64377],[7.81314,53.63069],[7.8513,53.61364],[7.83692,53.59267],[7.84239,53.58077],[7.81743,53.5522],[7.82331,53.54045],[7.80769,53.52029],[7.81431,53.4996],[7.92907,53.50801],[7.92212,53.47935],[7.96224,53.46238],[7.95631,53.44672],[7.85151,53.40027],[7.87754,53.35212],[7.84383,53.2965],[7.75641,53.24561],[7.69595,53.22559],[7.69175,53.20763],[7.70759,53.18432],[7.63953,53.18519],[7.63045,53.11894],[7.62002,53.116],[7.60466,53.05803]],[[9.19526,53.61824],[9.19545,53.61824],[9.19555,53.61804],[9.19526,53.61824]]]}, 19 | "region": [ "DE-NI", "DE-HB" ] 20 | } 21 | }, 22 | "options": { 23 | "endpoint": "https://fahrplaner.vbn.de/bin/mgate.exe", 24 | "client": { 25 | "type": "IPH", 26 | "id": "VBN", 27 | "name": "vbn", 28 | "v": "6000000" 29 | }, 30 | "ver": "1.27", 31 | "auth": { 32 | "type": "AID", 33 | "aid": "kaoxIXLn03zCr2KR" 34 | }, 35 | "products": [ 36 | { 37 | "id": "express-train", 38 | "bitmasks": [1], 39 | "name": "InterCityExpress" 40 | }, 41 | { 42 | "id": "national-train", 43 | "bitmasks": [2, 4], 44 | "name": "InterCity, EuroCity, CityNightLine, InterRegio" 45 | }, 46 | { 47 | "id": "local-train", 48 | "bitmasks": [8], 49 | "name": "Nahverkehr" 50 | }, 51 | { 52 | "id": "suburban", 53 | "bitmasks": [16], 54 | "name": "S-Bahn" 55 | }, 56 | { 57 | "id": "bus", 58 | "bitmasks": [32], 59 | "name": "Bus" 60 | }, 61 | { 62 | "id": "watercraft", 63 | "bitmasks": [64], 64 | "name": "Schiff" 65 | }, 66 | { 67 | "id": "subway", 68 | "bitmasks": [128], 69 | "name": "U-Bahn" 70 | }, 71 | { 72 | "id": "tram", 73 | "bitmasks": [256], 74 | "name": "Tram" 75 | }, 76 | { 77 | "id": "dial-a-ride", 78 | "bitmasks": [512], 79 | "name": "Anrufverkehr" 80 | } 81 | ] 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /data/de/vmt-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Verkehrsverbund Mittelthüringen (VMT)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de" 8 | ], 9 | "timezone": "Europe/Berlin", 10 | "attribution": { 11 | "name": "VMT GmbH", 12 | "homepage": "https://www.vmt-thueringen.de/", 13 | "isProprietary": true 14 | }, 15 | "coverage": { 16 | "realtimeCoverage": { 17 | "area": {"type":"MultiPolygon","coordinates":[[[[10.1686,50.9896],[10.1825,50.9653],[10.2426,50.962],[10.2443,50.9509],[10.3183,50.9263],[10.341,50.9446],[10.3835,50.9563],[10.3986,51],[10.3843,51.0063],[10.3908,51.0164],[10.3814,51.0407],[10.3196,51.0569],[10.3035,51.0464],[10.3096,51.0338],[10.2725,51.0242],[10.273,51.0029],[10.2028,51.016],[10.1686,50.9896]]],[[[10.3945,50.8634],[10.4218,50.8392],[10.4653,50.8459],[10.5332,50.823],[10.5318,50.7806],[10.5562,50.7792],[10.5583,50.7545],[10.581,50.7325],[10.6127,50.7331],[10.6498,50.7112],[10.6659,50.7189],[10.707,50.7118],[10.7213,50.7306],[10.7508,50.7134],[10.7739,50.762],[10.8087,50.7629],[10.8311,50.7781],[10.845,50.8048],[10.8401,50.8162],[10.867,50.835],[10.8434,50.8437],[10.8466,50.8507],[10.8715,50.8535],[10.8777,50.8729],[10.9056,50.8932],[10.9765,50.886],[10.9949,50.9023],[11.1042,50.9088],[11.1077,50.8948],[11.1243,50.8953],[11.1177,50.887],[11.1258,50.8721],[11.154,50.8692],[11.1646,50.853],[11.1491,50.8462],[11.1502,50.8266],[11.1926,50.8062],[11.1681,50.7719],[11.1829,50.7389],[11.1367,50.7304],[11.1081,50.7371],[11.0906,50.7299],[11.0854,50.7013],[11.0701,50.7239],[11.0462,50.7098],[11.0498,50.692],[11.0066,50.6935],[11.0023,50.686],[11.0202,50.665],[11.0493,50.6724],[11.0572,50.6576],[11.0512,50.6254],[11.0815,50.6083],[11.0618,50.5676],[11.0392,50.5568],[10.966,50.5571],[10.9615,50.5369],[10.9892,50.5228],[11.0603,50.5192],[11.0856,50.5057],[11.0999,50.5132],[11.0996,50.5273],[11.138,50.5268],[11.172,50.5603],[11.1874,50.5576],[11.197,50.5515],[11.1906,50.5408],[11.1988,50.5246],[11.2619,50.4964],[11.2607,50.4758],[11.2905,50.4707],[11.3261,50.4859],[11.329,50.5052],[11.3534,50.5158],[11.4211,50.5115],[11.4332,50.4991],[11.4117,50.4939],[11.4139,50.4419],[11.4428,50.43],[11.4407,50.4166],[11.4737,50.4272],[11.4809,50.4158],[11.4722,50.3986],[11.5112,50.3915],[11.5127,50.3727],[11.5222,50.3695],[11.5637,50.3802],[11.5752,50.3952],[11.6257,50.3823],[11.7633,50.4008],[11.7809,50.4117],[11.8254,50.3853],[11.93,50.4238],[11.9331,50.4361],[11.9017,50.4467],[11.9554,50.4505],[11.9505,50.4746],[11.9712,50.4874],[11.9399,50.509],[11.9301,50.5297],[11.8903,50.5226],[11.8802,50.5392],[11.9316,50.5544],[11.9406,50.5685],[11.9337,50.5828],[11.951,50.5944],[11.8957,50.6236],[11.8941,50.6653],[11.8738,50.6675],[11.8826,50.6793],[11.8756,50.7025],[11.8842,50.72],[11.9096,50.726],[11.905,50.7407],[11.9256,50.744],[11.951,50.7668],[11.9009,50.7924],[11.8684,50.7954],[11.9063,50.8059],[11.9168,50.8273],[11.8996,50.8447],[11.928,50.8588],[11.8834,50.8838],[11.9233,50.8889],[11.932,50.9099],[11.9584,50.9131],[11.9742,50.9338],[11.9663,50.9423],[11.9863,50.9493],[12.0254,50.9413],[12.0374,50.9335],[12.011,50.9155],[12.0174,50.9023],[11.9911,50.8743],[12.0056,50.8626],[11.9913,50.8491],[12.0092,50.8274],[12.042,50.8146],[12.093,50.8188],[12.123,50.7949],[12.148,50.7972],[12.1608,50.8108],[12.1413,50.8229],[12.1447,50.8383],[12.1348,50.8476],[12.1632,50.8734],[12.1401,50.9078],[12.1441,50.9234],[12.1745,50.932],[12.1766,50.944],[12.1627,50.9666],[12.107,50.9782],[12.0237,50.9746],[12.011,50.9946],[11.9803,50.9961],[11.9823,51.0193],[11.9451,51.037],[11.9215,51.031],[11.9172,51.0469],[11.8925,51.0594],[11.758,51.0527],[11.7362,51.072],[11.7091,51.0738],[11.6988,51.1019],[11.6691,51.1149],[11.6234,51.109],[11.5708,51.125],[11.5395,51.1074],[11.4782,51.1092],[11.4362,51.0949],[11.4349,51.1058],[11.4144,51.1138],[11.3957,51.102],[11.1947,51.1086],[11.1849,51.0794],[11.1992,51.0341],[11.1328,51.0144],[11.1076,51.0384],[11.0979,51.0674],[11.0695,51.0837],[11.04,51.0839],[11.0342,51.0698],[11.0149,51.0642],[10.9712,51.0685],[10.9785,51.0469],[10.9277,51.0341],[10.9184,51.0198],[10.8774,51.0324],[10.8779,51.0601],[10.8983,51.0716],[10.8848,51.1015],[10.7763,51.0986],[10.7681,51.1092],[10.7308,51.1158],[10.696,51.0997],[10.6877,51.0798],[10.7029,51.0557],[10.6904,51.0492],[10.6112,51.0434],[10.5884,51.028],[10.4756,50.9969],[10.4801,50.9694],[10.506,50.9617],[10.4923,50.9503],[10.4939,50.9372],[10.4718,50.9164],[10.4328,50.9096],[10.3945,50.8634]],[[10.4869,50.9007],[10.4889,50.9033],[10.49,50.9014],[10.4869,50.9007]],[[11.912,50.4178],[11.912,50.4178],[11.912,50.4178],[11.912,50.4178]]]]}, 18 | "region": [ "DE-TH" ] 19 | } 20 | }, 21 | "options": { 22 | "endpoint": "https://vmt.hafas.de/bin/ticketing/mgate.exe", 23 | "client": { 24 | "type": "IPH", 25 | "id": "HAFAS", 26 | "name": "VMT", 27 | "v": "2040100" 28 | }, 29 | "ver": "1.18", 30 | "auth": { 31 | "type": "AID", 32 | "aid": "t2h7u1e6r4i8n3g7e0n" 33 | }, 34 | "products": [ 35 | { 36 | "id": "long-distance-train", 37 | "bitmasks": [1, 2, 4], 38 | "name": "long-distance train" 39 | }, 40 | { 41 | "id": "regional-train", 42 | "bitmasks": [8, 16], 43 | "name": "regional train" 44 | }, 45 | { 46 | "id": "tram", 47 | "bitmasks": [32], 48 | "name": "tram" 49 | }, 50 | { 51 | "id": "bus", 52 | "bitmasks": [256], 53 | "name": "bus" 54 | } 55 | ] 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /data/de/vmv-efa.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Verkehrsgesellschaft Mecklenburg-Vorpommern (VMV)", 3 | "coverage": { 4 | "realtimeCoverage": { 5 | "area": { 6 | "coordinates": [ 7 | [ [ 10.7879, 54.1154 ], [ 10.5114, 53.0571 ], [ 14.4201, 53.1954 ], [ 14.0957, 54.9238 ], [ 10.7879, 54.1154 ] ] 8 | ], 9 | "type": "Polygon" 10 | }, 11 | "region": [ "DE-MV" ] 12 | } 13 | }, 14 | "options": { 15 | "endpoint": "https://fahrplanauskunft-mv.de/vmv3/", 16 | "supportedOutputFormats": [ "XML", "JSON" ], 17 | "xmlOutputFormat": "full" 18 | }, 19 | "supportedLanguages": [ "en", "de" ], 20 | "timezone": "Europe/Berlin", 21 | "type": { 22 | "efa": true 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /data/de/vos-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Verkehrsgemeinschaft Osnabrück (VOS)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de" 8 | ], 9 | "timezone": "Europe/Berlin", 10 | "attribution": { 11 | "name": "Verkehrsgemeinschaft Osnabrück (VOS)", 12 | "homepage": "https://vos.info/", 13 | "isProprietary": true 14 | }, 15 | "coverage": { 16 | "realtimeCoverage": { 17 | "area": {"type":"Polygon","coordinates":[[[7.5971,52.4971],[7.6054,52.4692],[7.6819,52.4514],[7.7092,52.3974],[7.8054,52.367],[7.8928,52.3745],[7.9338,52.3576],[7.942,52.3332],[7.9722,52.3091],[7.9255,52.3036],[7.9244,52.2845],[7.9476,52.2724],[7.9176,52.2643],[7.9192,52.2282],[7.8926,52.2062],[7.9071,52.1824],[7.9299,52.1729],[8.0083,52.1702],[7.99,52.1545],[7.9998,52.1199],[7.9685,52.1201],[7.8795,52.0873],[7.9136,52.0478],[7.9822,52.0314],[8.0304,52.0609],[8.0967,52.0526],[8.1384,52.0686],[8.1959,52.0683],[8.2175,52.0956],[8.2772,52.1267],[8.3966,52.1043],[8.4175,52.1133],[8.4202,52.136],[8.4855,52.1561],[8.5244,52.1841],[8.4535,52.2134],[8.4758,52.2473],[8.4663,52.2931],[8.4781,52.3156],[8.4482,52.3638],[8.3263,52.405],[8.3289,52.4275],[8.3045,52.4558],[8.319,52.4936],[8.3129,52.5027],[8.1988,52.484],[8.1563,52.4388],[8.1328,52.449],[8.0658,52.4498],[8.0691,52.5038],[8.0238,52.528],[8.0433,52.5302],[8.0485,52.5851],[8.0777,52.5945],[8.0948,52.6238],[8.0782,52.6478],[8.0216,52.6879],[7.9743,52.7011],[7.9188,52.6852],[7.8545,52.714],[7.7993,52.7042],[7.7618,52.6818],[7.6829,52.6825],[7.6857,52.6661],[7.6003,52.6186],[7.6128,52.5879],[7.612,52.5369],[7.5971,52.4971]]]}, 18 | "region": [ "DE-NI" ] 19 | } 20 | }, 21 | "options": { 22 | "auth": { 23 | "type": "AID", 24 | "aid": "PnYowCQP7Tp1V" 25 | }, 26 | "client": { 27 | "id": "SWO", 28 | "type": "WEB", 29 | "name": "webapp", 30 | "l": "vs_swo" 31 | }, 32 | "endpoint": "https://fahrplan.vos.info/bin/mgate.exe", 33 | "products": [ 34 | { 35 | "id": "ice", 36 | "bitmasks": [1], 37 | "name": "ICE" 38 | }, 39 | { 40 | "id": "national-train", 41 | "bitmasks": [2], 42 | "name": "IC/EC" 43 | }, 44 | { 45 | "id": "express-train", 46 | "bitmasks": [4], 47 | "name": "IR, sonstiger Schnellzug" 48 | }, 49 | { 50 | "id": "local-train", 51 | "bitmasks": [8], 52 | "name": "Nahverkehr" 53 | }, 54 | { 55 | "id": "suburban-train", 56 | "bitmasks": [16], 57 | "name": "S-Bahn" 58 | }, 59 | { 60 | "id": "bus", 61 | "bitmasks": [32], 62 | "name": "Bus" 63 | }, 64 | { 65 | "id": "ferry", 66 | "bitmasks": [64], 67 | "name": "Schiff" 68 | }, 69 | { 70 | "id": "subway", 71 | "bitmasks": [128], 72 | "name": "U-Bahn" 73 | }, 74 | { 75 | "id": "tram", 76 | "bitmasks": [256], 77 | "name": "Tram" 78 | }, 79 | { 80 | "id": "on-call", 81 | "bitmasks": [512], 82 | "name": "Anrufverkehr" 83 | } 84 | ] 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /data/de/vrn-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Verkehrsverbund Rhein-Neckar (VRN)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de", 8 | "en" 9 | ], 10 | "timezone": "Europe/Berlin", 11 | "attribution": { 12 | "name": "Verkehrsverbund Rhein-Neckar GmbH", 13 | "homepage": "https://www.vrn.de/", 14 | "isProprietary": true 15 | }, 16 | "coverage": { 17 | "realtimeCoverage": { 18 | "area": {"type":"Polygon","coordinates":[[[7.2391,49.4459],[7.2514,49.4232],[7.2845,49.413],[7.285,49.3864],[7.39,49.3578],[7.3847,49.3488],[7.3948,49.3402],[7.3712,49.321],[7.3773,49.2921],[7.3298,49.2813],[7.3367,49.2708],[7.3209,49.2549],[7.3031,49.2603],[7.282,49.2373],[7.2958,49.2208],[7.2893,49.2036],[7.3291,49.1824],[7.3462,49.1593],[7.3652,49.1542],[7.3719,49.1686],[7.429,49.1773],[7.4347,49.16],[7.4858,49.1651],[7.4947,49.1507],[7.4828,49.1353],[7.5104,49.1178],[7.5233,49.0943],[7.5613,49.076],[7.6241,49.0695],[7.6248,49.0536],[7.6357,49.049],[7.7603,49.041],[7.7985,49.0596],[7.8672,49.0285],[7.8894,49.0432],[7.9196,49.0367],[7.9361,49.051],[7.9708,49.0231],[8.0465,49.0094],[8.0656,48.9949],[8.0757,48.9995],[8.0833,49.0331],[8.0762,49.0642],[8.0625,49.0681],[8.1081,49.0826],[8.1085,49.0948],[8.1271,49.1017],[8.1245,49.1256],[8.1631,49.1286],[8.2105,49.1044],[8.2315,49.1196],[8.2698,49.1234],[8.2625,49.1747],[8.2235,49.1764],[8.2237,49.207],[8.2439,49.2088],[8.24,49.2567],[8.2569,49.2606],[8.2557,49.2721],[8.3239,49.2899],[8.3606,49.277],[8.3919,49.246],[8.4167,49.246],[8.4889,49.2843],[8.5226,49.2617],[8.5517,49.2639],[8.6127,49.2365],[8.7002,49.2223],[8.7204,49.2311],[8.741,49.2208],[8.7489,49.2018],[8.8089,49.1943],[8.8737,49.1699],[8.9026,49.1801],[8.8954,49.1983],[8.9602,49.209],[9.0098,49.2386],[9.0487,49.2822],[9.1528,49.2697],[9.1656,49.3195],[9.194,49.3227],[9.2382,49.2936],[9.2556,49.2947],[9.2743,49.3255],[9.2927,49.327],[9.3005,49.3448],[9.3213,49.355],[9.3166,49.3741],[9.3297,49.3825],[9.3514,49.3627],[9.4176,49.3536],[9.4488,49.3615],[9.4549,49.3891],[9.5064,49.3709],[9.5738,49.372],[9.6007,49.3911],[9.5801,49.4145],[9.6167,49.4241],[9.6705,49.4024],[9.703,49.4124],[9.7159,49.3929],[9.7763,49.3891],[9.7961,49.4032],[9.8069,49.3852],[9.8334,49.383],[9.8406,49.365],[9.9195,49.3682],[9.935,49.3471],[9.978,49.3701],[10.0436,49.3648],[10.0424,49.3788],[10.053,49.3846],[10.1013,49.3913],[10.1099,49.3808],[10.1452,49.3791],[10.1686,49.3949],[10.1387,49.4406],[10.1039,49.4503],[10.1289,49.463],[10.1085,49.4918],[10.1282,49.5113],[10.087,49.5188],[10.1003,49.5321],[10.0873,49.5474],[10.059,49.5493],[10.0328,49.5326],[10.0453,49.5112],[10.0235,49.5073],[10.011,49.4877],[9.952,49.4856],[9.9222,49.494],[9.9346,49.5494],[9.929,49.5648],[9.9073,49.5669],[9.9164,49.5894],[9.8704,49.5817],[9.8533,49.5506],[9.8261,49.5584],[9.8552,49.5759],[9.8503,49.5931],[9.8797,49.6106],[9.8618,49.6434],[9.8317,49.6654],[9.8481,49.6815],[9.839,49.7042],[9.8027,49.7238],[9.8041,49.7346],[9.7483,49.7135],[9.7352,49.6939],[9.7115,49.7315],[9.6719,49.7193],[9.6674,49.6956],[9.6396,49.6977],[9.6338,49.7057],[9.6538,49.7385],[9.6456,49.7542],[9.6577,49.7655],[9.6518,49.7953],[9.5648,49.787],[9.5502,49.7698],[9.5228,49.7654],[9.5181,49.785],[9.5009,49.7933],[9.4757,49.7909],[9.4574,49.7739],[9.4238,49.7941],[9.3892,49.7752],[9.3697,49.7837],[9.3121,49.7719],[9.3065,49.76],[9.3166,49.7455],[9.2899,49.7366],[9.3533,49.7269],[9.3372,49.7169],[9.356,49.6998],[9.3862,49.7025],[9.3942,49.7257],[9.412,49.7085],[9.4133,49.6917],[9.39,49.6716],[9.4103,49.6562],[9.3848,49.6487],[9.366,49.6628],[9.3388,49.6489],[9.3003,49.6587],[9.2656,49.6368],[9.2743,49.6162],[9.2355,49.5855],[9.107,49.5836],[9.0887,49.5654],[9.0701,49.5789],[9.0639,49.5639],[9.0776,49.5415],[9.1085,49.5315],[9.1161,49.5173],[9.1032,49.5301],[9.0619,49.5345],[9.0352,49.504],[8.986,49.5147],[8.9476,49.5091],[8.9496,49.4961],[8.9308,49.4812],[8.9073,49.4901],[8.9185,49.5239],[8.8996,49.5327],[8.8899,49.5585],[8.8886,49.6015],[8.898,49.6061],[8.8723,49.6445],[8.8894,49.6479],[8.8931,49.6593],[8.8418,49.6658],[8.8032,49.6885],[8.8142,49.7073],[8.7947,49.7204],[8.8022,49.7417],[8.7408,49.7277],[8.7006,49.7592],[8.6744,49.7467],[8.6728,49.7312],[8.5953,49.7388],[8.4949,49.7276],[8.4576,49.7353],[8.4848,49.7566],[8.4826,49.7694],[8.4272,49.7719],[8.4001,49.808],[8.3536,49.7869],[8.3092,49.7874],[8.2834,49.7569],[8.2418,49.7744],[8.2387,49.8253],[8.201,49.8272],[8.1987,49.8391],[8.2214,49.8549],[8.1768,49.9042],[8.0455,49.8887],[8.0484,49.8687],[7.9217,49.8137],[7.9247,49.7731],[7.909,49.7603],[7.8616,49.7704],[7.7829,49.7585],[7.7627,49.7681],[7.751,49.7596],[7.7581,49.7462],[7.7176,49.722],[7.7264,49.6982],[7.7146,49.6736],[7.675,49.6445],[7.6608,49.6431],[7.6829,49.6674],[7.672,49.6758],[7.6791,49.6885],[7.66,49.706],[7.6381,49.6907],[7.6001,49.6859],[7.5663,49.691],[7.535,49.7184],[7.5152,49.7086],[7.5163,49.6828],[7.446,49.6763],[7.4196,49.6525],[7.4366,49.6155],[7.434,49.5966],[7.3596,49.5998],[7.3125,49.5611],[7.2699,49.5505],[7.2702,49.5352],[7.2936,49.5268],[7.2794,49.5184],[7.2714,49.4834],[7.2966,49.4732],[7.2391,49.4459]],[[9.0389,49.2904],[9.0418,49.2898],[9.0419,49.2893],[9.0389,49.2904]],[[9.5602,49.7522],[9.562,49.7498],[9.5616,49.7489],[9.5605,49.7499],[9.5602,49.7522]]]}, 19 | "region": [ "DE-RP", "DE-HE", "DE-BW" ] 20 | } 21 | }, 22 | "options": { 23 | "endpoint": "https://vrn.hafas.de/bin/mgate.exe", 24 | "client": { 25 | "type": "IPH", 26 | "id": "DB-REGIO-VRN", 27 | "name": "VRN", 28 | "v": "6000400" 29 | }, 30 | "ext": "DB.R19.04.a", 31 | "ver": "1.24", 32 | "auth": { 33 | "type": "AID", 34 | "aid": "p091VRNZz79KtUz5" 35 | }, 36 | "products": [ 37 | { 38 | "id": "regional-train", 39 | "bitmasks": [8], 40 | "name": "regional train" 41 | }, 42 | { 43 | "id": "urban-train", 44 | "bitmasks": [16], 45 | "name": "urban train" 46 | }, 47 | { 48 | "id": "subway", 49 | "bitmasks": [128], 50 | "name": "subway" 51 | }, 52 | { 53 | "id": "tram", 54 | "bitmasks": [256], 55 | "name": "tram" 56 | }, 57 | { 58 | "id": "bus", 59 | "bitmasks": [32], 60 | "name": "Bus" 61 | }, 62 | { 63 | "id": "dial-a-ride", 64 | "bitmasks": [512], 65 | "name": "dial-a-ride" 66 | }, 67 | { 68 | "id": "long-distance-train", 69 | "bitmasks": [1, 2, 4], 70 | "name": "long-distance train" 71 | } 72 | ] 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /data/de/vrn-trias-test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Verkehrsverbund Rhein-Neckar (VRN) testing", 3 | "coverage": { 4 | "realtimeCoverage": { 5 | "area": {"type":"Polygon","coordinates":[[[7.2391,49.4459],[7.2514,49.4232],[7.2845,49.413],[7.285,49.3864],[7.39,49.3578],[7.3847,49.3488],[7.3948,49.3402],[7.3712,49.321],[7.3773,49.2921],[7.3298,49.2813],[7.3367,49.2708],[7.3209,49.2549],[7.3031,49.2603],[7.282,49.2373],[7.2958,49.2208],[7.2893,49.2036],[7.3291,49.1824],[7.3462,49.1593],[7.3652,49.1542],[7.3719,49.1686],[7.429,49.1773],[7.4347,49.16],[7.4858,49.1651],[7.4947,49.1507],[7.4828,49.1353],[7.5104,49.1178],[7.5233,49.0943],[7.5613,49.076],[7.6241,49.0695],[7.6248,49.0536],[7.6357,49.049],[7.7603,49.041],[7.7985,49.0596],[7.8672,49.0285],[7.8894,49.0432],[7.9196,49.0367],[7.9361,49.051],[7.9708,49.0231],[8.0465,49.0094],[8.0656,48.9949],[8.0757,48.9995],[8.0833,49.0331],[8.0762,49.0642],[8.0625,49.0681],[8.1081,49.0826],[8.1085,49.0948],[8.1271,49.1017],[8.1245,49.1256],[8.1631,49.1286],[8.2105,49.1044],[8.2315,49.1196],[8.2698,49.1234],[8.2625,49.1747],[8.2235,49.1764],[8.2237,49.207],[8.2439,49.2088],[8.24,49.2567],[8.2569,49.2606],[8.2557,49.2721],[8.3239,49.2899],[8.3606,49.277],[8.3919,49.246],[8.4167,49.246],[8.4889,49.2843],[8.5226,49.2617],[8.5517,49.2639],[8.6127,49.2365],[8.7002,49.2223],[8.7204,49.2311],[8.741,49.2208],[8.7489,49.2018],[8.8089,49.1943],[8.8737,49.1699],[8.9026,49.1801],[8.8954,49.1983],[8.9602,49.209],[9.0098,49.2386],[9.0487,49.2822],[9.1528,49.2697],[9.1656,49.3195],[9.194,49.3227],[9.2382,49.2936],[9.2556,49.2947],[9.2743,49.3255],[9.2927,49.327],[9.3005,49.3448],[9.3213,49.355],[9.3166,49.3741],[9.3297,49.3825],[9.3514,49.3627],[9.4176,49.3536],[9.4488,49.3615],[9.4549,49.3891],[9.5064,49.3709],[9.5738,49.372],[9.6007,49.3911],[9.5801,49.4145],[9.6167,49.4241],[9.6705,49.4024],[9.703,49.4124],[9.7159,49.3929],[9.7763,49.3891],[9.7961,49.4032],[9.8069,49.3852],[9.8334,49.383],[9.8406,49.365],[9.9195,49.3682],[9.935,49.3471],[9.978,49.3701],[10.0436,49.3648],[10.0424,49.3788],[10.053,49.3846],[10.1013,49.3913],[10.1099,49.3808],[10.1452,49.3791],[10.1686,49.3949],[10.1387,49.4406],[10.1039,49.4503],[10.1289,49.463],[10.1085,49.4918],[10.1282,49.5113],[10.087,49.5188],[10.1003,49.5321],[10.0873,49.5474],[10.059,49.5493],[10.0328,49.5326],[10.0453,49.5112],[10.0235,49.5073],[10.011,49.4877],[9.952,49.4856],[9.9222,49.494],[9.9346,49.5494],[9.929,49.5648],[9.9073,49.5669],[9.9164,49.5894],[9.8704,49.5817],[9.8533,49.5506],[9.8261,49.5584],[9.8552,49.5759],[9.8503,49.5931],[9.8797,49.6106],[9.8618,49.6434],[9.8317,49.6654],[9.8481,49.6815],[9.839,49.7042],[9.8027,49.7238],[9.8041,49.7346],[9.7483,49.7135],[9.7352,49.6939],[9.7115,49.7315],[9.6719,49.7193],[9.6674,49.6956],[9.6396,49.6977],[9.6338,49.7057],[9.6538,49.7385],[9.6456,49.7542],[9.6577,49.7655],[9.6518,49.7953],[9.5648,49.787],[9.5502,49.7698],[9.5228,49.7654],[9.5181,49.785],[9.5009,49.7933],[9.4757,49.7909],[9.4574,49.7739],[9.4238,49.7941],[9.3892,49.7752],[9.3697,49.7837],[9.3121,49.7719],[9.3065,49.76],[9.3166,49.7455],[9.2899,49.7366],[9.3533,49.7269],[9.3372,49.7169],[9.356,49.6998],[9.3862,49.7025],[9.3942,49.7257],[9.412,49.7085],[9.4133,49.6917],[9.39,49.6716],[9.4103,49.6562],[9.3848,49.6487],[9.366,49.6628],[9.3388,49.6489],[9.3003,49.6587],[9.2656,49.6368],[9.2743,49.6162],[9.2355,49.5855],[9.107,49.5836],[9.0887,49.5654],[9.0701,49.5789],[9.0639,49.5639],[9.0776,49.5415],[9.1085,49.5315],[9.1161,49.5173],[9.1032,49.5301],[9.0619,49.5345],[9.0352,49.504],[8.986,49.5147],[8.9476,49.5091],[8.9496,49.4961],[8.9308,49.4812],[8.9073,49.4901],[8.9185,49.5239],[8.8996,49.5327],[8.8899,49.5585],[8.8886,49.6015],[8.898,49.6061],[8.8723,49.6445],[8.8894,49.6479],[8.8931,49.6593],[8.8418,49.6658],[8.8032,49.6885],[8.8142,49.7073],[8.7947,49.7204],[8.8022,49.7417],[8.7408,49.7277],[8.7006,49.7592],[8.6744,49.7467],[8.6728,49.7312],[8.5953,49.7388],[8.4949,49.7276],[8.4576,49.7353],[8.4848,49.7566],[8.4826,49.7694],[8.4272,49.7719],[8.4001,49.808],[8.3536,49.7869],[8.3092,49.7874],[8.2834,49.7569],[8.2418,49.7744],[8.2387,49.8253],[8.201,49.8272],[8.1987,49.8391],[8.2214,49.8549],[8.1768,49.9042],[8.0455,49.8887],[8.0484,49.8687],[7.9217,49.8137],[7.9247,49.7731],[7.909,49.7603],[7.8616,49.7704],[7.7829,49.7585],[7.7627,49.7681],[7.751,49.7596],[7.7581,49.7462],[7.7176,49.722],[7.7264,49.6982],[7.7146,49.6736],[7.675,49.6445],[7.6608,49.6431],[7.6829,49.6674],[7.672,49.6758],[7.6791,49.6885],[7.66,49.706],[7.6381,49.6907],[7.6001,49.6859],[7.5663,49.691],[7.535,49.7184],[7.5152,49.7086],[7.5163,49.6828],[7.446,49.6763],[7.4196,49.6525],[7.4366,49.6155],[7.434,49.5966],[7.3596,49.5998],[7.3125,49.5611],[7.2699,49.5505],[7.2702,49.5352],[7.2936,49.5268],[7.2794,49.5184],[7.2714,49.4834],[7.2966,49.4732],[7.2391,49.4459]],[[9.0389,49.2904],[9.0418,49.2898],[9.0419,49.2893],[9.0389,49.2904]],[[9.5602,49.7522],[9.562,49.7498],[9.5616,49.7489],[9.5605,49.7499],[9.5602,49.7522]]]}, 6 | "region": [ "DE-RP", "DE-HE", "DE-BW" ] 7 | } 8 | }, 9 | "options": { 10 | "endpoint": "https://www.vrn.de/service/entwickler/trias-test/", 11 | "isTestingEndpoint": true, 12 | "triasVersion": 1.2, 13 | "requestContentType": "text/xml", 14 | "requiresSignUp": true, 15 | "requiresContract": false, 16 | "authorizationMethod": "Authorization-Header", 17 | "providedServices": ["TripRequest", "LocationInformationRequest"] 18 | }, 19 | "supportedLanguages": [ "en", "de" ], 20 | "timezone": "Europe/Berlin", 21 | "type": { 22 | "trias": true 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /data/de/vrn-trias.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Verkehrsverbund Rhein-Neckar (VRN)", 3 | "coverage": { 4 | "realtimeCoverage": { 5 | "area": {"type":"Polygon","coordinates":[[[7.2391,49.4459],[7.2514,49.4232],[7.2845,49.413],[7.285,49.3864],[7.39,49.3578],[7.3847,49.3488],[7.3948,49.3402],[7.3712,49.321],[7.3773,49.2921],[7.3298,49.2813],[7.3367,49.2708],[7.3209,49.2549],[7.3031,49.2603],[7.282,49.2373],[7.2958,49.2208],[7.2893,49.2036],[7.3291,49.1824],[7.3462,49.1593],[7.3652,49.1542],[7.3719,49.1686],[7.429,49.1773],[7.4347,49.16],[7.4858,49.1651],[7.4947,49.1507],[7.4828,49.1353],[7.5104,49.1178],[7.5233,49.0943],[7.5613,49.076],[7.6241,49.0695],[7.6248,49.0536],[7.6357,49.049],[7.7603,49.041],[7.7985,49.0596],[7.8672,49.0285],[7.8894,49.0432],[7.9196,49.0367],[7.9361,49.051],[7.9708,49.0231],[8.0465,49.0094],[8.0656,48.9949],[8.0757,48.9995],[8.0833,49.0331],[8.0762,49.0642],[8.0625,49.0681],[8.1081,49.0826],[8.1085,49.0948],[8.1271,49.1017],[8.1245,49.1256],[8.1631,49.1286],[8.2105,49.1044],[8.2315,49.1196],[8.2698,49.1234],[8.2625,49.1747],[8.2235,49.1764],[8.2237,49.207],[8.2439,49.2088],[8.24,49.2567],[8.2569,49.2606],[8.2557,49.2721],[8.3239,49.2899],[8.3606,49.277],[8.3919,49.246],[8.4167,49.246],[8.4889,49.2843],[8.5226,49.2617],[8.5517,49.2639],[8.6127,49.2365],[8.7002,49.2223],[8.7204,49.2311],[8.741,49.2208],[8.7489,49.2018],[8.8089,49.1943],[8.8737,49.1699],[8.9026,49.1801],[8.8954,49.1983],[8.9602,49.209],[9.0098,49.2386],[9.0487,49.2822],[9.1528,49.2697],[9.1656,49.3195],[9.194,49.3227],[9.2382,49.2936],[9.2556,49.2947],[9.2743,49.3255],[9.2927,49.327],[9.3005,49.3448],[9.3213,49.355],[9.3166,49.3741],[9.3297,49.3825],[9.3514,49.3627],[9.4176,49.3536],[9.4488,49.3615],[9.4549,49.3891],[9.5064,49.3709],[9.5738,49.372],[9.6007,49.3911],[9.5801,49.4145],[9.6167,49.4241],[9.6705,49.4024],[9.703,49.4124],[9.7159,49.3929],[9.7763,49.3891],[9.7961,49.4032],[9.8069,49.3852],[9.8334,49.383],[9.8406,49.365],[9.9195,49.3682],[9.935,49.3471],[9.978,49.3701],[10.0436,49.3648],[10.0424,49.3788],[10.053,49.3846],[10.1013,49.3913],[10.1099,49.3808],[10.1452,49.3791],[10.1686,49.3949],[10.1387,49.4406],[10.1039,49.4503],[10.1289,49.463],[10.1085,49.4918],[10.1282,49.5113],[10.087,49.5188],[10.1003,49.5321],[10.0873,49.5474],[10.059,49.5493],[10.0328,49.5326],[10.0453,49.5112],[10.0235,49.5073],[10.011,49.4877],[9.952,49.4856],[9.9222,49.494],[9.9346,49.5494],[9.929,49.5648],[9.9073,49.5669],[9.9164,49.5894],[9.8704,49.5817],[9.8533,49.5506],[9.8261,49.5584],[9.8552,49.5759],[9.8503,49.5931],[9.8797,49.6106],[9.8618,49.6434],[9.8317,49.6654],[9.8481,49.6815],[9.839,49.7042],[9.8027,49.7238],[9.8041,49.7346],[9.7483,49.7135],[9.7352,49.6939],[9.7115,49.7315],[9.6719,49.7193],[9.6674,49.6956],[9.6396,49.6977],[9.6338,49.7057],[9.6538,49.7385],[9.6456,49.7542],[9.6577,49.7655],[9.6518,49.7953],[9.5648,49.787],[9.5502,49.7698],[9.5228,49.7654],[9.5181,49.785],[9.5009,49.7933],[9.4757,49.7909],[9.4574,49.7739],[9.4238,49.7941],[9.3892,49.7752],[9.3697,49.7837],[9.3121,49.7719],[9.3065,49.76],[9.3166,49.7455],[9.2899,49.7366],[9.3533,49.7269],[9.3372,49.7169],[9.356,49.6998],[9.3862,49.7025],[9.3942,49.7257],[9.412,49.7085],[9.4133,49.6917],[9.39,49.6716],[9.4103,49.6562],[9.3848,49.6487],[9.366,49.6628],[9.3388,49.6489],[9.3003,49.6587],[9.2656,49.6368],[9.2743,49.6162],[9.2355,49.5855],[9.107,49.5836],[9.0887,49.5654],[9.0701,49.5789],[9.0639,49.5639],[9.0776,49.5415],[9.1085,49.5315],[9.1161,49.5173],[9.1032,49.5301],[9.0619,49.5345],[9.0352,49.504],[8.986,49.5147],[8.9476,49.5091],[8.9496,49.4961],[8.9308,49.4812],[8.9073,49.4901],[8.9185,49.5239],[8.8996,49.5327],[8.8899,49.5585],[8.8886,49.6015],[8.898,49.6061],[8.8723,49.6445],[8.8894,49.6479],[8.8931,49.6593],[8.8418,49.6658],[8.8032,49.6885],[8.8142,49.7073],[8.7947,49.7204],[8.8022,49.7417],[8.7408,49.7277],[8.7006,49.7592],[8.6744,49.7467],[8.6728,49.7312],[8.5953,49.7388],[8.4949,49.7276],[8.4576,49.7353],[8.4848,49.7566],[8.4826,49.7694],[8.4272,49.7719],[8.4001,49.808],[8.3536,49.7869],[8.3092,49.7874],[8.2834,49.7569],[8.2418,49.7744],[8.2387,49.8253],[8.201,49.8272],[8.1987,49.8391],[8.2214,49.8549],[8.1768,49.9042],[8.0455,49.8887],[8.0484,49.8687],[7.9217,49.8137],[7.9247,49.7731],[7.909,49.7603],[7.8616,49.7704],[7.7829,49.7585],[7.7627,49.7681],[7.751,49.7596],[7.7581,49.7462],[7.7176,49.722],[7.7264,49.6982],[7.7146,49.6736],[7.675,49.6445],[7.6608,49.6431],[7.6829,49.6674],[7.672,49.6758],[7.6791,49.6885],[7.66,49.706],[7.6381,49.6907],[7.6001,49.6859],[7.5663,49.691],[7.535,49.7184],[7.5152,49.7086],[7.5163,49.6828],[7.446,49.6763],[7.4196,49.6525],[7.4366,49.6155],[7.434,49.5966],[7.3596,49.5998],[7.3125,49.5611],[7.2699,49.5505],[7.2702,49.5352],[7.2936,49.5268],[7.2794,49.5184],[7.2714,49.4834],[7.2966,49.4732],[7.2391,49.4459]],[[9.0389,49.2904],[9.0418,49.2898],[9.0419,49.2893],[9.0389,49.2904]],[[9.5602,49.7522],[9.562,49.7498],[9.5616,49.7489],[9.5605,49.7499],[9.5602,49.7522]]]}, 6 | "region": [ "DE-RP", "DE-HE", "DE-BW" ] 7 | } 8 | }, 9 | "options": { 10 | "endpoint": "https://www.vrn.de/service/entwickler/trias-live/", 11 | "isTestingEndpoint": false, 12 | "triasVersion": 1.2, 13 | "requestContentType": "text/xml", 14 | "requiresSignUp": true, 15 | "requiresContract": false, 16 | "authorizationMethod": "Authorization-Header", 17 | "providedServices": ["TripRequest", "LocationInformationRequest"] 18 | }, 19 | "supportedLanguages": [ "en", "de" ], 20 | "timezone": "Europe/Berlin", 21 | "type": { 22 | "trias": true 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /data/de/vrr-efa.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Verkehrsverbund Rhein-Ruhr (VRR)", 3 | "type": { 4 | "efa": true 5 | }, 6 | "coverage": { 7 | "realtimeCoverage": { 8 | "area": {"type":"Polygon","coordinates":[[[5.945492,51.824443],[6.035572,51.842663],[6.035644,51.842644],[6.06319,51.865069],[6.063334,51.865431],[6.158104,51.843014],[6.166148,51.84084],[6.167186,51.861396],[6.16714,51.861451],[6.103734,51.892194],[6.103523,51.892387],[6.156159,51.905292],[6.157308,51.905192],[6.20931,51.869258],[6.210262,51.868949],[6.27804,51.874335],[6.278763,51.874297],[6.306008,51.849317],[6.306122,51.849042],[6.354486,51.848621],[6.357869,51.847522],[6.426657,51.818903],[6.427364,51.819059],[6.432104,51.803208],[6.433084,51.802941],[6.516099,51.815049],[6.517687,51.816536],[6.566775,51.791457],[6.568637,51.789875],[6.634639,51.798928],[6.634927,51.798884],[6.667817,51.778166],[6.668289,51.777179],[6.757947,51.776409],[6.758227,51.776364],[6.772454,51.746619],[6.772341,51.745821],[6.858011,51.729751],[6.858048,51.72896],[6.910561,51.746007],[6.911238,51.746261],[6.916361,51.778342],[6.916336,51.778412],[6.955566,51.771899],[6.95608,51.771884],[6.975236,51.798101],[6.976367,51.798895],[7.019932,51.80001],[7.020165,51.800032],[7.029785,51.784534],[7.030124,51.783886],[7.0752,51.777379],[7.075407,51.777388],[7.189649,51.820427],[7.191316,51.821401],[7.260076,51.799999],[7.260168,51.799944],[7.272538,51.778739],[7.27283,51.778515],[7.259219,51.773198],[7.259068,51.77316],[7.28001,51.749468],[7.280159,51.749202],[7.31999,51.737141],[7.321064,51.736974],[7.299221,51.70606],[7.299553,51.705821],[7.443573,51.659743],[7.44397,51.659423],[7.465241,51.629231],[7.465031,51.628473],[7.418877,51.599999],[7.418762,51.599943],[7.418536,51.585451],[7.417964,51.585038],[7.587924,51.582578],[7.590302,51.58323],[7.591945,51.566246],[7.590684,51.565937],[7.629103,51.550512],[7.632391,51.548943],[7.636752,51.530173],[7.638168,51.527648],[7.597053,51.507703],[7.596497,51.507603],[7.614271,51.485221],[7.617573,51.48264],[7.587373,51.465119],[7.584734,51.464406],[7.547135,51.466922],[7.546032,51.466387],[7.551577,51.455512],[7.55259,51.4551],[7.532408,51.43527],[7.532095,51.434964],[7.50382,51.425938],[7.503093,51.425095],[7.53126,51.395788],[7.531145,51.395665],[7.590246,51.38607],[7.590519,51.385887],[7.598891,51.346569],[7.598893,51.346529],[7.578786,51.331555],[7.576792,51.330224],[7.582618,51.29581],[7.582609,51.295782],[7.435619,51.213236],[7.435408,51.213154],[7.424984,51.227026],[7.423359,51.227954],[7.398502,51.2247],[7.397977,51.224862],[7.392808,51.245849],[7.391896,51.246136],[7.313956,51.245011],[7.313795,51.244932],[7.295938,51.220431],[7.295243,51.22067],[7.309102,51.183761],[7.309143,51.183451],[7.292128,51.145652],[7.29211,51.145573],[7.220098,51.160979],[7.21963,51.16105],[7.165684,51.153654],[7.165345,51.153732],[7.159895,51.133384],[7.159878,51.133238],[7.176929,51.125532],[7.177184,51.125218],[7.148982,51.114893],[7.148176,51.114231],[7.109707,51.13753],[7.109293,51.137638],[7.026026,51.130208],[7.025254,51.130146],[6.988966,51.107996],[6.988753,51.107744],[6.976368,51.068457],[6.974359,51.067479],[6.923396,51.080587],[6.921845,51.082016],[6.899146,51.066019],[6.89772,51.064762],[6.862407,51.073062],[6.861242,51.073424],[6.813725,51.045941],[6.813146,51.045921],[6.791275,51.067415],[6.790206,51.067783],[6.753539,51.065827],[6.753343,51.065905],[6.761836,51.04333],[6.762003,51.042626],[6.74603,51.044553],[6.743725,51.046324],[6.716359,51.016051],[6.715539,51.015071],[6.581778,51.018407],[6.581575,51.01843],[6.552451,51.034662],[6.550655,51.034569],[6.557402,51.051001],[6.557889,51.051287],[6.53608,51.055882],[6.534712,51.059405],[6.481852,51.036967],[6.480442,51.034229],[6.459284,51.043013],[6.459246,51.043119],[6.477272,51.056036],[6.477241,51.056143],[6.447232,51.062475],[6.44506,51.065268],[6.450474,51.089634],[6.450519,51.089769],[6.364415,51.092294],[6.36413,51.092319],[6.355376,51.125651],[6.35569,51.126115],[6.262852,51.185965],[6.262718,51.186067],[6.211308,51.1669],[6.21108,51.166834],[6.165706,51.194198],[6.165187,51.194473],[6.100048,51.169848],[6.099957,51.169833],[6.075598,51.180285],[6.07316,51.182806],[6.068088,51.2191],[6.067985,51.220527],[6.085596,51.222149],[6.086104,51.222649],[6.072637,51.242578],[6.072634,51.242582],[6.124448,51.274645],[6.124528,51.274704],[6.168412,51.332009],[6.168627,51.332974],[6.226274,51.360245],[6.226399,51.360317],[6.214948,51.38943],[6.214585,51.389633],[6.226666,51.400288],[6.226667,51.40029],[6.205442,51.399508],[6.205352,51.39953],[6.223413,51.473628],[6.223562,51.474077],[6.200465,51.52683],[6.200222,51.527088],[6.091998,51.605597],[6.091403,51.605888],[6.117849,51.655734],[6.118011,51.656003],[6.031462,51.676568],[6.031138,51.676821],[6.026092,51.708657],[6.026127,51.708777],[6.044693,51.71669],[6.044763,51.716781],[6.029739,51.725347],[6.029412,51.725529],[5.955158,51.738168],[5.955054,51.738262],[5.952043,51.748906],[5.951993,51.748934],[5.991159,51.768123],[5.992086,51.770359],[5.945492,51.824443]]]}, 9 | "region": [ "DE-NW" ] 10 | } 11 | }, 12 | "supportedLanguages": [ 13 | "en", 14 | "de" 15 | ], 16 | "options": { 17 | "endpoint": "https://efa.vrr.de/standard/", 18 | "supportedOutputFormats": [ "XML", "JSON" ], 19 | "xmlOutputFormat": "full" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /data/de/vvo-trias.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vvo", 3 | "coverage": { 4 | "realtimeCoverage": { 5 | "area": { 6 | "coordinates": [ 7 | [[11.756,50.472],[11.774,50.633],[11.964,50.763],[12.092,50.75],[12.139,50.895],[12.26,50.959],[12.084,51.066],[12.015,51.297],[12.027,51.521],[12.206,51.696],[13.008,51.804],[13.235,51.709],[13.334,51.572],[13.728,51.503],[13.909,51.524],[14.108,51.675],[14.715,51.732],[15.041,51.571],[15.169,51.318],[15.103,51.023],[14.859,50.702],[14.679,50.694],[14.487,50.808],[13.893,50.598],[13.646,50.582],[13.523,50.48],[12.973,50.272],[12.598,50.27],[12.376,50.043],[12.243,50.05],[12.103,50.182],[11.898,50.24],[11.756,50.472]] 8 | ], 9 | "type": "Polygon" 10 | }, 11 | "region": [ "DE-SN" ] 12 | }, 13 | "regularCoverage": { 14 | "region": ["DE"] 15 | } 16 | }, 17 | "options": { 18 | "endpoint": "http://efa.vvo-online.de:8080/std3/trias", 19 | "isTestingEndpoint": false, 20 | "triasVersion": 1.1, 21 | "requestContentType": "text/xml", 22 | "requiresSignUp": false, 23 | "requiresContract": false, 24 | "providedServices": ["TripRequest", "StopEventRequest", "LocationInformationRequest"] 25 | }, 26 | "supportedLanguages": [ "en", "de" ], 27 | "timezone": "Europe/Berlin", 28 | "type": { 29 | "trias": true 30 | } 31 | } -------------------------------------------------------------------------------- /data/dk/rejseplanen-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Rejseplanen", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "dk", 8 | "en", 9 | "de" 10 | ], 11 | "timezone": "Europe/Copenhagen", 12 | "attribution": { 13 | "name": "Rejsekort & Rejseplan A/S", 14 | "homepage": "https://rejseplanen.dk/", 15 | "isProprietary": true 16 | }, 17 | "coverage": { 18 | "realtimeCoverage": { 19 | "region": ["DK"] 20 | } 21 | }, 22 | "options": { 23 | "endpoint": "https://mobilapps.rejseplanen.dk/bin/iphone.exe", 24 | "ext": "DK.9", 25 | "client": { 26 | "type": "AND", 27 | "id": "DK" 28 | }, 29 | "ver": "1.21", 30 | "auth": { 31 | "type": "AID", 32 | "aid": "irkmpm9mdznstenr-android" 33 | }, 34 | "products": [ 35 | { 36 | "id": "intercity", 37 | "bitmasks": [1], 38 | "name": "InterCity" 39 | }, 40 | { 41 | "id": "icl", 42 | "bitmasks": [2], 43 | "name": "ICL" 44 | }, 45 | { 46 | "id": "regional", 47 | "bitmasks": [4], 48 | "name": "Regional" 49 | }, 50 | { 51 | "id": "oe", 52 | "bitmasks": [8], 53 | "name": "Ø" 54 | }, 55 | { 56 | "id": "s-tog", 57 | "bitmasks": [16], 58 | "name": "S-Tog A/B/Bx/C/E/F/H" 59 | } 60 | ] 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /data/ee/peatus-otp.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Peatus", 3 | "coverage": { 4 | "anyCoverage": { 5 | "area": { 6 | "coordinates": [ [ [ 21.01000005, 56.47999934 ], [ 22.26000113, 60.4499993 ], [ 23.76000159, 61.48999981 ], [ 28.77000133, 60.69999991 ], [ 30.33000028, 59.94999924 ], [ 30.362018, 59.92978 ], [ 30.54000016, 56.33999986 ], [ 29.95999976, 55.84999959 ], [ 24.36999903, 55.72999942 ], [ 21.13999916, 55.68999934 ], [ 21.06999937, 55.91000052 ], [ 21.01000005, 56.47999934 ] ] ], 7 | "type": "Polygon" 8 | }, 9 | "region": [ "EE" ] 10 | } 11 | }, 12 | "options": { 13 | "apiVersion": "otp1", 14 | "endpoint": "https://api.peatus.ee/routing/v1/routers/estonia/" 15 | }, 16 | "supportedLanguages": [ "ee" ], 17 | "timezone": "Europe/Tallinn", 18 | "type": { 19 | "otpGraphQl": true 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /data/fi/helsinki-otp.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Helsinki", 3 | "attribution": { 4 | "license": "CC-BY-4.0", 5 | "name": "© Helsinki Region Transport" 6 | }, 7 | "coverage": { 8 | "realtimeCoverage": { 9 | "area": { 10 | "coordinates": [ [ [ 22.914567, 60.041371 ], [ 22.9434213602, 60.3180919992 ], [ 25.657575, 60.976337 ], [ 25.657594, 60.976337 ], [ 26.70497, 60.86537 ], [ 26.705, 60.86526 ], [ 26.7764662136, 60.3446014382 ], [ 24.430405, 59.987483 ], [ 23.4702944455, 59.8931539418 ], [ 22.923144, 60.038432 ], [ 22.914567, 60.041371 ] ] ], 11 | "type": "Polygon" 12 | }, 13 | "region": [ "FI-17" ] 14 | } 15 | }, 16 | "options": { 17 | "endpoint": "https://api.digitransit.fi/routing/v2/hsl/gtfs/v1", 18 | "supportedTransitModes": [ "TRANSIT" ] 19 | }, 20 | "supportedLanguages": [ "de", "en", "fi", "fr", "sv" ], 21 | "timezone": "Europe/Helsinki", 22 | "type": { 23 | "otpGraphQl": true 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /data/fi/varely-otp.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Varsinais-Suomen ELY", 3 | "coverage": { 4 | "realtimeCoverage": { 5 | "area": { 6 | "type": "MultiPolygon", 7 | "coordinates": [ 8 | [ 9 | [ 10 | [22.29, 59.42], 11 | [22.42, 59.42], 12 | [22.66, 59.52], 13 | [22.73, 59.53], 14 | [22.86, 59.92], 15 | [22.92, 59.91], 16 | [23.04, 59.91], 17 | [23.05, 60.02], 18 | [23.31, 60.1], 19 | [23.63, 60.1], 20 | [23.72, 60.13], 21 | [23.75, 60.23], 22 | [23.74, 60.25], 23 | [23.82, 60.3], 24 | [23.86, 60.3], 25 | [23.89, 60.42], 26 | [23.91, 60.42], 27 | [23.96, 60.46], 28 | [23.96, 60.58], 29 | [24.0, 60.62], 30 | [23.97, 60.73], 31 | [23.32, 60.82], 32 | [23.38, 60.88], 33 | [23.39, 61.01], 34 | [23.21, 61.1], 35 | [23.19, 61.12], 36 | [22.88, 61.18], 37 | [22.74, 61.23], 38 | [22.73, 61.07], 39 | [22.17, 60.97], 40 | [21.9, 61.08], 41 | [21.89, 61.13], 42 | [21.52, 61.1], 43 | [21.5, 61.09], 44 | [21.39, 61.16], 45 | [21.35, 61.19], 46 | [20.94, 61.21], 47 | [20.75, 61.23], 48 | [20.39, 60.98], 49 | [20.28, 60.94], 50 | [20.29, 60.81], 51 | [20.88, 60.63], 52 | [20.93, 60.62], 53 | [21.04, 60.52], 54 | [20.96, 60.21], 55 | [20.92, 60.1], 56 | [21.22, 59.84], 57 | [21.22, 59.84], 58 | [21.16, 59.71], 59 | [20.71, 59.53], 60 | [20.74, 59.38], 61 | [22.29, 59.42] 62 | ] 63 | ] 64 | ] 65 | }, 66 | "region": ["FI-19"] 67 | } 68 | }, 69 | "options": { 70 | "endpoint": "https://api.digitransit.fi/routing/v2/varely/gtfs/v1", 71 | "supportedTransitModes": ["TRANSIT"] 72 | }, 73 | "supportedLanguages": ["de", "en", "fi", "fr", "sv"], 74 | "timezone": "Europe/Helsinki", 75 | "type": { 76 | "otpGraphQl": true 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /data/fi/waltti-otp.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Waltti", 3 | "coverage": { 4 | "realtimeCoverage": { 5 | "area": { 6 | "coordinates": [ [ [ 21.329408, 60.22276 ], [ 21.519456, 63.001411 ], [ 21.519621, 63.002423 ], [ 21.545052, 63.147953 ], [ 25.185918, 67.005823 ], [ 26.296994, 66.967837 ], [ 27.249355, 66.272155 ], [ 30.933894, 62.671867 ], [ 30.936753, 62.666188 ], [ 30.935899, 62.561499 ], [ 30.935432, 62.549161 ], [ 28.669874, 60.984591 ], [ 27.840752, 60.601424 ], [ 26.903126, 60.429636 ], [ 24.941249, 60.172097 ], [ 22.411884, 59.921325 ], [ 21.598098, 60.112374 ], [ 21.582804, 60.116928 ], [ 21.58163, 60.117375 ], [ 21.362636, 60.200805 ], [ 21.362519, 60.200854 ], [ 21.346183, 60.209948 ], [ 21.329408, 60.22276 ] ] ], 7 | "type": "Polygon" 8 | }, 9 | "region": [ "FI" ] 10 | } 11 | }, 12 | "options": { 13 | "endpoint": "https://api.digitransit.fi/routing/v2/waltti/gtfs/v1", 14 | "supportedTransitModes": [ "TRANSIT" ] 15 | }, 16 | "supportedLanguages": [ "de", "en", "fi", "fr", "sv" ], 17 | "timezone": "Europe/Helsinki", 18 | "type": { 19 | "otpGraphQl": true 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /data/ie/iarnrod-eireann-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Iarnród Éireann (Irish Rail)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "en", 8 | "ga" 9 | ], 10 | "timezone": "Europe/Dublin", 11 | "attribution": { 12 | "name": "Iarnród Éireann – Irish Rail", 13 | "homepage": "https://www.irishrail.ie/", 14 | "isProprietary": true 15 | }, 16 | "coverage": { 17 | "realtimeCoverage": { 18 | "region": ["IE", "GB-NIR"] 19 | } 20 | }, 21 | "options": { 22 | "endpoint": "https://journeyplanner.irishrail.ie/bin/mgate.exe", 23 | "client": { 24 | "type": "IPA", 25 | "id": "IRISHRAIL", 26 | "v": "4000100", 27 | "name": "IrishRailPROD-APPSTORE", 28 | "os": "iOS 12.4.8" 29 | }, 30 | "ver": "1.18", 31 | "auth": { 32 | "type": "AID", 33 | "aid": "P9bplgVCGnozdgQE" 34 | }, 35 | "products": [ 36 | { 37 | "id": "intercity", 38 | "bitmasks": [2], 39 | "name": "InterCity" 40 | }, 41 | { 42 | "id": "commuter", 43 | "bitmasks": [8], 44 | "name": "Commuter" 45 | }, 46 | { 47 | "id": "dart", 48 | "bitmasks": [16], 49 | "name": "Dublin Area Rapid Transit" 50 | }, 51 | { 52 | "id": "luas", 53 | "bitmasks": [64], 54 | "name": "LUAS Tram" 55 | } 56 | ] 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /data/it/piemonte-otp.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Muoversi in Piemonte", 3 | "coverage": { 4 | "anyCoverage": { 5 | "area": { 6 | "coordinates": [ [ [ 6.657883, 45.192791 ], [ 6.6584399, 45.193577 ], [ 7.32343, 45.73486 ], [ 7.32358, 45.73497 ], [ 8.26473, 46.06416 ], [ 8.737411, 45.996876 ], [ 9.20245, 45.765152 ], [ 9.207863, 45.476323 ], [ 9.20967544764, 45.1110632288 ], [ 9.20905531201, 44.9739638801 ], [ 9.20890537229, 44.9633386187 ], [ 9.20406738968, 44.7772915919 ], [ 9.18694377385, 44.7114138668 ], [ 9.032512, 44.383804 ], [ 8.0207, 43.92891 ], [ 7.512849, 43.938467 ], [ 6.93822, 44.39601 ], [ 6.66512311, 45.04967936 ], [ 6.657883, 45.192791 ] ] ], 7 | "type": "Polygon" 8 | }, 9 | "region": [ "IT-21" ] 10 | } 11 | }, 12 | "options": { 13 | "endpoint": "https://map.muoversinpiemonte.it/otp/routers/mip/" 14 | }, 15 | "supportedLanguages": [ "it" ], 16 | "timezone": "Europe/Rome", 17 | "type": { 18 | "otpRest": true 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /data/it/torino-otp.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Muoversi a Torino", 3 | "coverage": { 4 | "anyCoverage": { 5 | "area": { 6 | "coordinates": [ [ [ 6.83188, 45.03133 ], [ 7.32343, 45.73486 ], [ 7.32358, 45.73497 ], [ 8.26473, 46.06416 ], [ 8.47228, 45.94383 ], [ 8.53161, 45.88447 ], [ 8.57088, 45.84334 ], [ 8.628632, 45.726383 ], [ 8.67202, 45.35155 ], [ 8.683283, 44.882405 ], [ 8.678328, 44.403081 ], [ 8.220248, 44.043758 ], [ 8.03422, 43.90048 ], [ 7.512849, 43.938467 ], [ 6.93822, 44.39601 ], [ 6.83508, 44.93638 ], [ 6.83188, 45.03133 ] ] ], 7 | "type": "Polygon" 8 | }, 9 | "region": [ "IT-21" ] 10 | } 11 | }, 12 | "options": { 13 | "endpoint": "https://mapi.5t.torino.it/routing/v1/routers/mat/" 14 | }, 15 | "timezone": "Europe/Rome", 16 | "supportedLanguages": [ "it" ], 17 | "type": { 18 | "otpGraphQl": true 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /data/lu/cfl-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Société Nationale des Chemins de Fer Luxembourgeois (CFL)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "fr", 8 | "en", 9 | "de" 10 | ], 11 | "timezone": "Europe/Luxembourg", 12 | "attribution": { 13 | "name": "Société Nationale des Chemins de Fer Luxembourgeois", 14 | "homepage": "https://www.cfl.lu/", 15 | "isProprietary": true 16 | }, 17 | "coverage": { 18 | "realtimeCoverage": { 19 | "region": ["LU"] 20 | }, 21 | "anyCoverage": { 22 | "region": ["NL", "DK", "DE", "PL", "CZ", "AT", "IT", "CH", "FR", "BE"] 23 | } 24 | }, 25 | "options": { 26 | "endpoint": "https://horaires.cfl.lu/bin/mgate.exe", 27 | "client": { 28 | "type": "IPH", 29 | "id": "HAFAS", 30 | "v": "4000000", 31 | "name": "cflPROD-STORE", 32 | "os": "iPhone OS 9.3.5" 33 | }, 34 | "ver": "1.16", 35 | "auth": { 36 | "aid": "ALT2vl7LAFDFu2dz" 37 | }, 38 | "products": [ 39 | { 40 | "id": "long-distance-train-1", 41 | "bitmasks": [1], 42 | "name": "TGV, ICE, EuroCity" 43 | }, 44 | { 45 | "id": "long-distance-train-2", 46 | "bitmasks": [2], 47 | "name": "TGV, ICE, EuroCity" 48 | }, 49 | { 50 | "id": "local-train-1", 51 | "bitmasks": [8], 52 | "name": "local trains" 53 | }, 54 | { 55 | "id": "local-train-2", 56 | "bitmasks": [16], 57 | "name": "local trains" 58 | }, 59 | { 60 | "id": "bus", 61 | "bitmasks": [32], 62 | "name": "bus" 63 | }, 64 | { 65 | "id": "tram", 66 | "bitmasks": [256], 67 | "name": "tram" 68 | }, 69 | { 70 | "id": "funicular", 71 | "bitmasks": [512], 72 | "name": "Fun" 73 | } 74 | ] 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /data/lu/mobiliteit-lu-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mobilitéits zentral (mobiliteit.lu)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "de", 8 | "en", 9 | "fr" 10 | ], 11 | "timezone": "Europe/Berlin", 12 | "attribution": { 13 | "name": "Verkéiersverbond", 14 | "homepage": "https://www.mobiliteit.lu/", 15 | "isProprietary": true 16 | }, 17 | "coverage": { 18 | "realtimeCoverage": { 19 | "region": ["LU"] 20 | }, 21 | "anyCoverage": { 22 | "region": ["NL", "DE", "CH", "FR", "BE"] 23 | } 24 | }, 25 | "options": { 26 | "endpoint": "https://cdt.hafas.de/bin/mgate.exe", 27 | "client": { 28 | "type": "WEB", 29 | "id": "MMILUX", 30 | "name": "webapp", 31 | "l": "vs_webapp" 32 | }, 33 | "ver": "1.25", 34 | "auth": { 35 | "type": "AID", 36 | "aid": "SkC81GuwuzL4e0" 37 | }, 38 | "products": [ 39 | { 40 | "id": "express-train", 41 | "bitmasks": [1], 42 | "name": "local train (TGV/ICE)" 43 | }, 44 | { 45 | "id": "national-train-1", 46 | "bitmasks": [2], 47 | "name": "national train (IC/RE/IRE)" 48 | }, 49 | { 50 | "id": "national-train-2", 51 | "bitmasks": [4], 52 | "name": "national train (IC/RE/IRE)" 53 | }, 54 | { 55 | "id": "local-train", 56 | "bitmasks": [8], 57 | "name": "local train (RB/TER)" 58 | }, 59 | { 60 | "id": "bus", 61 | "bitmasks": [32], 62 | "name": "Bus" 63 | }, 64 | { 65 | "id": "tram", 66 | "bitmasks": [256], 67 | "name": "Tram" 68 | } 69 | ] 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /data/nl/ns-hafas-query.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Nederlandse Spoorwegen (NS)", 3 | "coverage": { 4 | "realtimeCoverage": { 5 | "area": { 6 | "coordinates": [ 7 | [ [ 3.169, 51.273 ], [ 6.13, 50.612 ], [ 7.73, 53.462 ], [ 5.29, 53.891 ], [ 3.169, 51.273 ] ] 8 | ], 9 | "type": "Polygon" 10 | }, 11 | "region": [ "NL" ] 12 | } 13 | }, 14 | "options": { 15 | "endpoint": "https://hafas.bene-system.com/bin/" 16 | }, 17 | "supportedLanguages": [ "de", "en", "fr", "nl" ], 18 | "timezone": "Europe/Amsterdam", 19 | "type": { 20 | "hafasQuery": true 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /data/no/entur-otp.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Entur", 3 | "attribution": { 4 | "license": "Norwegian Licence for Open Government Data (NLOD)", 5 | "licenseUrl": "https://data.norge.no/nlod/en", 6 | "name": "Entur", 7 | "url": "https://www.entur.org/" 8 | }, 9 | "coverage": { 10 | "regularCoverage": { 11 | "area": { 12 | "coordinates": [ [ [ 5.14553, 58.7711 ], [ 8.5538, 56.8847 ], [ 31.5632, 69.8993 ], [ 25.3899, 85.02453 ], [ -0.1243, 75.9905 ], [ 5.14553, 58.7711 ] ] ], 13 | "type": "Polygon" 14 | }, 15 | "region": [ "NO" ] 16 | } 17 | }, 18 | "options": { 19 | "endpoint": "https://api.entur.io/journey-planner/v3/graphql/", 20 | "apiVersion": "entur" 21 | }, 22 | "supportedLanguages": [ "no" ], 23 | "type": { 24 | "otpGraphQl": true 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /data/pl/pkp-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Polskie Koleje Państwowe (PKP)", 3 | "coverage": { 4 | "realtimeCoverage": { 5 | "area": { 6 | "coordinates": [ 7 | [ [ 13.5596, 54.3948 ], [ 14.8372, 50.3015 ], [ 23.0239, 48.5807 ], [ 25.5789, 52.1787 ], [ 22.007, 55.6724 ], [ 13.5596, 54.3948 ] ] 8 | ], 9 | "type": "Polygon" 10 | }, 11 | "region": [ "PL" ] 12 | } 13 | }, 14 | "options": { 15 | "auth": { 16 | "aid": "DrxJYtYZQpEBCtcb", 17 | "type": "AID" 18 | }, 19 | "client": { 20 | "id": "HAFAS", 21 | "type": "AND" 22 | }, 23 | "endpoint": "https://mobil.rozklad-pkp.pl:8019/bin/mgate.exe", 24 | "products": [ 25 | { 26 | "id": "high-speed-train", 27 | "bitmasks": [1, 2], 28 | "name": "ExpressInterCity, ExpressInterCity Premium, InterCityExpress" 29 | }, 30 | { 31 | "id": "long-distance-train", 32 | "bitmasks": [4], 33 | "name": "InterCity, Twoje Linie Kolejowe, EuroCity, EuroNight" 34 | }, 35 | { 36 | "id": "regional-train", 37 | "bitmasks": [8], 38 | "name": "Regional" 39 | }, 40 | { 41 | "id": "bus", 42 | "bitmasks": [ 16, 32 ], 43 | "name": "Bus" 44 | }, 45 | { 46 | "id": "ferry", 47 | "bitmasks": [ 64 ], 48 | "name": "Ferry" 49 | } 50 | ], 51 | "ver": "1.21" 52 | }, 53 | "supportedLanguages": [ "en", "pl" ], 54 | "timezone": "Europe/Warsaw", 55 | "type": { 56 | "hafasMgate": true 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /data/se/resrobot-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Resrobot", 3 | "coverage": { 4 | "regularCoverage": { 5 | "area": { 6 | "coordinates": [ 7 | [ [ 9.6488, 58.4882 ], [ 14.5504, 69.8817 ], [ 27.2476, 68.2913 ], [ 16.8708, 54.5773 ], [ 12.7514, 54.6556 ], [ 9.6488, 58.4882 ] ] 8 | ], 9 | "type": "Polygon" 10 | }, 11 | "region": [ "SE" ] 12 | } 13 | }, 14 | "options": { 15 | "auth": { 16 | "aid": "h5o3n7f4t2m8l9x1", 17 | "type": "AID" 18 | }, 19 | "client": { 20 | "id": "SAMTRAFIKEN", 21 | "type": "WEB" 22 | }, 23 | "endpoint": "https://reseplanerare.resrobot.se/bin/mgate.exe", 24 | "products": [ 25 | { 26 | "bitmasks": [ 1 ], 27 | "id": "air" 28 | }, 29 | { 30 | "bitmasks": [ 2 ], 31 | "id": "long-distance-train" 32 | }, 33 | { 34 | "bitmasks": [ 4 ], 35 | "id": "local-train" 36 | }, 37 | { 38 | "bitmasks": [ 8 ], 39 | "id": "bus-1" 40 | }, 41 | { 42 | "bitmasks": [ 16 ], 43 | "id": "rapid-transit" 44 | }, 45 | { 46 | "bitmasks": [ 32 ], 47 | "id": "metro" 48 | }, 49 | { 50 | "bitmasks": [ 64 ], 51 | "id": "tramway" 52 | }, 53 | { 54 | "bitmasks": [ 128 ], 55 | "id": "bus-2" 56 | }, 57 | { 58 | "bitmasks": [ 256 ], 59 | "id": "ferry" 60 | }, 61 | { 62 | "bitmasks": [ 512 ], 63 | "id": "on-demand" 64 | } 65 | ], 66 | "ver": "1.18" 67 | }, 68 | "supportedLanguages": [ "sv" ], 69 | "timezone": "Europe/Stockholm", 70 | "type": { 71 | "hafasMgate": true 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /data/us/bart-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Bay Area Rapid Transit (BART)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "en", 8 | "es" 9 | ], 10 | "timezone": "America/Los_Angeles", 11 | "attribution": { 12 | "name": "San Francisco Bay Area Rapid Transit District", 13 | "homepage": "https://bart.gov/", 14 | "isProprietary": true 15 | }, 16 | "coverage": { 17 | "realtimeCoverage": { 18 | "area": {"type":"Polygon","coordinates":[[[-122.4375,38.0039],[-122.4121,37.9011],[-122.3507,37.8924],[-122.3333,37.8549],[-122.4705,37.8195],[-122.5283,37.7907],[-122.5047,37.6603],[-122.4109,37.5689],[-122.3262,37.5935],[-122.3691,37.6759],[-122.3452,37.7108],[-122.3503,37.7482],[-122.3368,37.7686],[-122.2412,37.6921],[-122.2018,37.6853],[-121.9058,37.2821],[-121.7902,37.3224],[-121.8428,37.4048],[-121.9187,37.56],[-122.0138,37.615],[-122.0441,37.6639],[-121.8919,37.681],[-121.8938,37.725],[-122.0704,37.7156],[-122.1051,37.7329],[-122.2038,37.8273],[-122.0528,37.8726],[-122.0152,37.9936],[-121.7662,37.9798],[-121.7389,38.0257],[-121.9899,38.0612],[-122.0679,38.0557],[-122.1284,37.9264],[-122.2412,37.9061],[-122.2903,38.011],[-122.4375,38.0039]]]}, 19 | "region": [ "US-CA" ] 20 | } 21 | }, 22 | "options": { 23 | "auth": { 24 | "type": "AID", 25 | "aid": "kEwHkFUCIL500dym" 26 | }, 27 | "client": { 28 | "id": "BART", 29 | "type": "WEB", 30 | "name": "webapp", 31 | "l": "vs_webapp" 32 | }, 33 | "endpoint": "https://planner.bart.gov/bin/mgate.exe", 34 | "products": [ 35 | { 36 | "id": "bart", 37 | "bitmasks": [128], 38 | "name": "BART" 39 | }, 40 | { 41 | "id": "regional-train", 42 | "bitmasks": [8], 43 | "name": "regional trains (Caltrain, Capitol Corridor, ACE)" 44 | }, 45 | { 46 | "id": "bus", 47 | "bitmasks": [32], 48 | "name": "Bus" 49 | }, 50 | { 51 | "id": "ferry", 52 | "bitmasks": [64], 53 | "name": "Ferry" 54 | }, 55 | { 56 | "id": "tram", 57 | "bitmasks": [256], 58 | "name": "Tram" 59 | }, 60 | { 61 | "id": "cable-car", 62 | "bitmasks": [4], 63 | "name": "cable car" 64 | } 65 | ] 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /data/us/cmta-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Capital Metro Austin Public Transport (CMTA)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "en" 8 | ], 9 | "timezone": "America/Chicago", 10 | "attribution": { 11 | "name": "Capital Metropolitan Transportation Authority", 12 | "homepage": "https://www.capmetro.org/", 13 | "isProprietary": true 14 | }, 15 | "coverage": { 16 | "realtimeCoverage": { 17 | "area": {"type":"Polygon","coordinates":[[[-98.1782,30.3559],[-97.7112,30.0193],[-97.6532,30.0651],[-97.3177,29.7824],[-97.0193,30.0507],[-97.0778,30.2622],[-97.1961,30.3413],[-97.3222,30.4018],[-97.15,30.457],[-97.2669,30.7382],[-97.6237,30.8747],[-97.8285,30.9153],[-97.8709,30.8782],[-97.9675,30.7874],[-98.1275,30.4872],[-98.1014,30.4902],[-98.1023,30.4687],[-98.1782,30.3559]]]}, 18 | "region": [ "US-TX" ] 19 | } 20 | }, 21 | "options": { 22 | "endpoint": "https://capmetro.hafas.cloud/bin/mgate.exe", 23 | "client": { 24 | "type": "IPH", 25 | "id": "CMTA", 26 | "v": "2", 27 | "name": "CapMetro" 28 | }, 29 | "ver": "1.13", 30 | "auth": { 31 | "type": "AID", 32 | "aid": "ioslaskdcndrjcmlsd" 33 | }, 34 | "products": [ 35 | { 36 | "id": "bus", 37 | "bitmasks": [32], 38 | "name": "MetroBus" 39 | }, 40 | { 41 | "id": "rapid", 42 | "bitmasks": [4096], 43 | "name": "MetroRapid" 44 | }, 45 | { 46 | "id": "rail", 47 | "bitmasks": [8], 48 | "name": "MetroRail" 49 | } 50 | ] 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /data/us/dart-hafas-mgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Dallas Area Rapid Transit (DART)", 3 | "type": { 4 | "hafasMgate": true 5 | }, 6 | "supportedLanguages": [ 7 | "en" 8 | ], 9 | "timezone": "Europe/Berlin", 10 | "attribution": { 11 | "name": "Dallas Area Rapid Transit", 12 | "homepage": "https://www.dart.org/", 13 | "isProprietary": true 14 | }, 15 | "coverage": { 16 | "realtimeCoverage": { 17 | "area": {"type":"Polygon","coordinates":[[[-97.22351074218749,33.56199537293026],[-97.6300048828125,33.500178528242294],[-97.9376220703125,33.19732768648872],[-97.95684814453124,32.76880048488168],[-97.88818359375,32.35676318267811],[-97.3004150390625,32.222095840502334],[-96.470947265625,32.14771106595571],[-96.07269287109375,32.312670050625805],[-95.96282958984375,32.74339241542703],[-96.053466796875,33.19732768648872],[-96.46820068359374,33.55512901742288],[-97.22351074218749,33.56199537293026]]]} 18 | } 19 | }, 20 | "options": { 21 | "auth": { 22 | "type": "AID", 23 | "aid": "XNFGL2aSkxfDeK8N4waOZnsdJ" 24 | }, 25 | "client": { 26 | "id": "DART", 27 | "type": "WEB", 28 | "name": "webapp", 29 | "l": "vs_webapp" 30 | }, 31 | "endpoint": "https://dart.hafas.de/bin/mgate.exe", 32 | "ver": "1.35", 33 | "products": [ 34 | { 35 | "id": "bus", 36 | "bitmasks": [32], 37 | "name": "Bus" 38 | } 39 | ] 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /data/us/la-metro-otp.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Los Angeles Metro", 3 | "coverage": { 4 | "anyCoverage": { 5 | "area": { 6 | "coordinates": [ [ [ -118.809037, 34.022151 ], [ -118.808978, 34.143394 ], [ -118.80884, 34.14387 ], [ -118.807322, 34.146898 ], [ -118.65693927239, 34.419754153355 ], [ -118.61772353405, 34.434719170387 ], [ -118.57494154687, 34.436765058366 ], [ -118.3930428244, 34.43706481063 ], [ -117.711253, 34.121709 ], [ -117.711613, 34.094773 ], [ -117.73279753881, 33.657105048338 ], [ -118.29252, 33.706853 ], [ -118.294531, 33.707365 ], [ -118.40309, 33.745209 ], [ -118.809037, 34.022151 ] ] ], 7 | "type": "Polygon" 8 | }, 9 | "region": [ "US-CA" ] 10 | } 11 | }, 12 | "options": { 13 | "endpoint": "https://otp.metroservices.io/otp/routers/default/" 14 | }, 15 | "supportedLanguages": [ "en" ], 16 | "timezone": "America/Los_Angeles", 17 | "type": { 18 | "otpRest": true 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /data/us/marta-otp.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Marta", 3 | "coverage": { 4 | "anyCoverage": { 5 | "area": { 6 | "coordinates": [ [ [ -84.701564, 33.867512 ], [ -84.65646, 34.077262 ], [ -84.656428, 34.077357 ], [ -84.26965, 34.105609 ], [ -84.266494, 34.105822 ], [ -84.248608, 34.104237 ], [ -84.246876, 34.103721 ], [ -84.241578, 34.101539 ], [ -84.005038, 33.982187 ], [ -84.004367, 33.96005 ], [ -84.007821, 33.921209 ], [ -84.014637, 33.854053 ], [ -84.056727, 33.685082 ], [ -84.314471, 33.435981 ], [ -84.340934, 33.441836 ], [ -84.669803, 33.517397 ], [ -84.701564, 33.867512 ] ] ], 7 | "type": "Polygon" 8 | }, 9 | "region": [ "US-GA" ] 10 | } 11 | }, 12 | "options": { 13 | "endpoint": "https://opentrip.atlantaregion.com/otp/routers/default/" 14 | }, 15 | "supportedLanguages": [ "en" ], 16 | "timezone": "America/New_York", 17 | "type": { 18 | "otpRest": true 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /data/us/mbta-otp.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Massachusetts Bay Transportation Authority (MBTA)", 3 | "coverage": { 4 | "anyCoverage": { 5 | "area": { 6 | "coordinates": [ [ [ -71.347133, 42.285719 ], [ -71.325404, 42.41342 ], [ -71.280995, 42.593248 ], [ -70.874801, 42.609212 ], [ -70.811405, 42.561651 ], [ -70.837529, 42.24421 ], [ -70.934405, 42.107156 ], [ -71.016534, 42.084659 ], [ -71.26151, 42.0951 ], [ -71.325217, 42.120694 ], [ -71.347133, 42.285719 ] ] ], 7 | "type": "Polygon" 8 | }, 9 | "region": [ "US-MA" ] 10 | } 11 | }, 12 | "options": { 13 | "endpoint": "https://prod.otp.mbtace.com/otp/routers/mbta/" 14 | }, 15 | "supportedLanguages": [ "en" ], 16 | "timezone": "America/New_York", 17 | "type": { 18 | "otpRest": true 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /data/us/trimet-otp.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TriMet", 3 | "coverage": { 4 | "anyCoverage": { 5 | "area": { 6 | "coordinates": [ [ [ -123.04452, 45.519998 ], [ -123.044484, 45.520284 ], [ -122.994384, 45.549727 ], [ -122.815496, 45.629438 ], [ -122.766013, 45.637726 ], [ -122.756281, 45.636553 ], [ -122.39933, 45.55503 ], [ -122.388561, 45.551362 ], [ -122.378245, 45.537293 ], [ -122.346691, 45.346034 ], [ -122.343322, 45.323908 ], [ -122.34333, 45.32204 ], [ -122.343643, 45.321402 ], [ -122.560059, 45.318713 ], [ -122.567026, 45.318708 ], [ -122.775493, 45.33519 ], [ -122.841555, 45.357395 ], [ -122.841956, 45.357534 ], [ -123.04452, 45.519998 ] ] ], 7 | "type": "Polygon" 8 | }, 9 | "region": [ "US-OR" ] 10 | } 11 | }, 12 | "options": { 13 | "endpoint": "https://maps.trimet.org/otp_mod/" 14 | }, 15 | "supportedLanguages": [ "en" ], 16 | "timezone": "America/Los_Angeles", 17 | "type": { 18 | "otpRest": true 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /docs/TRIAS-Providers.md: -------------------------------------------------------------------------------- 1 | # List of TRIAS Providers 2 | 3 | This is a list of public transport providers that provide a TRIAS API. 4 | Be aware that most of them **do not offer open APIs**, but require you to sign up with them. 5 | To sign up the collected Links are provided. 6 | 7 | - [bwegt](https://www.mobidata-bw.de/dataset/trias) 8 | - [Verkehrsverbund Rhein-Neckar (VRN)](https://www.vrn.de/opendata/API) 9 | - [API zur VVO Fahrplanauskunft](https://www.govdata.de/daten/-/details/api-fahrplanauskunft-vvo) official TRIAS API for Sachsen, operated by VVO. No key required. Appears to be a MENTZ implementation of TRIAS. 10 | -------------------------------------------------------------------------------- /license: -------------------------------------------------------------------------------- 1 | CC0 1.0 Universal 2 | 3 | Statement of Purpose 4 | 5 | The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). 6 | 7 | Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. 8 | 9 | For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. 10 | 11 | Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: 12 | i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; 13 | 14 | ii. moral rights retained by the original author(s) and/or performer(s); 15 | 16 | iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; 17 | 18 | iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; 19 | 20 | v. rights protecting the extraction, dissemination, use and reuse of data in a Work; 21 | 22 | vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and 23 | 24 | vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. 25 | 26 | Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. 27 | 28 | Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. 29 | 30 | Limitations and Disclaimers. 31 | 32 | a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. 33 | 34 | b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. 35 | 36 | c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. 37 | 38 | d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. 39 | 40 | For more information, please see http://creativecommons.org/publicdomain/zero/1.0 41 | -------------------------------------------------------------------------------- /schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$id": "https://raw.githubusercontent.com/public-transport/transport-apis/v1/schema.json#", 3 | "$schema": "http://json-schema.org/draft-07/schema#", 4 | "description": "public transport API description", 5 | "type": "object", 6 | "required": [ 7 | "name", 8 | "type", 9 | "supportedLanguages", 10 | "coverage", 11 | "options" 12 | ], 13 | "properties": { 14 | "name": { 15 | "type": "string" 16 | }, 17 | "type": { 18 | "type": "object", 19 | "propertyNames": { 20 | "enum": [ 21 | "efa", 22 | "hafasMgate", 23 | "hafasQuery", 24 | "navitia", 25 | "otpGraphQl", 26 | "otpRest", 27 | "trias", 28 | "motis" 29 | ] 30 | }, 31 | "additionalProperties": { 32 | "type": "boolean" 33 | } 34 | }, 35 | "supportedLanguages": { 36 | "type": "array", 37 | "items": { 38 | "type": "string", 39 | "pattern": "^[a-z][a-z]$", 40 | "description": "ISO-639-1 language code" 41 | } 42 | }, 43 | "coverage": { 44 | "type": "object", 45 | "minProperties": 1, 46 | "additionalProperties": false, 47 | "properties": { 48 | "realtimeCoverage": { 49 | "$ref": "#/definitions/coverage" 50 | }, 51 | "regularCoverage": { 52 | "$ref": "#/definitions/coverage" 53 | }, 54 | "anyCoverage": { 55 | "$ref": "#/definitions/coverage" 56 | } 57 | } 58 | }, 59 | "attribution": { 60 | "type": "object", 61 | "anyOf": [ 62 | { "$ref": "#/definitions/attribution_opendata_specific" }, 63 | { "$ref": "#/definitions/attribution_opendata_mixed" }, 64 | { "$ref": "#/definitions/attribution_proprietary" } 65 | ] 66 | }, 67 | "options": { 68 | "type": "object" 69 | } 70 | }, 71 | "definitions": { 72 | "coverage": { 73 | "type": "object", 74 | "minProperties": 1, 75 | "additionalProperties": false, 76 | "properties": { 77 | "area": { 78 | "oneOf": [ 79 | { "$ref": "#/definitions/coverage_geojson_polygon" }, 80 | { "$ref": "#/definitions/coverage_geojson_multipolygon" } 81 | ] 82 | }, 83 | "region": { 84 | "$ref": "#/definitions/coverage_region" 85 | } 86 | } 87 | }, 88 | "coverage_geojson_polygon": { 89 | "type": "object", 90 | "required": [ 91 | "type", 92 | "coordinates" 93 | ], 94 | "properties": { 95 | "type": { 96 | "type": "string", 97 | "enum": [ 98 | "Polygon" 99 | ] 100 | }, 101 | "coordinates": { 102 | "type": "array", 103 | "items": { 104 | "type": "array", 105 | "minItems": 4, 106 | "items": { 107 | "type": "array", 108 | "minItems": 2, 109 | "items": { 110 | "type": "number" 111 | } 112 | } 113 | } 114 | }, 115 | "bbox": { 116 | "type": "array", 117 | "minItems": 4, 118 | "items": { 119 | "type": "number" 120 | } 121 | } 122 | } 123 | }, 124 | "coverage_geojson_multipolygon": { 125 | "type": "object", 126 | "required": [ 127 | "type", 128 | "coordinates" 129 | ], 130 | "properties": { 131 | "type": { 132 | "type": "string", 133 | "enum": [ 134 | "MultiPolygon" 135 | ] 136 | }, 137 | "coordinates": { 138 | "type": "array", 139 | "items": { 140 | "type": "array", 141 | "items": { 142 | "type": "array", 143 | "minItems": 4, 144 | "items": { 145 | "type": "array", 146 | "minItems": 2, 147 | "items": { 148 | "type": "number" 149 | } 150 | } 151 | } 152 | } 153 | }, 154 | "bbox": { 155 | "type": "array", 156 | "minItems": 4, 157 | "items": { 158 | "type": "number" 159 | } 160 | } 161 | } 162 | }, 163 | "coverage_region": { 164 | "type": "array", 165 | "items": { 166 | "type": "string", 167 | "pattern": "^[A-Z]{2}(-[A-Z0-9]{1,5})?$", 168 | "description": "ISO-3166-1/2 country/region code" 169 | }, 170 | "minItems": 1 171 | }, 172 | "attribution_opendata_mixed": { 173 | "type": "object", 174 | "required": [ 175 | "mixedLicenses", 176 | "name" 177 | ], 178 | "properties": { 179 | "name": { 180 | "type": "string" 181 | }, 182 | "homepage": { 183 | "type": "string" 184 | }, 185 | "mixedLicenses": { 186 | "type": "boolean" 187 | } 188 | } 189 | }, 190 | "attribution_opendata_specific": { 191 | "type": "object", 192 | "required": [ 193 | "license", 194 | "name" 195 | ], 196 | "properties": { 197 | "license": { 198 | "type": "string", 199 | "description": "Open Definition license ID or SPDX license id" 200 | }, 201 | "name": { 202 | "type": "string" 203 | }, 204 | "homepage": { 205 | "type": "string" 206 | }, 207 | "mixedLicenses": { 208 | "type": "boolean" 209 | } 210 | } 211 | }, 212 | "attribution_proprietary": { 213 | "type": "object", 214 | "required": [ 215 | "isProprietary" 216 | ], 217 | "properties": { 218 | "isProprietary": { 219 | "type": "boolean" 220 | } 221 | } 222 | } 223 | } 224 | } 225 | -------------------------------------------------------------------------------- /tools/README.md: -------------------------------------------------------------------------------- 1 | # Maintenance and QA tools 2 | 3 | What's in here: 4 | * `pretty-json.py`: JSON formater that folds scalar value arrays into a single line. 5 | This helps with keeping files at a manageable and readable size despite containing 6 | high-resolution GeoJSON coverage areas. 7 | * `coverage-to-geojson.py`: Collect coverage areas from all API endpoint files and 8 | generate a single GeoJSON file from those. That can for example be imported into 9 | QGIS for reviewing geographical coverage areas in relation to a map and/or in relation 10 | to each other. 11 | * `fill-coverage-area.py`: Adds missing coverage area polygons based on specified ISO 3166-1/2 12 | coverage region codes. This includes reducing high-resolution data to a level of detail 13 | appropriate for the use here. 14 | 15 | Running `build.py` will run all of the above. 16 | 17 | The necessary dependencies can be installed using `pip install -r requirements.txt`. 18 | -------------------------------------------------------------------------------- /tools/build.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # SPDX-FileCopyrightText: 2023 Volker Krause 3 | # SPDX-License-Identifier: MIT 4 | 5 | import argparse 6 | import glob 7 | import os 8 | import re 9 | 10 | parser = argparse.ArgumentParser( 11 | description='Fill in missing coverage area based on coverage regions for all files') 12 | parser.add_argument('--data', type=str, required=True, help='Path to the Transport API data') 13 | arguments = parser.parse_args() 14 | 15 | # bounding box filter for overseas territories 16 | bounding_areas = {}; 17 | for country in ['at', 'be', 'ch', 'de', 'dk', 'ee', 'fi', 'ie', 'it', 'lu', 'nl', 'no', 'pl', 'se']: 18 | bounding_areas[country] = ['36.5', '-9', '71', '40'] 19 | 20 | transportApiFiles = glob.glob(arguments.data + "/*/*.json", recursive=True) 21 | for transportApiFile in transportApiFiles: 22 | nameMatch = re.search('/([a-z]{2})/(.*)\\.json', transportApiFile) 23 | if not nameMatch: 24 | continue 25 | country = nameMatch.group(1) 26 | print (f"Processing {transportApiFile}") 27 | 28 | args = ['--threshold', '5000', '--decimals', '2'] 29 | if country in bounding_areas: 30 | args += ['--bounding-box'] 31 | args += bounding_areas[country] 32 | args += [transportApiFile] 33 | os.system(os.path.join(os.path.dirname(__file__), 'fill-coverage-area.py') + ' ' + ' '.join(args)) 34 | os.system(os.path.join(os.path.dirname(__file__), 'pretty-json.py') + ' ' + transportApiFile) 35 | 36 | os.system(os.path.join(os.path.dirname(__file__), 'coverage-to-geojson.py') + ' --data ' + arguments.data + ' > coverage.geojson') 37 | -------------------------------------------------------------------------------- /tools/coverage-to-geojson.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # SPDX-FileCopyrightText: 2021 Volker Krause 3 | # SPDX-License-Identifier: MIT 4 | # 5 | # Generates a GeoJSON document from coverage areas of Transport API data 6 | # 7 | 8 | import argparse 9 | import glob 10 | import json 11 | import os 12 | import re 13 | 14 | parser = argparse.ArgumentParser( 15 | description='Generates a GeoJSON document from coverage areas of the Transport API Repository') 16 | parser.add_argument('--data', type=str, required=True, help='Path to the Transport API data') 17 | arguments = parser.parse_args() 18 | 19 | output = {} 20 | output['type'] = 'FeatureCollection' 21 | output['name'] = 'Transport API Repository Coverage Data' 22 | output['features'] = [] 23 | 24 | transportApiFiles = glob.glob(arguments.data + "/*/*.json", recursive=True) 25 | for transportApiFile in transportApiFiles: 26 | f = open(transportApiFile, 'r') 27 | j = json.load(f) 28 | nameMatch = re.search('/([a-z]{2})/(.*)\\.json', transportApiFile) 29 | if nameMatch: 30 | name = nameMatch.group(1) + '-' + nameMatch.group(2) 31 | else: 32 | name = os.path.splitext(os.path.basename(transportApiFile))[0] 33 | 34 | for cov in ['anyCoverage', 'regularCoverage', 'realtimeCoverage']: 35 | if 'coverage' not in j or cov not in j['coverage'] or 'area' not in j['coverage'][cov]: 36 | continue 37 | properties = {} 38 | properties['name'] = name + '-' + cov 39 | feature = {} 40 | feature['type'] = 'Feature' 41 | feature['properties'] = properties 42 | feature['geometry'] = j['coverage'][cov]['area'] 43 | output['features'].append(feature) 44 | 45 | print(json.dumps(output)) 46 | -------------------------------------------------------------------------------- /tools/pretty-json.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # SPDX-FileCopyrightText: 2023 Volker Krause 3 | # SPDX-License-Identifier: MIT 4 | 5 | # "Pretty" JSON formatting for the long coordinate arrays 6 | 7 | import argparse 8 | import json 9 | import re 10 | 11 | parser = argparse.ArgumentParser(description='Pretty JSON formatting for the Transport API data files.') 12 | parser.add_argument('filename') 13 | arguments = parser.parse_args() 14 | 15 | # read as JSON and normalize to standard formatting 16 | with open(arguments.filename, 'r') as f: 17 | j = json.loads(f.read()) 18 | s = json.dumps(j, indent=2) 19 | 20 | # fold arrays of scalar values into one line 21 | s = re.sub(r'\[\n +(\"[A-Za-z-]+\"|[\d.-]+)', r'[\1', s) 22 | s = re.sub(r',\n +(\"[A-Za-z-]+\"|[\d.-]+)(?=[,\n])', r', \1', s) 23 | s = re.sub(r'(?