├── .eslintrc.json ├── .gitignore ├── .travis-push.sh ├── .travis.yml ├── LICENCE ├── README.md ├── dist └── output │ ├── afghanistan.json │ ├── albania.json │ ├── algeria.json │ ├── andorra.json │ ├── angola.json │ ├── antigua and barbuda.json │ ├── argentina.json │ ├── armenia.json │ ├── australia.json │ ├── austria.json │ ├── azerbaijan.json │ ├── bahamas.json │ ├── bahrain.json │ ├── bangladesh.json │ ├── barbados.json │ ├── belarus.json │ ├── belgium.json │ ├── belize.json │ ├── benin.json │ ├── bhutan.json │ ├── bolivia.json │ ├── bosnia and herzegovina.json │ ├── botswana.json │ ├── brazil.json │ ├── brunei.json │ ├── bulgaria.json │ ├── burkina faso.json │ ├── burundi.json │ ├── cambodia.json │ ├── cameroon.json │ ├── canada.json │ ├── cape verde.json │ ├── central african republic.json │ ├── chad.json │ ├── chile.json │ ├── china.json │ ├── colombia.json │ ├── comoros.json │ ├── costa rica.json │ ├── croatia.json │ ├── cuba.json │ ├── cyprus.json │ ├── czech republic.json │ ├── côte d'ivoire.json │ ├── democratic republic of the congo.json │ ├── denmark.json │ ├── djibouti.json │ ├── dominica.json │ ├── dominican republic.json │ ├── ecuador.json │ ├── egypt.json │ ├── el salvador.json │ ├── equatorial guinea.json │ ├── eritrea.json │ ├── estonia.json │ ├── ethiopia.json │ ├── fiji.json │ ├── finland.json │ ├── france.json │ ├── gabon.json │ ├── gambia.json │ ├── georgia.json │ ├── germany.json │ ├── ghana.json │ ├── greece.json │ ├── grenada.json │ ├── guatemala.json │ ├── guinea-bissau.json │ ├── guinea.json │ ├── guyana.json │ ├── haiti.json │ ├── honduras.json │ ├── hong kong.json │ ├── hungary.json │ ├── iceland.json │ ├── india.json │ ├── indonesia.json │ ├── iran.json │ ├── iraq.json │ ├── ireland.json │ ├── israel.json │ ├── italy.json │ ├── jamaica.json │ ├── japan.json │ ├── jordan.json │ ├── kazakhstan.json │ ├── kenya.json │ ├── kiribati.json │ ├── kuwait.json │ ├── kyrgyzstan.json │ ├── laos.json │ ├── latvia.json │ ├── lebanon.json │ ├── lesotho.json │ ├── liberia.json │ ├── libya.json │ ├── liechtenstein.json │ ├── lithuania.json │ ├── luxembourg.json │ ├── macedonia.json │ ├── madagascar.json │ ├── malawi.json │ ├── malaysia.json │ ├── maldives.json │ ├── mali.json │ ├── malta.json │ ├── marshall islands.json │ ├── mauritania.json │ ├── mauritius.json │ ├── mexico.json │ ├── micronesia.json │ ├── moldova.json │ ├── monaco.json │ ├── mongolia.json │ ├── montenegro.json │ ├── morocco.json │ ├── mozambique.json │ ├── myanmar.json │ ├── namibia.json │ ├── nauru.json │ ├── nepal.json │ ├── netherlands.json │ ├── new zealand.json │ ├── nicaragua.json │ ├── niger.json │ ├── nigeria.json │ ├── north korea.json │ ├── norway.json │ ├── oman.json │ ├── pakistan.json │ ├── palau.json │ ├── palestine.json │ ├── panama.json │ ├── papua new guinea.json │ ├── paraguay.json │ ├── peru.json │ ├── philippines.json │ ├── poland.json │ ├── portugal.json │ ├── qatar.json │ ├── republic of the congo.json │ ├── romania.json │ ├── russia.json │ ├── rwanda.json │ ├── saint kitts and nevis.json │ ├── saint lucia.json │ ├── saint vincent and the grenadines.json │ ├── samoa.json │ ├── san marino.json │ ├── saudi arabia.json │ ├── senegal.json │ ├── serbia.json │ ├── seychelles.json │ ├── sierra leone.json │ ├── singapore.json │ ├── slovakia.json │ ├── slovenia.json │ ├── solomon islands.json │ ├── somalia.json │ ├── south africa.json │ ├── south korea.json │ ├── south sudan.json │ ├── spain.json │ ├── sri lanka.json │ ├── sudan.json │ ├── suriname.json │ ├── swaziland.json │ ├── sweden.json │ ├── switzerland.json │ ├── syria.json │ ├── são tomé and príncipe.json │ ├── tajikistan.json │ ├── tanzania.json │ ├── thailand.json │ ├── timor-leste.json │ ├── togo.json │ ├── tonga.json │ ├── trinidad and tobago.json │ ├── tunisia.json │ ├── turkey.json │ ├── turkmenistan.json │ ├── tuvalu.json │ ├── uganda.json │ ├── ukraine.json │ ├── united arab emirates.json │ ├── united kingdom.json │ ├── united states.json │ ├── uruguay.json │ ├── uzbekistan.json │ ├── vanuatu.json │ ├── vatican city.json │ ├── venezuela.json │ ├── vietnam.json │ ├── yemen.json │ ├── zambia.json │ └── zimbabwe.json ├── index.js ├── index.ts ├── input └── countries.json ├── models ├── country-data.ts ├── country-input.ts └── country-output.ts ├── package-lock.json ├── package.json ├── tsconfig.json ├── tslint.json └── utils ├── file.ts ├── wiki.js └── wiki.ts /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "es6": true, 4 | "node": true 5 | }, 6 | "extends": "eslint:recommended", 7 | "parserOptions": { 8 | "sourceType": "module" 9 | }, 10 | "rules": { 11 | "indent": [ 12 | "error", 13 | 2 14 | ], 15 | "linebreak-style": [ 16 | "error", 17 | "unix" 18 | ], 19 | "quotes": [ 20 | "error", 21 | "single" 22 | ], 23 | "semi": [ 24 | "error", 25 | "always" 26 | ], 27 | "no-console": "off" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | reference 3 | dist 4 | !dist/output 5 | **/*.js -------------------------------------------------------------------------------- /.travis-push.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Credit: https://gist.github.com/willprice/e07efd73fb7f13f917ea 3 | 4 | setup_git() { 5 | git config --global user.email "travis@travis-ci.org" 6 | git config --global user.name "Travis CI" 7 | } 8 | 9 | commit_country_json_files() { 10 | git checkout master 11 | dateAndMonth=`date "+%b %Y"` 12 | git status 13 | git add -f dist/output/*.json 14 | git commit -m "Travis update: $dateAndMonth (Build $TRAVIS_BUILD_NUMBER)" -m "[skip ci]" 15 | } 16 | 17 | upload_files() { 18 | git remote rm origin 19 | git remote add origin https://vinaygopinath:${GH_TOKEN}@github.com/vinaygopinath/visa-req-wiki-scraper.git > /dev/null 2>&1 20 | git push origin master --quiet > /dev/null 2>&1 21 | } 22 | 23 | setup_git 24 | 25 | commit_country_json_files 26 | 27 | if [ $? -eq 0 ]; then 28 | echo "A new commit with changed country JSON files exists. Uploading to GitHub" 29 | upload_files 30 | else 31 | echo "No changes in country JSON files. Nothing to do" 32 | fi -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "lts/*" 4 | addons: 5 | apt: 6 | packages: 7 | - xvfb 8 | 9 | install: 10 | - npm install 11 | 12 | before_script: 13 | - "export DISPLAY=:99.0" 14 | - "sh -e /etc/init.d/xvfb start" 15 | - sleep 3 # give xvfb some time to start 16 | - npm install -g typescript 17 | - tsc 18 | 19 | script: 20 | - node dist/index.js 21 | 22 | # Commit changes (if any) to GitHub only when the build was triggered by cron 23 | after_success: 24 | - if [ "$TRAVIS_EVENT_TYPE" = "cron" ]; then sh .travis-push.sh; else echo "Not cron. Skipping push to GitHub"; fi -------------------------------------------------------------------------------- /LICENCE: -------------------------------------------------------------------------------- 1 | The MIT Licence (MIT) 2 | 3 | Copyright (c) 2016 Vinay Gopinath 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Visa Requirements Wikipedia Scraper 2 | 3 | Scrapes the visa requirements for citizens of all countries and creates arrays of countries for each visa type. This data is used by Nomad Couple - https://nomadcouple.vinaygopinath.me 4 | 5 | ### Visa types 6 | 7 | * `required`: Visa required 8 | * `not-required`: Visa not required for a certain period, or freedom of movement 9 | * `evisa`: Electronic visa/Online visa/ETA 10 | * `on-arrival`: Visa on arrival 11 | * `refused`: Admission refused/Travel banned 12 | * `unknown`: Visa status could not be parsed by this scraper 13 | 14 | ### Example 15 | 16 | Scraping the [Visa requirements for Polish citizens](https://en.wikipedia.org/wiki/Visa_requirements_for_Polish_citizens) Wikipedia page creates `dist/output/poland.json` with the JSON in the following format. (Countries that have a visa note available on Wikipedia may have a "note" property) 17 | 18 | ```json 19 | { 20 | "required": [ 21 | { 22 | "name": "Afghanistan" 23 | }, 24 | { 25 | "name": "Algeria" 26 | }, 27 | ... 28 | ], 29 | "not-required": [ 30 | { 31 | "name": "Albania", 32 | "note": "90 days; ID card valid" 33 | }, 34 | { 35 | "name": "Andorra", 36 | "note": "ID card valid" 37 | }, 38 | ... 39 | ], 40 | "evisa": [ 41 | { 42 | "name": "Australia", 43 | "note": "90 days on each visit in 12-month period if granted" 44 | }, 45 | { 46 | "name": "Ivory Coast", 47 | "note": "3 months; eVisa holders must arrive via Port Bouet Airport." 48 | }, 49 | ... 50 | ], 51 | "on-arrival": [ 52 | { 53 | "name": "Bahrain", 54 | "note": "14 days. Visa is also obtainable online." 55 | }, 56 | { 57 | "name": "Bangladesh", 58 | "note": "30 days" 59 | }, 60 | ... 61 | ], 62 | "refused": [], 63 | "unknown": [] 64 | } 65 | ``` 66 | 67 | ## Build 68 | 69 | ```shell 70 | npm run scrape 71 | ``` 72 | 73 | ## Licence 74 | 75 | MIT Licence 76 | -------------------------------------------------------------------------------- /dist/output/afghanistan.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": [ 3 | { 4 | "name": "Albania", 5 | "note": "\n" 6 | }, 7 | { 8 | "name": "Algeria", 9 | "note": "\n" 10 | }, 11 | { 12 | "name": "Andorra", 13 | "note": "\n" 14 | }, 15 | { 16 | "name": "Angola", 17 | "note": "\n" 18 | }, 19 | { 20 | "name": "Argentina", 21 | "note": "\n" 22 | }, 23 | { 24 | "name": "Armenia", 25 | "note": "\n" 26 | }, 27 | { 28 | "name": "Australia", 29 | "note": "\n" 30 | }, 31 | { 32 | "name": "Austria", 33 | "note": "\n" 34 | }, 35 | { 36 | "name": "Azerbaijan", 37 | "note": "\n" 38 | }, 39 | { 40 | "name": "The Bahamas", 41 | "note": "\n" 42 | }, 43 | { 44 | "name": "Bahrain", 45 | "note": "\n" 46 | }, 47 | { 48 | "name": "Barbados", 49 | "note": "\n" 50 | }, 51 | { 52 | "name": "Belarus", 53 | "note": "\n" 54 | }, 55 | { 56 | "name": "Belgium", 57 | "note": "\n" 58 | }, 59 | { 60 | "name": "Belize", 61 | "note": "\n" 62 | }, 63 | { 64 | "name": "Bhutan", 65 | "note": "\n" 66 | }, 67 | { 68 | "name": "Bolivia", 69 | "note": "\n" 70 | }, 71 | { 72 | "name": "Bosnia and Herzegovina", 73 | "note": "\n" 74 | }, 75 | { 76 | "name": "Botswana", 77 | "note": "\n" 78 | }, 79 | { 80 | "name": "Brazil", 81 | "note": "\n" 82 | }, 83 | { 84 | "name": "Brunei", 85 | "note": "\n" 86 | }, 87 | { 88 | "name": "Bulgaria", 89 | "note": "\n" 90 | }, 91 | { 92 | "name": "Burkina Faso", 93 | "note": "\n" 94 | }, 95 | { 96 | "name": "Burundi", 97 | "note": "\n" 98 | }, 99 | { 100 | "name": "Cambodia", 101 | "note": "\n" 102 | }, 103 | { 104 | "name": "Cameroon", 105 | "note": "\n" 106 | }, 107 | { 108 | "name": "Canada", 109 | "note": "\n" 110 | }, 111 | { 112 | "name": "Central African Republic", 113 | "note": "\n" 114 | }, 115 | { 116 | "name": "Chad", 117 | "note": "\n" 118 | }, 119 | { 120 | "name": "Chile", 121 | "note": "\n" 122 | }, 123 | { 124 | "name": "China", 125 | "note": "\n" 126 | }, 127 | { 128 | "name": "Colombia", 129 | "note": "\n" 130 | }, 131 | { 132 | "name": "Republic of the Congo", 133 | "note": "\n" 134 | }, 135 | { 136 | "name": "Democratic Republic of the Congo", 137 | "note": "\n" 138 | }, 139 | { 140 | "name": "Costa Rica", 141 | "note": "\n" 142 | }, 143 | { 144 | "name": "Croatia", 145 | "note": "\n" 146 | }, 147 | { 148 | "name": "Cuba", 149 | "note": "\n" 150 | }, 151 | { 152 | "name": "Cyprus", 153 | "note": "\n" 154 | }, 155 | { 156 | "name": "Czech Republic", 157 | "note": "\n" 158 | }, 159 | { 160 | "name": "Denmark", 161 | "note": "\n" 162 | }, 163 | { 164 | "name": "Dominican Republic", 165 | "note": "\n" 166 | }, 167 | { 168 | "name": "Ecuador", 169 | "note": "\n" 170 | }, 171 | { 172 | "name": "Egypt", 173 | "note": "\n" 174 | }, 175 | { 176 | "name": "El Salvador", 177 | "note": "\n" 178 | }, 179 | { 180 | "name": "Equatorial Guinea", 181 | "note": "\n" 182 | }, 183 | { 184 | "name": "Eritrea", 185 | "note": "\n" 186 | }, 187 | { 188 | "name": "Estonia", 189 | "note": "\n" 190 | }, 191 | { 192 | "name": "Eswatini", 193 | "note": "\n" 194 | }, 195 | { 196 | "name": "Fiji", 197 | "note": "\n" 198 | }, 199 | { 200 | "name": "Finland", 201 | "note": "\n" 202 | }, 203 | { 204 | "name": "France", 205 | "note": "\n" 206 | }, 207 | { 208 | "name": "The Gambia", 209 | "note": "\n" 210 | }, 211 | { 212 | "name": "Georgia (country)", 213 | "note": "\n" 214 | }, 215 | { 216 | "name": "Germany", 217 | "note": "\n" 218 | }, 219 | { 220 | "name": "Ghana", 221 | "note": "\n" 222 | }, 223 | { 224 | "name": "Greece", 225 | "note": "\n" 226 | }, 227 | { 228 | "name": "Grenada", 229 | "note": "\n" 230 | }, 231 | { 232 | "name": "Guatemala", 233 | "note": "\n" 234 | }, 235 | { 236 | "name": "Guinea", 237 | "note": "\n" 238 | }, 239 | { 240 | "name": "Guyana", 241 | "note": "\n" 242 | }, 243 | { 244 | "name": "Honduras", 245 | "note": "\n" 246 | }, 247 | { 248 | "name": "Hungary", 249 | "note": "\n" 250 | }, 251 | { 252 | "name": "Iceland", 253 | "note": "\n" 254 | }, 255 | { 256 | "name": "India", 257 | "note": "\n" 258 | }, 259 | { 260 | "name": "Indonesia", 261 | "note": "\n" 262 | }, 263 | { 264 | "name": "Iran", 265 | "note": "\n" 266 | }, 267 | { 268 | "name": "Iraq", 269 | "note": "\n" 270 | }, 271 | { 272 | "name": "Republic of Ireland", 273 | "note": "\n" 274 | }, 275 | { 276 | "name": "Israel", 277 | "note": "\n" 278 | }, 279 | { 280 | "name": "Italy", 281 | "note": "\n" 282 | }, 283 | { 284 | "name": "Jamaica", 285 | "note": "\n" 286 | }, 287 | { 288 | "name": "Japan", 289 | "note": "\n" 290 | }, 291 | { 292 | "name": "Jordan", 293 | "note": "\n" 294 | }, 295 | { 296 | "name": "Kazakhstan", 297 | "note": "\n" 298 | }, 299 | { 300 | "name": "Kenya", 301 | "note": "\n" 302 | }, 303 | { 304 | "name": "Kiribati", 305 | "note": "\n" 306 | }, 307 | { 308 | "name": "North Korea", 309 | "note": "\n" 310 | }, 311 | { 312 | "name": "South Korea", 313 | "note": "\n" 314 | }, 315 | { 316 | "name": "Kuwait", 317 | "note": "\n" 318 | }, 319 | { 320 | "name": "Laos", 321 | "note": "\n" 322 | }, 323 | { 324 | "name": "Latvia", 325 | "note": "\n" 326 | }, 327 | { 328 | "name": "Lebanon", 329 | "note": "\n" 330 | }, 331 | { 332 | "name": "Liberia", 333 | "note": "\n" 334 | }, 335 | { 336 | "name": "Libya", 337 | "note": "\n" 338 | }, 339 | { 340 | "name": "Liechtenstein", 341 | "note": "\n" 342 | }, 343 | { 344 | "name": "Lithuania", 345 | "note": "\n" 346 | }, 347 | { 348 | "name": "Luxembourg", 349 | "note": "\n" 350 | }, 351 | { 352 | "name": "Republic of Macedonia", 353 | "note": "\n" 354 | }, 355 | { 356 | "name": "Malawi", 357 | "note": "\n" 358 | }, 359 | { 360 | "name": "Malaysia", 361 | "note": "\n" 362 | }, 363 | { 364 | "name": "Mali", 365 | "note": "\n" 366 | }, 367 | { 368 | "name": "Malta", 369 | "note": "\n" 370 | }, 371 | { 372 | "name": "Marshall Islands", 373 | "note": "\n" 374 | }, 375 | { 376 | "name": "Mauritius", 377 | "note": "\n" 378 | }, 379 | { 380 | "name": "Mexico", 381 | "note": "\n" 382 | }, 383 | { 384 | "name": "Moldova", 385 | "note": "\n" 386 | }, 387 | { 388 | "name": "Monaco", 389 | "note": "\n" 390 | }, 391 | { 392 | "name": "Mongolia", 393 | "note": "\n" 394 | }, 395 | { 396 | "name": "Montenegro", 397 | "note": "\n" 398 | }, 399 | { 400 | "name": "Morocco", 401 | "note": "\n" 402 | }, 403 | { 404 | "name": "Myanmar", 405 | "note": "\n" 406 | }, 407 | { 408 | "name": "Namibia", 409 | "note": "\n" 410 | }, 411 | { 412 | "name": "Nauru", 413 | "note": "\n" 414 | }, 415 | { 416 | "name": "Nepal", 417 | "note": "\n" 418 | }, 419 | { 420 | "name": "Netherlands", 421 | "note": "\n" 422 | }, 423 | { 424 | "name": "New Zealand", 425 | "note": "\n" 426 | }, 427 | { 428 | "name": "Nicaragua", 429 | "note": "\n" 430 | }, 431 | { 432 | "name": "Niger", 433 | "note": "\n" 434 | }, 435 | { 436 | "name": "Nigeria", 437 | "note": "\n" 438 | }, 439 | { 440 | "name": "Norway", 441 | "note": "\n" 442 | }, 443 | { 444 | "name": "Oman", 445 | "note": "\n" 446 | }, 447 | { 448 | "name": "Pakistan", 449 | "note": "\n" 450 | }, 451 | { 452 | "name": "Panama", 453 | "note": "\n" 454 | }, 455 | { 456 | "name": "Papua New Guinea", 457 | "note": "\n" 458 | }, 459 | { 460 | "name": "Paraguay", 461 | "note": "\n" 462 | }, 463 | { 464 | "name": "Peru", 465 | "note": "\n" 466 | }, 467 | { 468 | "name": "Philippines", 469 | "note": "\n" 470 | }, 471 | { 472 | "name": "Poland", 473 | "note": "\n" 474 | }, 475 | { 476 | "name": "Portugal", 477 | "note": "\n" 478 | }, 479 | { 480 | "name": "Romania", 481 | "note": "\n" 482 | }, 483 | { 484 | "name": "Russia", 485 | "note": "\n" 486 | }, 487 | { 488 | "name": "Saint Lucia", 489 | "note": "\n" 490 | }, 491 | { 492 | "name": "San Marino", 493 | "note": "\n" 494 | }, 495 | { 496 | "name": "Saudi Arabia", 497 | "note": "\n" 498 | }, 499 | { 500 | "name": "Senegal", 501 | "note": "\n" 502 | }, 503 | { 504 | "name": "Serbia", 505 | "note": "\n" 506 | }, 507 | { 508 | "name": "Sierra Leone", 509 | "note": "\n" 510 | }, 511 | { 512 | "name": "Singapore", 513 | "note": "\n" 514 | }, 515 | { 516 | "name": "Slovakia", 517 | "note": "\n" 518 | }, 519 | { 520 | "name": "Slovenia", 521 | "note": "\n" 522 | }, 523 | { 524 | "name": "Solomon Islands", 525 | "note": "\n" 526 | }, 527 | { 528 | "name": "South Africa", 529 | "note": "\n" 530 | }, 531 | { 532 | "name": "South Sudan", 533 | "note": "\n" 534 | }, 535 | { 536 | "name": "Spain", 537 | "note": "\n" 538 | }, 539 | { 540 | "name": "Sri Lanka", 541 | "note": "\n" 542 | }, 543 | { 544 | "name": "Sudan", 545 | "note": "\n" 546 | }, 547 | { 548 | "name": "Suriname", 549 | "note": "\n" 550 | }, 551 | { 552 | "name": "Sweden", 553 | "note": "\n" 554 | }, 555 | { 556 | "name": "Switzerland", 557 | "note": "\n" 558 | }, 559 | { 560 | "name": "Syria", 561 | "note": "\n" 562 | }, 563 | { 564 | "name": "Tajikistan", 565 | "note": "\n" 566 | }, 567 | { 568 | "name": "Tanzania", 569 | "note": "\n" 570 | }, 571 | { 572 | "name": "Thailand", 573 | "note": "\n" 574 | }, 575 | { 576 | "name": "Tonga", 577 | "note": "\n" 578 | }, 579 | { 580 | "name": "Trinidad and Tobago", 581 | "note": "\n" 582 | }, 583 | { 584 | "name": "Tunisia", 585 | "note": "\n" 586 | }, 587 | { 588 | "name": "Turkey", 589 | "note": "\n" 590 | }, 591 | { 592 | "name": "Turkmenistan", 593 | "note": "\n" 594 | }, 595 | { 596 | "name": "Ukraine", 597 | "note": "\n" 598 | }, 599 | { 600 | "name": "United Arab Emirates", 601 | "note": "\n" 602 | }, 603 | { 604 | "name": "United Kingdom", 605 | "note": "\n" 606 | }, 607 | { 608 | "name": "United States", 609 | "note": "\n" 610 | }, 611 | { 612 | "name": "Uruguay", 613 | "note": "\n" 614 | }, 615 | { 616 | "name": "Uzbekistan", 617 | "note": "\n" 618 | }, 619 | { 620 | "name": "Vanuatu", 621 | "note": "\n" 622 | }, 623 | { 624 | "name": "Vatican City", 625 | "note": "\n" 626 | }, 627 | { 628 | "name": "Venezuela", 629 | "note": "\n" 630 | }, 631 | { 632 | "name": "Vietnam", 633 | "note": "\n" 634 | }, 635 | { 636 | "name": "Yemen", 637 | "note": "\n" 638 | } 639 | ], 640 | "notRequired": [ 641 | { 642 | "name": "Dominica", 643 | "note": "21 days\n" 644 | }, 645 | { 646 | "name": "Haiti", 647 | "note": "3 months\n" 648 | }, 649 | { 650 | "name": "Federated States of Micronesia", 651 | "note": "30 days\n" 652 | }, 653 | { 654 | "name": "Saint Vincent and the Grenadines", 655 | "note": "1 month\n" 656 | }, 657 | { 658 | "name": "Afghanistan", 659 | "note": "home" 660 | } 661 | ], 662 | "evisa": [ 663 | { 664 | "name": "Antigua and Barbuda", 665 | "note": "30 days\n" 666 | }, 667 | { 668 | "name": "Benin", 669 | "note": "\n" 670 | }, 671 | { 672 | "name": "Ivory Coast", 673 | "note": "\n" 674 | }, 675 | { 676 | "name": "Djibouti", 677 | "note": "31 days\n" 678 | }, 679 | { 680 | "name": "Ethiopia", 681 | "note": "up to 90 days\n" 682 | }, 683 | { 684 | "name": "Gabon", 685 | "note": "\n" 686 | }, 687 | { 688 | "name": "Kyrgyzstan", 689 | "note": "\n" 690 | }, 691 | { 692 | "name": "Lesotho", 693 | "note": "\n" 694 | }, 695 | { 696 | "name": "Qatar", 697 | "note": "\n" 698 | }, 699 | { 700 | "name": "Saint Kitts and Nevis", 701 | "note": "\n" 702 | }, 703 | { 704 | "name": "São Tomé and Príncipe", 705 | "note": "\n" 706 | }, 707 | { 708 | "name": "Zambia", 709 | "note": "\n" 710 | }, 711 | { 712 | "name": "Zimbabwe", 713 | "note": "\n" 714 | } 715 | ], 716 | "onArrival": [ 717 | { 718 | "name": "Bangladesh", 719 | "note": "30 days\n" 720 | }, 721 | { 722 | "name": "Cape Verde", 723 | "note": "3 months\n" 724 | }, 725 | { 726 | "name": "Comoros", 727 | "note": "45 days\n" 728 | }, 729 | { 730 | "name": "Guinea-Bissau", 731 | "note": "90 days\n" 732 | }, 733 | { 734 | "name": "Madagascar", 735 | "note": "90 days\n" 736 | }, 737 | { 738 | "name": "Maldives", 739 | "note": "30 days\n" 740 | }, 741 | { 742 | "name": "Mauritania", 743 | "note": "\n" 744 | }, 745 | { 746 | "name": "Mozambique", 747 | "note": "30 days\n" 748 | }, 749 | { 750 | "name": "Palau", 751 | "note": "30 days\n" 752 | }, 753 | { 754 | "name": "Rwanda", 755 | "note": "30 days\n" 756 | }, 757 | { 758 | "name": "Samoa", 759 | "note": "60 days\n" 760 | }, 761 | { 762 | "name": "Seychelles", 763 | "note": "3 months\n" 764 | }, 765 | { 766 | "name": "Somalia", 767 | "note": "30 days\n" 768 | }, 769 | { 770 | "name": "East Timor", 771 | "note": "30 days\n" 772 | }, 773 | { 774 | "name": "Togo", 775 | "note": "7 days\n" 776 | }, 777 | { 778 | "name": "Tuvalu", 779 | "note": "1 month\n" 780 | }, 781 | { 782 | "name": "Uganda", 783 | "note": "3 moths\n" 784 | } 785 | ], 786 | "refused": [], 787 | "unknown": [] 788 | } -------------------------------------------------------------------------------- /dist/output/eritrea.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": [ 3 | { 4 | "name": "Afghanistan", 5 | "note": "\n" 6 | }, 7 | { 8 | "name": "Albania", 9 | "note": "\n" 10 | }, 11 | { 12 | "name": "Algeria", 13 | "note": "\n" 14 | }, 15 | { 16 | "name": "Andorra", 17 | "note": "\n" 18 | }, 19 | { 20 | "name": "Angola", 21 | "note": "\n" 22 | }, 23 | { 24 | "name": "Argentina", 25 | "note": "\n" 26 | }, 27 | { 28 | "name": "Armenia", 29 | "note": "\n" 30 | }, 31 | { 32 | "name": "Australia", 33 | "note": "\n" 34 | }, 35 | { 36 | "name": "Austria", 37 | "note": "\n" 38 | }, 39 | { 40 | "name": "Azerbaijan", 41 | "note": "\n" 42 | }, 43 | { 44 | "name": "The Bahamas", 45 | "note": "\n" 46 | }, 47 | { 48 | "name": "Bahrain", 49 | "note": "\n" 50 | }, 51 | { 52 | "name": "Barbados", 53 | "note": "\n" 54 | }, 55 | { 56 | "name": "Belarus", 57 | "note": "\n" 58 | }, 59 | { 60 | "name": "Belgium", 61 | "note": "\n" 62 | }, 63 | { 64 | "name": "Belize", 65 | "note": "\n" 66 | }, 67 | { 68 | "name": "Bhutan", 69 | "note": "\n" 70 | }, 71 | { 72 | "name": "Bosnia and Herzegovina", 73 | "note": "\n" 74 | }, 75 | { 76 | "name": "Botswana", 77 | "note": "\n" 78 | }, 79 | { 80 | "name": "Brazil", 81 | "note": "\n" 82 | }, 83 | { 84 | "name": "Brunei", 85 | "note": "\n" 86 | }, 87 | { 88 | "name": "Bulgaria", 89 | "note": "\n" 90 | }, 91 | { 92 | "name": "Burundi", 93 | "note": "\n" 94 | }, 95 | { 96 | "name": "Cameroon", 97 | "note": "\n" 98 | }, 99 | { 100 | "name": "Canada", 101 | "note": "\n" 102 | }, 103 | { 104 | "name": "Central African Republic", 105 | "note": "\n" 106 | }, 107 | { 108 | "name": "Chad", 109 | "note": "\n" 110 | }, 111 | { 112 | "name": "Chile", 113 | "note": "\n" 114 | }, 115 | { 116 | "name": "China", 117 | "note": "\n" 118 | }, 119 | { 120 | "name": "Colombia", 121 | "note": "\n" 122 | }, 123 | { 124 | "name": "Republic of the Congo", 125 | "note": "\n" 126 | }, 127 | { 128 | "name": "Democratic Republic of the Congo", 129 | "note": "\n" 130 | }, 131 | { 132 | "name": "Costa Rica", 133 | "note": "\n" 134 | }, 135 | { 136 | "name": "Ivory Coast", 137 | "note": "\n" 138 | }, 139 | { 140 | "name": "Croatia", 141 | "note": "\n" 142 | }, 143 | { 144 | "name": "Cuba", 145 | "note": "\n" 146 | }, 147 | { 148 | "name": "Cyprus", 149 | "note": "\n" 150 | }, 151 | { 152 | "name": "Czech Republic", 153 | "note": "\n" 154 | }, 155 | { 156 | "name": "Denmark", 157 | "note": "\n" 158 | }, 159 | { 160 | "name": "Dominican Republic", 161 | "note": "\n" 162 | }, 163 | { 164 | "name": "Ecuador", 165 | "note": "\n" 166 | }, 167 | { 168 | "name": "Egypt", 169 | "note": "\n" 170 | }, 171 | { 172 | "name": "El Salvador", 173 | "note": "\n" 174 | }, 175 | { 176 | "name": "Equatorial Guinea", 177 | "note": "\n" 178 | }, 179 | { 180 | "name": "Estonia", 181 | "note": "\n" 182 | }, 183 | { 184 | "name": "Eswatini", 185 | "note": "\n" 186 | }, 187 | { 188 | "name": "Fiji", 189 | "note": "\n" 190 | }, 191 | { 192 | "name": "Finland", 193 | "note": "\n" 194 | }, 195 | { 196 | "name": "France", 197 | "note": "\n" 198 | }, 199 | { 200 | "name": "The Gambia", 201 | "note": "\n" 202 | }, 203 | { 204 | "name": "Germany", 205 | "note": "\n" 206 | }, 207 | { 208 | "name": "Greece", 209 | "note": "\n" 210 | }, 211 | { 212 | "name": "Grenada", 213 | "note": "\n" 214 | }, 215 | { 216 | "name": "Guatemala", 217 | "note": "\n" 218 | }, 219 | { 220 | "name": "Guinea", 221 | "note": "\n" 222 | }, 223 | { 224 | "name": "Guyana", 225 | "note": "\n" 226 | }, 227 | { 228 | "name": "Honduras", 229 | "note": "\n" 230 | }, 231 | { 232 | "name": "Hungary", 233 | "note": "\n" 234 | }, 235 | { 236 | "name": "Iceland", 237 | "note": "\n" 238 | }, 239 | { 240 | "name": "Indonesia", 241 | "note": "\n" 242 | }, 243 | { 244 | "name": "Iraq", 245 | "note": "\n" 246 | }, 247 | { 248 | "name": "Republic of Ireland", 249 | "note": "\n" 250 | }, 251 | { 252 | "name": "Israel", 253 | "note": "\n" 254 | }, 255 | { 256 | "name": "Italy", 257 | "note": "\n" 258 | }, 259 | { 260 | "name": "Jamaica", 261 | "note": "\n" 262 | }, 263 | { 264 | "name": "Japan", 265 | "note": "\n" 266 | }, 267 | { 268 | "name": "Jordan", 269 | "note": "\n" 270 | }, 271 | { 272 | "name": "Kazakhstan", 273 | "note": "\n" 274 | }, 275 | { 276 | "name": "Kenya", 277 | "note": "\n" 278 | }, 279 | { 280 | "name": "Kiribati", 281 | "note": "\n" 282 | }, 283 | { 284 | "name": "North Korea", 285 | "note": "\n" 286 | }, 287 | { 288 | "name": "South Korea", 289 | "note": "\n" 290 | }, 291 | { 292 | "name": "Kuwait", 293 | "note": "\n" 294 | }, 295 | { 296 | "name": "Latvia", 297 | "note": "\n" 298 | }, 299 | { 300 | "name": "Lebanon", 301 | "note": "\n" 302 | }, 303 | { 304 | "name": "Liberia", 305 | "note": "\n" 306 | }, 307 | { 308 | "name": "Libya", 309 | "note": "\n" 310 | }, 311 | { 312 | "name": "Liechtenstein", 313 | "note": "\n" 314 | }, 315 | { 316 | "name": "Lithuania", 317 | "note": "\n" 318 | }, 319 | { 320 | "name": "Luxembourg", 321 | "note": "\n" 322 | }, 323 | { 324 | "name": "Republic of Macedonia", 325 | "note": "\n" 326 | }, 327 | { 328 | "name": "Malawi", 329 | "note": "\n" 330 | }, 331 | { 332 | "name": "Malaysia", 333 | "note": "\n" 334 | }, 335 | { 336 | "name": "Mali", 337 | "note": "\n" 338 | }, 339 | { 340 | "name": "Malta", 341 | "note": "\n" 342 | }, 343 | { 344 | "name": "Marshall Islands", 345 | "note": "\n" 346 | }, 347 | { 348 | "name": "Mexico", 349 | "note": "\n" 350 | }, 351 | { 352 | "name": "Moldova", 353 | "note": "\n" 354 | }, 355 | { 356 | "name": "Monaco", 357 | "note": "\n" 358 | }, 359 | { 360 | "name": "Mongolia", 361 | "note": "\n" 362 | }, 363 | { 364 | "name": "Montenegro", 365 | "note": "\n" 366 | }, 367 | { 368 | "name": "Morocco", 369 | "note": "\n" 370 | }, 371 | { 372 | "name": "Namibia", 373 | "note": "\n" 374 | }, 375 | { 376 | "name": "Nauru", 377 | "note": "\n" 378 | }, 379 | { 380 | "name": "Netherlands", 381 | "note": "\n" 382 | }, 383 | { 384 | "name": "New Zealand", 385 | "note": "\n" 386 | }, 387 | { 388 | "name": "Nicaragua", 389 | "note": "\n" 390 | }, 391 | { 392 | "name": "Niger", 393 | "note": "\n" 394 | }, 395 | { 396 | "name": "Nigeria", 397 | "note": "\n" 398 | }, 399 | { 400 | "name": "Norway", 401 | "note": "\n" 402 | }, 403 | { 404 | "name": "Oman", 405 | "note": "\n" 406 | }, 407 | { 408 | "name": "Pakistan", 409 | "note": "\n" 410 | }, 411 | { 412 | "name": "Panama", 413 | "note": "\n" 414 | }, 415 | { 416 | "name": "Papua New Guinea", 417 | "note": "\n" 418 | }, 419 | { 420 | "name": "Paraguay", 421 | "note": "\n" 422 | }, 423 | { 424 | "name": "Peru", 425 | "note": "\n" 426 | }, 427 | { 428 | "name": "Poland", 429 | "note": "\n" 430 | }, 431 | { 432 | "name": "Portugal", 433 | "note": "\n" 434 | }, 435 | { 436 | "name": "Romania", 437 | "note": "\n" 438 | }, 439 | { 440 | "name": "Russia", 441 | "note": "\n" 442 | }, 443 | { 444 | "name": "Saint Lucia", 445 | "note": "\n" 446 | }, 447 | { 448 | "name": "San Marino", 449 | "note": "\n" 450 | }, 451 | { 452 | "name": "Saudi Arabia", 453 | "note": "\n" 454 | }, 455 | { 456 | "name": "Senegal", 457 | "note": "\n" 458 | }, 459 | { 460 | "name": "Serbia", 461 | "note": "\n" 462 | }, 463 | { 464 | "name": "Sierra Leone", 465 | "note": "\n" 466 | }, 467 | { 468 | "name": "Slovakia", 469 | "note": "\n" 470 | }, 471 | { 472 | "name": "Slovenia", 473 | "note": "\n" 474 | }, 475 | { 476 | "name": "Solomon Islands", 477 | "note": "\n" 478 | }, 479 | { 480 | "name": "South Africa", 481 | "note": "\n" 482 | }, 483 | { 484 | "name": "Spain", 485 | "note": "\n" 486 | }, 487 | { 488 | "name": "Sudan", 489 | "note": "\n" 490 | }, 491 | { 492 | "name": "Suriname", 493 | "note": "\n" 494 | }, 495 | { 496 | "name": "Sweden", 497 | "note": "\n" 498 | }, 499 | { 500 | "name": "Switzerland", 501 | "note": "\n" 502 | }, 503 | { 504 | "name": "Syria", 505 | "note": "\n" 506 | }, 507 | { 508 | "name": "Tajikistan", 509 | "note": "\n" 510 | }, 511 | { 512 | "name": "Tanzania", 513 | "note": "\n" 514 | }, 515 | { 516 | "name": "Thailand", 517 | "note": "\n" 518 | }, 519 | { 520 | "name": "Tonga", 521 | "note": "\n" 522 | }, 523 | { 524 | "name": "Trinidad and Tobago", 525 | "note": "\n" 526 | }, 527 | { 528 | "name": "Tunisia", 529 | "note": "\n" 530 | }, 531 | { 532 | "name": "Turkey", 533 | "note": "\n" 534 | }, 535 | { 536 | "name": "Turkmenistan", 537 | "note": "\n" 538 | }, 539 | { 540 | "name": "Ukraine", 541 | "note": "\n" 542 | }, 543 | { 544 | "name": "United Arab Emirates", 545 | "note": "\n" 546 | }, 547 | { 548 | "name": "United Kingdom", 549 | "note": "\n" 550 | }, 551 | { 552 | "name": "United States", 553 | "note": "\n" 554 | }, 555 | { 556 | "name": "Uruguay", 557 | "note": "\n" 558 | }, 559 | { 560 | "name": "Uzbekistan", 561 | "note": "\n" 562 | }, 563 | { 564 | "name": "Vanuatu", 565 | "note": "\n" 566 | }, 567 | { 568 | "name": "Vatican City", 569 | "note": "\n" 570 | }, 571 | { 572 | "name": "Venezuela", 573 | "note": "\n" 574 | }, 575 | { 576 | "name": "Vietnam", 577 | "note": "\n" 578 | }, 579 | { 580 | "name": "Yemen", 581 | "note": "\n" 582 | } 583 | ], 584 | "notRequired": [ 585 | { 586 | "name": "Benin", 587 | "note": "90 days\n" 588 | }, 589 | { 590 | "name": "Dominica", 591 | "note": "21 days\n" 592 | }, 593 | { 594 | "name": "Haiti", 595 | "note": "3 months\n" 596 | }, 597 | { 598 | "name": "Federated States of Micronesia", 599 | "note": "30 days\n" 600 | }, 601 | { 602 | "name": "Philippines", 603 | "note": "30 days\n" 604 | }, 605 | { 606 | "name": "Saint Vincent and the Grenadines", 607 | "note": "30 days\n" 608 | }, 609 | { 610 | "name": "Singapore", 611 | "note": "30 days\n" 612 | }, 613 | { 614 | "name": "Uganda", 615 | "note": "\n" 616 | }, 617 | { 618 | "name": "Eritrea", 619 | "note": "home" 620 | } 621 | ], 622 | "evisa": [ 623 | { 624 | "name": "Antigua and Barbuda", 625 | "note": "\n" 626 | }, 627 | { 628 | "name": "Djibouti", 629 | "note": "31 days\n" 630 | }, 631 | { 632 | "name": "Gabon", 633 | "note": "\n" 634 | }, 635 | { 636 | "name": "Georgia (country)", 637 | "note": "\n" 638 | }, 639 | { 640 | "name": "India", 641 | "note": "60 days\n" 642 | }, 643 | { 644 | "name": "Kyrgyzstan", 645 | "note": "\n" 646 | }, 647 | { 648 | "name": "Lesotho", 649 | "note": "\n" 650 | }, 651 | { 652 | "name": "Myanmar", 653 | "note": "28 days\n" 654 | }, 655 | { 656 | "name": "Qatar", 657 | "note": "\n" 658 | }, 659 | { 660 | "name": "Saint Kitts and Nevis", 661 | "note": "\n" 662 | }, 663 | { 664 | "name": "São Tomé and Príncipe", 665 | "note": "\n" 666 | }, 667 | { 668 | "name": "Sri Lanka", 669 | "note": "30 days\n" 670 | }, 671 | { 672 | "name": "Zimbabwe", 673 | "note": "\n" 674 | } 675 | ], 676 | "onArrival": [ 677 | { 678 | "name": "Bangladesh", 679 | "note": "30 days\n" 680 | }, 681 | { 682 | "name": "Bolivia", 683 | "note": "90 days\n" 684 | }, 685 | { 686 | "name": "Burkina Faso", 687 | "note": "\n" 688 | }, 689 | { 690 | "name": "Cambodia", 691 | "note": "\n" 692 | }, 693 | { 694 | "name": "Cape Verde", 695 | "note": "\n" 696 | }, 697 | { 698 | "name": "Comoros", 699 | "note": "\n" 700 | }, 701 | { 702 | "name": "Ethiopia", 703 | "note": "up to 90 days\n" 704 | }, 705 | { 706 | "name": "Ghana", 707 | "note": "30 days\n" 708 | }, 709 | { 710 | "name": "Guinea-Bissau", 711 | "note": "90 days\n" 712 | }, 713 | { 714 | "name": "Iran", 715 | "note": "30 days\n" 716 | }, 717 | { 718 | "name": "Laos", 719 | "note": "30 days\n" 720 | }, 721 | { 722 | "name": "Madagascar", 723 | "note": "90 days\n" 724 | }, 725 | { 726 | "name": "Maldives", 727 | "note": "30 days\n" 728 | }, 729 | { 730 | "name": "Mauritania", 731 | "note": "\n" 732 | }, 733 | { 734 | "name": "Mauritius", 735 | "note": "60 days\n" 736 | }, 737 | { 738 | "name": "Mozambique", 739 | "note": "30 days\n" 740 | }, 741 | { 742 | "name": "Nepal", 743 | "note": "\n" 744 | }, 745 | { 746 | "name": "Palau", 747 | "note": "30 days\n" 748 | }, 749 | { 750 | "name": "Rwanda", 751 | "note": "30 days\n" 752 | }, 753 | { 754 | "name": "Samoa", 755 | "note": "60 days\n" 756 | }, 757 | { 758 | "name": "Seychelles", 759 | "note": "3 months\n" 760 | }, 761 | { 762 | "name": "Somalia", 763 | "note": "30 days\n" 764 | }, 765 | { 766 | "name": "South Sudan", 767 | "note": "\n" 768 | }, 769 | { 770 | "name": "East Timor", 771 | "note": "30 days\n" 772 | }, 773 | { 774 | "name": "Togo", 775 | "note": "7 days\n" 776 | }, 777 | { 778 | "name": "Tuvalu", 779 | "note": "1 month\n" 780 | }, 781 | { 782 | "name": "Zambia", 783 | "note": "\n" 784 | } 785 | ], 786 | "refused": [], 787 | "unknown": [] 788 | } -------------------------------------------------------------------------------- /dist/output/iraq.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": [ 3 | { 4 | "name": "Afghanistan", 5 | "note": "\n" 6 | }, 7 | { 8 | "name": "Albania", 9 | "note": "\n" 10 | }, 11 | { 12 | "name": "Algeria", 13 | "note": "\n" 14 | }, 15 | { 16 | "name": "Andorra", 17 | "note": "\n" 18 | }, 19 | { 20 | "name": "Angola", 21 | "note": "\n" 22 | }, 23 | { 24 | "name": "Argentina", 25 | "note": "\n" 26 | }, 27 | { 28 | "name": "Armenia", 29 | "note": "\n" 30 | }, 31 | { 32 | "name": "Australia", 33 | "note": "\n" 34 | }, 35 | { 36 | "name": "Austria", 37 | "note": "\n" 38 | }, 39 | { 40 | "name": "Azerbaijan", 41 | "note": "\n" 42 | }, 43 | { 44 | "name": "The Bahamas", 45 | "note": "\n" 46 | }, 47 | { 48 | "name": "Bahrain", 49 | "note": "\n" 50 | }, 51 | { 52 | "name": "Bangladesh", 53 | "note": "\n" 54 | }, 55 | { 56 | "name": "Barbados", 57 | "note": "\n" 58 | }, 59 | { 60 | "name": "Belarus", 61 | "note": "\n" 62 | }, 63 | { 64 | "name": "Belgium", 65 | "note": "\n" 66 | }, 67 | { 68 | "name": "Belize", 69 | "note": "\n" 70 | }, 71 | { 72 | "name": "Bhutan", 73 | "note": "\n" 74 | }, 75 | { 76 | "name": "Bolivia", 77 | "note": "\n" 78 | }, 79 | { 80 | "name": "Bosnia and Herzegovina", 81 | "note": "\n" 82 | }, 83 | { 84 | "name": "Botswana", 85 | "note": "\n" 86 | }, 87 | { 88 | "name": "Brazil", 89 | "note": "\n" 90 | }, 91 | { 92 | "name": "Brunei", 93 | "note": "\n" 94 | }, 95 | { 96 | "name": "Bulgaria", 97 | "note": "\n" 98 | }, 99 | { 100 | "name": "Burkina Faso", 101 | "note": "\n" 102 | }, 103 | { 104 | "name": "Burundi", 105 | "note": "\n" 106 | }, 107 | { 108 | "name": "Cambodia", 109 | "note": "\n" 110 | }, 111 | { 112 | "name": "Cameroon", 113 | "note": "\n" 114 | }, 115 | { 116 | "name": "Canada", 117 | "note": "\n" 118 | }, 119 | { 120 | "name": "Central African Republic", 121 | "note": "\n" 122 | }, 123 | { 124 | "name": "Chad", 125 | "note": "\n" 126 | }, 127 | { 128 | "name": "Chile", 129 | "note": "\n" 130 | }, 131 | { 132 | "name": "China", 133 | "note": "\n" 134 | }, 135 | { 136 | "name": "Colombia", 137 | "note": "\n" 138 | }, 139 | { 140 | "name": "Republic of the Congo", 141 | "note": "\n" 142 | }, 143 | { 144 | "name": "Democratic Republic of the Congo", 145 | "note": "\n" 146 | }, 147 | { 148 | "name": "Costa Rica", 149 | "note": "\n" 150 | }, 151 | { 152 | "name": "Croatia", 153 | "note": "\n" 154 | }, 155 | { 156 | "name": "Cuba", 157 | "note": "\n" 158 | }, 159 | { 160 | "name": "Cyprus", 161 | "note": "\n" 162 | }, 163 | { 164 | "name": "Czech Republic", 165 | "note": "\n" 166 | }, 167 | { 168 | "name": "Denmark", 169 | "note": "\n" 170 | }, 171 | { 172 | "name": "Dominican Republic", 173 | "note": "\n" 174 | }, 175 | { 176 | "name": "Egypt", 177 | "note": "\n" 178 | }, 179 | { 180 | "name": "El Salvador", 181 | "note": "\n" 182 | }, 183 | { 184 | "name": "Equatorial Guinea", 185 | "note": "\n" 186 | }, 187 | { 188 | "name": "Eritrea", 189 | "note": "\n" 190 | }, 191 | { 192 | "name": "Estonia", 193 | "note": "\n" 194 | }, 195 | { 196 | "name": "Eswatini", 197 | "note": "\n" 198 | }, 199 | { 200 | "name": "Fiji", 201 | "note": "\n" 202 | }, 203 | { 204 | "name": "Finland", 205 | "note": "\n" 206 | }, 207 | { 208 | "name": "France", 209 | "note": "\n" 210 | }, 211 | { 212 | "name": "The Gambia", 213 | "note": "\n" 214 | }, 215 | { 216 | "name": "Georgia (country)", 217 | "note": "\n" 218 | }, 219 | { 220 | "name": "Germany", 221 | "note": "\n" 222 | }, 223 | { 224 | "name": "Ghana", 225 | "note": "\n" 226 | }, 227 | { 228 | "name": "Greece", 229 | "note": "\n" 230 | }, 231 | { 232 | "name": "Grenada", 233 | "note": "\n" 234 | }, 235 | { 236 | "name": "Guatemala", 237 | "note": "\n" 238 | }, 239 | { 240 | "name": "Guinea", 241 | "note": "\n" 242 | }, 243 | { 244 | "name": "Guyana", 245 | "note": "\n" 246 | }, 247 | { 248 | "name": "Honduras", 249 | "note": "\n" 250 | }, 251 | { 252 | "name": "Hungary", 253 | "note": "\n" 254 | }, 255 | { 256 | "name": "Iceland", 257 | "note": "\n" 258 | }, 259 | { 260 | "name": "India", 261 | "note": "\n" 262 | }, 263 | { 264 | "name": "Indonesia", 265 | "note": "\n" 266 | }, 267 | { 268 | "name": "Iran", 269 | "note": "\n" 270 | }, 271 | { 272 | "name": "Republic of Ireland", 273 | "note": "\n" 274 | }, 275 | { 276 | "name": "Israel", 277 | "note": "\n" 278 | }, 279 | { 280 | "name": "Italy", 281 | "note": "\n" 282 | }, 283 | { 284 | "name": "Jamaica", 285 | "note": "\n" 286 | }, 287 | { 288 | "name": "Japan", 289 | "note": "\n" 290 | }, 291 | { 292 | "name": "Jordan", 293 | "note": "\n" 294 | }, 295 | { 296 | "name": "Kazakhstan", 297 | "note": "\n" 298 | }, 299 | { 300 | "name": "Kenya", 301 | "note": "\n" 302 | }, 303 | { 304 | "name": "Kiribati", 305 | "note": "\n" 306 | }, 307 | { 308 | "name": "North Korea", 309 | "note": "\n" 310 | }, 311 | { 312 | "name": "South Korea", 313 | "note": "\n" 314 | }, 315 | { 316 | "name": "Kuwait", 317 | "note": "\n" 318 | }, 319 | { 320 | "name": "Laos", 321 | "note": "\n" 322 | }, 323 | { 324 | "name": "Latvia", 325 | "note": "\n" 326 | }, 327 | { 328 | "name": "Liberia", 329 | "note": "\n" 330 | }, 331 | { 332 | "name": "Libya", 333 | "note": "\n" 334 | }, 335 | { 336 | "name": "Liechtenstein", 337 | "note": "\n" 338 | }, 339 | { 340 | "name": "Lithuania", 341 | "note": "\n" 342 | }, 343 | { 344 | "name": "Luxembourg", 345 | "note": "\n" 346 | }, 347 | { 348 | "name": "Republic of Macedonia", 349 | "note": "\n" 350 | }, 351 | { 352 | "name": "Malawi", 353 | "note": "\n" 354 | }, 355 | { 356 | "name": "Mali", 357 | "note": "\n" 358 | }, 359 | { 360 | "name": "Malta", 361 | "note": "\n" 362 | }, 363 | { 364 | "name": "Marshall Islands", 365 | "note": "\n" 366 | }, 367 | { 368 | "name": "Mauritius", 369 | "note": "\n" 370 | }, 371 | { 372 | "name": "Mexico", 373 | "note": "\n" 374 | }, 375 | { 376 | "name": "Moldova", 377 | "note": "\n" 378 | }, 379 | { 380 | "name": "Monaco", 381 | "note": "\n" 382 | }, 383 | { 384 | "name": "Mongolia", 385 | "note": "\n" 386 | }, 387 | { 388 | "name": "Montenegro", 389 | "note": "\n" 390 | }, 391 | { 392 | "name": "Morocco", 393 | "note": "\n" 394 | }, 395 | { 396 | "name": "Myanmar", 397 | "note": "\n" 398 | }, 399 | { 400 | "name": "Namibia", 401 | "note": "\n" 402 | }, 403 | { 404 | "name": "Nauru", 405 | "note": "\n" 406 | }, 407 | { 408 | "name": "Nepal", 409 | "note": "\n" 410 | }, 411 | { 412 | "name": "Netherlands", 413 | "note": "\n" 414 | }, 415 | { 416 | "name": "New Zealand", 417 | "note": "\n" 418 | }, 419 | { 420 | "name": "Nicaragua", 421 | "note": "\n" 422 | }, 423 | { 424 | "name": "Niger", 425 | "note": "\n" 426 | }, 427 | { 428 | "name": "Nigeria", 429 | "note": "\n" 430 | }, 431 | { 432 | "name": "Norway", 433 | "note": "\n" 434 | }, 435 | { 436 | "name": "Oman", 437 | "note": "\n" 438 | }, 439 | { 440 | "name": "Pakistan", 441 | "note": "\n" 442 | }, 443 | { 444 | "name": "Panama", 445 | "note": "\n" 446 | }, 447 | { 448 | "name": "Papua New Guinea", 449 | "note": "\n" 450 | }, 451 | { 452 | "name": "Paraguay", 453 | "note": "\n" 454 | }, 455 | { 456 | "name": "Peru", 457 | "note": "\n" 458 | }, 459 | { 460 | "name": "Philippines", 461 | "note": "\n" 462 | }, 463 | { 464 | "name": "Poland", 465 | "note": "\n" 466 | }, 467 | { 468 | "name": "Portugal", 469 | "note": "\n" 470 | }, 471 | { 472 | "name": "Romania", 473 | "note": "\n" 474 | }, 475 | { 476 | "name": "Russia", 477 | "note": "\n" 478 | }, 479 | { 480 | "name": "Saint Lucia", 481 | "note": "\n" 482 | }, 483 | { 484 | "name": "Saint Vincent and the Grenadines", 485 | "note": "\n" 486 | }, 487 | { 488 | "name": "San Marino", 489 | "note": "\n" 490 | }, 491 | { 492 | "name": "Saudi Arabia", 493 | "note": "\n" 494 | }, 495 | { 496 | "name": "Senegal", 497 | "note": "\n" 498 | }, 499 | { 500 | "name": "Serbia", 501 | "note": "\n" 502 | }, 503 | { 504 | "name": "Sierra Leone", 505 | "note": "\n" 506 | }, 507 | { 508 | "name": "Singapore", 509 | "note": "\n" 510 | }, 511 | { 512 | "name": "Slovakia", 513 | "note": "\n" 514 | }, 515 | { 516 | "name": "Slovenia", 517 | "note": "\n" 518 | }, 519 | { 520 | "name": "Solomon Islands", 521 | "note": "\n" 522 | }, 523 | { 524 | "name": "South Africa", 525 | "note": "\n" 526 | }, 527 | { 528 | "name": "South Sudan", 529 | "note": "\n" 530 | }, 531 | { 532 | "name": "Spain", 533 | "note": "\n" 534 | }, 535 | { 536 | "name": "Sudan", 537 | "note": "\n" 538 | }, 539 | { 540 | "name": "Suriname", 541 | "note": "\n" 542 | }, 543 | { 544 | "name": "Sweden", 545 | "note": "\n" 546 | }, 547 | { 548 | "name": "Switzerland", 549 | "note": "\n" 550 | }, 551 | { 552 | "name": "Syria", 553 | "note": "\n" 554 | }, 555 | { 556 | "name": "Tajikistan", 557 | "note": "\n" 558 | }, 559 | { 560 | "name": "Thailand", 561 | "note": "\n" 562 | }, 563 | { 564 | "name": "Tonga", 565 | "note": "\n" 566 | }, 567 | { 568 | "name": "Trinidad and Tobago", 569 | "note": "\n" 570 | }, 571 | { 572 | "name": "Tunisia", 573 | "note": "\n" 574 | }, 575 | { 576 | "name": "Turkey", 577 | "note": "\n" 578 | }, 579 | { 580 | "name": "Turkmenistan", 581 | "note": "\n" 582 | }, 583 | { 584 | "name": "Ukraine", 585 | "note": "\n" 586 | }, 587 | { 588 | "name": "United Arab Emirates", 589 | "note": "\n" 590 | }, 591 | { 592 | "name": "United Kingdom", 593 | "note": "\n" 594 | }, 595 | { 596 | "name": "United States", 597 | "note": "\n" 598 | }, 599 | { 600 | "name": "Uruguay", 601 | "note": "\n" 602 | }, 603 | { 604 | "name": "Uzbekistan", 605 | "note": "\n" 606 | }, 607 | { 608 | "name": "Vanuatu", 609 | "note": "\n" 610 | }, 611 | { 612 | "name": "Vatican City", 613 | "note": "\n" 614 | }, 615 | { 616 | "name": "Venezuela", 617 | "note": "\n" 618 | }, 619 | { 620 | "name": "Vietnam", 621 | "note": "\n" 622 | }, 623 | { 624 | "name": "Yemen", 625 | "note": "\n" 626 | } 627 | ], 628 | "notRequired": [ 629 | { 630 | "name": "Dominica", 631 | "note": "21 days\n" 632 | }, 633 | { 634 | "name": "Ecuador", 635 | "note": "90 days\n" 636 | }, 637 | { 638 | "name": "Haiti", 639 | "note": "3 months\n" 640 | }, 641 | { 642 | "name": "Malaysia", 643 | "note": "30 days\n" 644 | }, 645 | { 646 | "name": "Federated States of Micronesia", 647 | "note": "30 days\n" 648 | }, 649 | { 650 | "name": "Iraq", 651 | "note": "home" 652 | } 653 | ], 654 | "evisa": [ 655 | { 656 | "name": "Antigua and Barbuda", 657 | "note": "30 days\n" 658 | }, 659 | { 660 | "name": "Benin", 661 | "note": "90 days\n" 662 | }, 663 | { 664 | "name": "Ivory Coast", 665 | "note": "\n" 666 | }, 667 | { 668 | "name": "Djibouti", 669 | "note": "31 days\n" 670 | }, 671 | { 672 | "name": "Ethiopia", 673 | "note": "up to 90 days\n" 674 | }, 675 | { 676 | "name": "Gabon", 677 | "note": "\n" 678 | }, 679 | { 680 | "name": "Kyrgyzstan", 681 | "note": "\n" 682 | }, 683 | { 684 | "name": "Lesotho", 685 | "note": "\n" 686 | }, 687 | { 688 | "name": "Qatar", 689 | "note": "\n" 690 | }, 691 | { 692 | "name": "Saint Kitts and Nevis", 693 | "note": "\n" 694 | }, 695 | { 696 | "name": "São Tomé and Príncipe", 697 | "note": "\n" 698 | }, 699 | { 700 | "name": "Zambia", 701 | "note": "\n" 702 | }, 703 | { 704 | "name": "Zimbabwe", 705 | "note": "\n" 706 | } 707 | ], 708 | "onArrival": [ 709 | { 710 | "name": "Cape Verde", 711 | "note": "3 months\n" 712 | }, 713 | { 714 | "name": "Comoros", 715 | "note": "45 days\n" 716 | }, 717 | { 718 | "name": "Guinea-Bissau", 719 | "note": "90 days\n" 720 | }, 721 | { 722 | "name": "Lebanon", 723 | "note": "30 days\n" 724 | }, 725 | { 726 | "name": "Madagascar", 727 | "note": "90 days\n" 728 | }, 729 | { 730 | "name": "Maldives", 731 | "note": "30 days\n" 732 | }, 733 | { 734 | "name": "Mauritania", 735 | "note": "\n" 736 | }, 737 | { 738 | "name": "Mozambique", 739 | "note": "30 days\n" 740 | }, 741 | { 742 | "name": "Palau", 743 | "note": "30 days\n" 744 | }, 745 | { 746 | "name": "Rwanda", 747 | "note": "30 days\n" 748 | }, 749 | { 750 | "name": "Samoa", 751 | "note": "60 days\n" 752 | }, 753 | { 754 | "name": "Seychelles", 755 | "note": "3 months\n" 756 | }, 757 | { 758 | "name": "Somalia", 759 | "note": "30 days\n" 760 | }, 761 | { 762 | "name": "Sri Lanka", 763 | "note": "30 days\n" 764 | }, 765 | { 766 | "name": "Tanzania", 767 | "note": "3 months\n" 768 | }, 769 | { 770 | "name": "East Timor", 771 | "note": "30 days\n" 772 | }, 773 | { 774 | "name": "Togo", 775 | "note": "7 days\n" 776 | }, 777 | { 778 | "name": "Tuvalu", 779 | "note": "1 month\n" 780 | }, 781 | { 782 | "name": "Uganda", 783 | "note": "3 months\n" 784 | } 785 | ], 786 | "refused": [], 787 | "unknown": [] 788 | } -------------------------------------------------------------------------------- /dist/output/liberia.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": [ 3 | { 4 | "name": "Afghanistan", 5 | "note": "\n" 6 | }, 7 | { 8 | "name": "Albania", 9 | "note": "\n" 10 | }, 11 | { 12 | "name": "Algeria", 13 | "note": "\n" 14 | }, 15 | { 16 | "name": "Andorra", 17 | "note": "\n" 18 | }, 19 | { 20 | "name": "Angola", 21 | "note": "\n" 22 | }, 23 | { 24 | "name": "Argentina", 25 | "note": "\n" 26 | }, 27 | { 28 | "name": "Armenia", 29 | "note": "\n" 30 | }, 31 | { 32 | "name": "Australia", 33 | "note": "\n" 34 | }, 35 | { 36 | "name": "Austria", 37 | "note": "\n" 38 | }, 39 | { 40 | "name": "Azerbaijan", 41 | "note": "\n" 42 | }, 43 | { 44 | "name": "The Bahamas", 45 | "note": "\n" 46 | }, 47 | { 48 | "name": "Bahrain", 49 | "note": "\n" 50 | }, 51 | { 52 | "name": "Barbados", 53 | "note": "\n" 54 | }, 55 | { 56 | "name": "Belarus", 57 | "note": "\n" 58 | }, 59 | { 60 | "name": "Belgium", 61 | "note": "\n" 62 | }, 63 | { 64 | "name": "Belize", 65 | "note": "\n" 66 | }, 67 | { 68 | "name": "Bhutan", 69 | "note": "\n" 70 | }, 71 | { 72 | "name": "Bosnia and Herzegovina", 73 | "note": "\n" 74 | }, 75 | { 76 | "name": "Botswana", 77 | "note": "\n" 78 | }, 79 | { 80 | "name": "Brazil", 81 | "note": "\n" 82 | }, 83 | { 84 | "name": "Brunei", 85 | "note": "\n" 86 | }, 87 | { 88 | "name": "Bulgaria", 89 | "note": "\n" 90 | }, 91 | { 92 | "name": "Burundi", 93 | "note": "\n" 94 | }, 95 | { 96 | "name": "Cameroon", 97 | "note": "\n" 98 | }, 99 | { 100 | "name": "Canada", 101 | "note": "\n" 102 | }, 103 | { 104 | "name": "Chad", 105 | "note": "\n" 106 | }, 107 | { 108 | "name": "Chile", 109 | "note": "\n" 110 | }, 111 | { 112 | "name": "China", 113 | "note": "\n" 114 | }, 115 | { 116 | "name": "Colombia", 117 | "note": "\n" 118 | }, 119 | { 120 | "name": "Republic of the Congo", 121 | "note": "\n" 122 | }, 123 | { 124 | "name": "Democratic Republic of the Congo", 125 | "note": "\n" 126 | }, 127 | { 128 | "name": "Costa Rica", 129 | "note": "\n" 130 | }, 131 | { 132 | "name": "Croatia", 133 | "note": "\n" 134 | }, 135 | { 136 | "name": "Cuba", 137 | "note": "\n" 138 | }, 139 | { 140 | "name": "Cyprus", 141 | "note": "\n" 142 | }, 143 | { 144 | "name": "Czech Republic", 145 | "note": "\n" 146 | }, 147 | { 148 | "name": "Denmark", 149 | "note": "\n" 150 | }, 151 | { 152 | "name": "Dominican Republic", 153 | "note": "\n" 154 | }, 155 | { 156 | "name": "Egypt", 157 | "note": "\n" 158 | }, 159 | { 160 | "name": "El Salvador", 161 | "note": "\n" 162 | }, 163 | { 164 | "name": "Equatorial Guinea", 165 | "note": "\n" 166 | }, 167 | { 168 | "name": "Eritrea", 169 | "note": "\n" 170 | }, 171 | { 172 | "name": "Estonia", 173 | "note": "\n" 174 | }, 175 | { 176 | "name": "Eswatini", 177 | "note": "\n" 178 | }, 179 | { 180 | "name": "Fiji", 181 | "note": "\n" 182 | }, 183 | { 184 | "name": "Finland", 185 | "note": "\n" 186 | }, 187 | { 188 | "name": "France", 189 | "note": "\n" 190 | }, 191 | { 192 | "name": "Georgia (country)", 193 | "note": "\n" 194 | }, 195 | { 196 | "name": "Germany", 197 | "note": "\n" 198 | }, 199 | { 200 | "name": "Greece", 201 | "note": "\n" 202 | }, 203 | { 204 | "name": "Grenada", 205 | "note": "\n" 206 | }, 207 | { 208 | "name": "Guatemala", 209 | "note": "\n" 210 | }, 211 | { 212 | "name": "Guyana", 213 | "note": "\n" 214 | }, 215 | { 216 | "name": "Honduras", 217 | "note": "\n" 218 | }, 219 | { 220 | "name": "Hungary", 221 | "note": "\n" 222 | }, 223 | { 224 | "name": "Iceland", 225 | "note": "\n" 226 | }, 227 | { 228 | "name": "Indonesia", 229 | "note": "\n" 230 | }, 231 | { 232 | "name": "Iraq", 233 | "note": "\n" 234 | }, 235 | { 236 | "name": "Republic of Ireland", 237 | "note": "\n" 238 | }, 239 | { 240 | "name": "Israel", 241 | "note": "\n" 242 | }, 243 | { 244 | "name": "Italy", 245 | "note": "\n" 246 | }, 247 | { 248 | "name": "Jamaica", 249 | "note": "\n" 250 | }, 251 | { 252 | "name": "Japan", 253 | "note": "\n" 254 | }, 255 | { 256 | "name": "Jordan", 257 | "note": "\n" 258 | }, 259 | { 260 | "name": "Kazakhstan", 261 | "note": "\n" 262 | }, 263 | { 264 | "name": "Kiribati", 265 | "note": "\n" 266 | }, 267 | { 268 | "name": "North Korea", 269 | "note": "\n" 270 | }, 271 | { 272 | "name": "Kuwait", 273 | "note": "\n" 274 | }, 275 | { 276 | "name": "Laos", 277 | "note": "\n" 278 | }, 279 | { 280 | "name": "Latvia", 281 | "note": "\n" 282 | }, 283 | { 284 | "name": "Lebanon", 285 | "note": "\n" 286 | }, 287 | { 288 | "name": "Libya", 289 | "note": "\n" 290 | }, 291 | { 292 | "name": "Liechtenstein", 293 | "note": "\n" 294 | }, 295 | { 296 | "name": "Lithuania", 297 | "note": "\n" 298 | }, 299 | { 300 | "name": "Luxembourg", 301 | "note": "\n" 302 | }, 303 | { 304 | "name": "Republic of Macedonia", 305 | "note": "\n" 306 | }, 307 | { 308 | "name": "Malawi", 309 | "note": "\n" 310 | }, 311 | { 312 | "name": "Malaysia", 313 | "note": "\n" 314 | }, 315 | { 316 | "name": "Malta", 317 | "note": "\n" 318 | }, 319 | { 320 | "name": "Marshall Islands", 321 | "note": "\n" 322 | }, 323 | { 324 | "name": "Mexico", 325 | "note": "\n" 326 | }, 327 | { 328 | "name": "Moldova", 329 | "note": "\n" 330 | }, 331 | { 332 | "name": "Monaco", 333 | "note": "\n" 334 | }, 335 | { 336 | "name": "Mongolia", 337 | "note": "\n" 338 | }, 339 | { 340 | "name": "Montenegro", 341 | "note": "\n" 342 | }, 343 | { 344 | "name": "Morocco", 345 | "note": "\n" 346 | }, 347 | { 348 | "name": "Myanmar", 349 | "note": "\n" 350 | }, 351 | { 352 | "name": "Namibia", 353 | "note": "\n" 354 | }, 355 | { 356 | "name": "Nauru", 357 | "note": "\n" 358 | }, 359 | { 360 | "name": "Nepal", 361 | "note": "\n" 362 | }, 363 | { 364 | "name": "Netherlands", 365 | "note": "\n" 366 | }, 367 | { 368 | "name": "New Zealand", 369 | "note": "\n" 370 | }, 371 | { 372 | "name": "Nicaragua", 373 | "note": "\n" 374 | }, 375 | { 376 | "name": "Norway", 377 | "note": "\n" 378 | }, 379 | { 380 | "name": "Oman", 381 | "note": "\n" 382 | }, 383 | { 384 | "name": "Pakistan", 385 | "note": "\n" 386 | }, 387 | { 388 | "name": "Panama", 389 | "note": "\n" 390 | }, 391 | { 392 | "name": "Papua New Guinea", 393 | "note": "\n" 394 | }, 395 | { 396 | "name": "Paraguay", 397 | "note": "\n" 398 | }, 399 | { 400 | "name": "Peru", 401 | "note": "\n" 402 | }, 403 | { 404 | "name": "Poland", 405 | "note": "\n" 406 | }, 407 | { 408 | "name": "Portugal", 409 | "note": "\n" 410 | }, 411 | { 412 | "name": "Qatar", 413 | "note": "\n" 414 | }, 415 | { 416 | "name": "Romania", 417 | "note": "\n" 418 | }, 419 | { 420 | "name": "Russia", 421 | "note": "\n" 422 | }, 423 | { 424 | "name": "Saint Lucia", 425 | "note": "\n" 426 | }, 427 | { 428 | "name": "San Marino", 429 | "note": "\n" 430 | }, 431 | { 432 | "name": "Saudi Arabia", 433 | "note": "\n" 434 | }, 435 | { 436 | "name": "Serbia", 437 | "note": "\n" 438 | }, 439 | { 440 | "name": "Slovakia", 441 | "note": "\n" 442 | }, 443 | { 444 | "name": "Slovenia", 445 | "note": "\n" 446 | }, 447 | { 448 | "name": "Solomon Islands", 449 | "note": "\n" 450 | }, 451 | { 452 | "name": "South Africa", 453 | "note": "\n" 454 | }, 455 | { 456 | "name": "South Sudan", 457 | "note": "\n" 458 | }, 459 | { 460 | "name": "Spain", 461 | "note": "\n" 462 | }, 463 | { 464 | "name": "Sri Lanka", 465 | "note": "\n" 466 | }, 467 | { 468 | "name": "Sudan", 469 | "note": "\n" 470 | }, 471 | { 472 | "name": "Suriname", 473 | "note": "\n" 474 | }, 475 | { 476 | "name": "Sweden", 477 | "note": "\n" 478 | }, 479 | { 480 | "name": "Switzerland", 481 | "note": "\n" 482 | }, 483 | { 484 | "name": "Syria", 485 | "note": "\n" 486 | }, 487 | { 488 | "name": "Tajikistan", 489 | "note": "\n" 490 | }, 491 | { 492 | "name": "Thailand", 493 | "note": "\n" 494 | }, 495 | { 496 | "name": "Tonga", 497 | "note": "\n" 498 | }, 499 | { 500 | "name": "Trinidad and Tobago", 501 | "note": "\n" 502 | }, 503 | { 504 | "name": "Tunisia", 505 | "note": "\n" 506 | }, 507 | { 508 | "name": "Turkey", 509 | "note": "\n" 510 | }, 511 | { 512 | "name": "Turkmenistan", 513 | "note": "\n" 514 | }, 515 | { 516 | "name": "Ukraine", 517 | "note": "\n" 518 | }, 519 | { 520 | "name": "United Kingdom", 521 | "note": "\n" 522 | }, 523 | { 524 | "name": "United States", 525 | "note": "\n" 526 | }, 527 | { 528 | "name": "Uruguay", 529 | "note": "\n" 530 | }, 531 | { 532 | "name": "Uzbekistan", 533 | "note": "\n" 534 | }, 535 | { 536 | "name": "Vanuatu", 537 | "note": "\n" 538 | }, 539 | { 540 | "name": "Vatican City", 541 | "note": "\n" 542 | }, 543 | { 544 | "name": "Venezuela", 545 | "note": "\n" 546 | }, 547 | { 548 | "name": "Vietnam", 549 | "note": "\n" 550 | }, 551 | { 552 | "name": "Yemen", 553 | "note": "\n" 554 | } 555 | ], 556 | "notRequired": [ 557 | { 558 | "name": "Benin", 559 | "note": "90 days\n" 560 | }, 561 | { 562 | "name": "Burkina Faso", 563 | "note": "\n" 564 | }, 565 | { 566 | "name": "Cape Verde", 567 | "note": "\n" 568 | }, 569 | { 570 | "name": "Central African Republic", 571 | "note": "3 months\n" 572 | }, 573 | { 574 | "name": "Ivory Coast", 575 | "note": "\n" 576 | }, 577 | { 578 | "name": "Dominica", 579 | "note": "21 days\n" 580 | }, 581 | { 582 | "name": "Ecuador", 583 | "note": "90 days\n" 584 | }, 585 | { 586 | "name": "The Gambia", 587 | "note": "\n" 588 | }, 589 | { 590 | "name": "Ghana", 591 | "note": "\n" 592 | }, 593 | { 594 | "name": "Guinea", 595 | "note": "\n" 596 | }, 597 | { 598 | "name": "Guinea-Bissau", 599 | "note": "\n" 600 | }, 601 | { 602 | "name": "Haiti", 603 | "note": "3 months\n" 604 | }, 605 | { 606 | "name": "South Korea", 607 | "note": "90 days\n" 608 | }, 609 | { 610 | "name": "Mali", 611 | "note": "\n" 612 | }, 613 | { 614 | "name": "Federated States of Micronesia", 615 | "note": "30 days\n" 616 | }, 617 | { 618 | "name": "Niger", 619 | "note": "\n" 620 | }, 621 | { 622 | "name": "Nigeria", 623 | "note": "\n" 624 | }, 625 | { 626 | "name": "Philippines", 627 | "note": "30 days\n" 628 | }, 629 | { 630 | "name": "Saint Vincent and the Grenadines", 631 | "note": "1 month\n" 632 | }, 633 | { 634 | "name": "Senegal", 635 | "note": "90 days\n" 636 | }, 637 | { 638 | "name": "Sierra Leone", 639 | "note": "\n" 640 | }, 641 | { 642 | "name": "Singapore", 643 | "note": "30 days\n" 644 | }, 645 | { 646 | "name": "Togo", 647 | "note": "\n" 648 | }, 649 | { 650 | "name": "United Arab Emirates", 651 | "note": "30 days\n" 652 | }, 653 | { 654 | "name": "Liberia", 655 | "note": "home" 656 | } 657 | ], 658 | "evisa": [ 659 | { 660 | "name": "Antigua and Barbuda", 661 | "note": "\n" 662 | }, 663 | { 664 | "name": "Djibouti", 665 | "note": "31 days\n" 666 | }, 667 | { 668 | "name": "Gabon", 669 | "note": "\n" 670 | }, 671 | { 672 | "name": "India", 673 | "note": "60 days\n" 674 | }, 675 | { 676 | "name": "Kenya", 677 | "note": "3 months\n" 678 | }, 679 | { 680 | "name": "Kyrgyzstan", 681 | "note": "\n" 682 | }, 683 | { 684 | "name": "Lesotho", 685 | "note": "\n" 686 | }, 687 | { 688 | "name": "Saint Kitts and Nevis", 689 | "note": "\n" 690 | }, 691 | { 692 | "name": "São Tomé and Príncipe", 693 | "note": "\n" 694 | }, 695 | { 696 | "name": "Zambia", 697 | "note": "\n" 698 | }, 699 | { 700 | "name": "Zimbabwe", 701 | "note": "\n" 702 | } 703 | ], 704 | "onArrival": [ 705 | { 706 | "name": "Bangladesh", 707 | "note": "30 days\n" 708 | }, 709 | { 710 | "name": "Bolivia", 711 | "note": "90 days\n" 712 | }, 713 | { 714 | "name": "Cambodia", 715 | "note": "30 days\n" 716 | }, 717 | { 718 | "name": "Comoros", 719 | "note": "\n" 720 | }, 721 | { 722 | "name": "Ethiopia", 723 | "note": "up to 90 days\n" 724 | }, 725 | { 726 | "name": "Iran", 727 | "note": "30 days\n" 728 | }, 729 | { 730 | "name": "Madagascar", 731 | "note": "90 days\n" 732 | }, 733 | { 734 | "name": "Maldives", 735 | "note": "30 days\n" 736 | }, 737 | { 738 | "name": "Mauritania", 739 | "note": "\n" 740 | }, 741 | { 742 | "name": "Mauritius", 743 | "note": "60 days\n" 744 | }, 745 | { 746 | "name": "Mozambique", 747 | "note": "30 days\n" 748 | }, 749 | { 750 | "name": "Palau", 751 | "note": "30 days\n" 752 | }, 753 | { 754 | "name": "Rwanda", 755 | "note": "30 days\n" 756 | }, 757 | { 758 | "name": "Samoa", 759 | "note": "60 days\n" 760 | }, 761 | { 762 | "name": "Seychelles", 763 | "note": "3 months\n" 764 | }, 765 | { 766 | "name": "Somalia", 767 | "note": "30 days\n" 768 | }, 769 | { 770 | "name": "Tanzania", 771 | "note": "\n" 772 | }, 773 | { 774 | "name": "East Timor", 775 | "note": "30 days\n" 776 | }, 777 | { 778 | "name": "Tuvalu", 779 | "note": "1 month\n" 780 | }, 781 | { 782 | "name": "Uganda", 783 | "note": "\n" 784 | } 785 | ], 786 | "refused": [], 787 | "unknown": [] 788 | } -------------------------------------------------------------------------------- /dist/output/nigeria.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": [ 3 | { 4 | "name": "Afghanistan", 5 | "note": "\n" 6 | }, 7 | { 8 | "name": "Albania", 9 | "note": "\n" 10 | }, 11 | { 12 | "name": "Algeria", 13 | "note": "\n" 14 | }, 15 | { 16 | "name": "Andorra", 17 | "note": "\n" 18 | }, 19 | { 20 | "name": "Angola", 21 | "note": "\n" 22 | }, 23 | { 24 | "name": "Argentina", 25 | "note": "\n" 26 | }, 27 | { 28 | "name": "Armenia", 29 | "note": "\n" 30 | }, 31 | { 32 | "name": "Australia", 33 | "note": "\n" 34 | }, 35 | { 36 | "name": "Austria", 37 | "note": "\n" 38 | }, 39 | { 40 | "name": "Azerbaijan", 41 | "note": "\n" 42 | }, 43 | { 44 | "name": "The Bahamas", 45 | "note": "\n" 46 | }, 47 | { 48 | "name": "Bahrain", 49 | "note": "\n" 50 | }, 51 | { 52 | "name": "Bangladesh", 53 | "note": "\n" 54 | }, 55 | { 56 | "name": "Belarus", 57 | "note": "\n" 58 | }, 59 | { 60 | "name": "Belgium", 61 | "note": "\n" 62 | }, 63 | { 64 | "name": "Belize", 65 | "note": "\n" 66 | }, 67 | { 68 | "name": "Bhutan", 69 | "note": "\n" 70 | }, 71 | { 72 | "name": "Bolivia", 73 | "note": "\n" 74 | }, 75 | { 76 | "name": "Bosnia and Herzegovina", 77 | "note": "\n" 78 | }, 79 | { 80 | "name": "Botswana", 81 | "note": "\n" 82 | }, 83 | { 84 | "name": "Brazil", 85 | "note": "\n" 86 | }, 87 | { 88 | "name": "Brunei", 89 | "note": "\n" 90 | }, 91 | { 92 | "name": "Bulgaria", 93 | "note": "\n" 94 | }, 95 | { 96 | "name": "Burundi", 97 | "note": "\n" 98 | }, 99 | { 100 | "name": "Canada", 101 | "note": "\n" 102 | }, 103 | { 104 | "name": "Central African Republic", 105 | "note": "\n" 106 | }, 107 | { 108 | "name": "Chile", 109 | "note": "\n" 110 | }, 111 | { 112 | "name": "China", 113 | "note": "\n" 114 | }, 115 | { 116 | "name": "Colombia", 117 | "note": "\n" 118 | }, 119 | { 120 | "name": "Republic of the Congo", 121 | "note": "\n" 122 | }, 123 | { 124 | "name": "Democratic Republic of the Congo", 125 | "note": "\n" 126 | }, 127 | { 128 | "name": "Costa Rica", 129 | "note": "\n" 130 | }, 131 | { 132 | "name": "Croatia", 133 | "note": "\n" 134 | }, 135 | { 136 | "name": "Cuba", 137 | "note": "\n" 138 | }, 139 | { 140 | "name": "Cyprus", 141 | "note": "\n" 142 | }, 143 | { 144 | "name": "Czech Republic", 145 | "note": "\n" 146 | }, 147 | { 148 | "name": "Denmark", 149 | "note": "\n" 150 | }, 151 | { 152 | "name": "Dominican Republic", 153 | "note": "\n" 154 | }, 155 | { 156 | "name": "Ecuador", 157 | "note": "\n" 158 | }, 159 | { 160 | "name": "Egypt", 161 | "note": "\n" 162 | }, 163 | { 164 | "name": "El Salvador", 165 | "note": "\n" 166 | }, 167 | { 168 | "name": "Equatorial Guinea", 169 | "note": "\n" 170 | }, 171 | { 172 | "name": "Eritrea", 173 | "note": "\n" 174 | }, 175 | { 176 | "name": "Estonia", 177 | "note": "\n" 178 | }, 179 | { 180 | "name": "Eswatini", 181 | "note": "\n" 182 | }, 183 | { 184 | "name": "Finland", 185 | "note": "\n" 186 | }, 187 | { 188 | "name": "France", 189 | "note": "\n" 190 | }, 191 | { 192 | "name": "Georgia (country)", 193 | "note": "\n" 194 | }, 195 | { 196 | "name": "Germany", 197 | "note": "\n" 198 | }, 199 | { 200 | "name": "Greece", 201 | "note": "\n" 202 | }, 203 | { 204 | "name": "Grenada", 205 | "note": "\n" 206 | }, 207 | { 208 | "name": "Guatemala", 209 | "note": "\n" 210 | }, 211 | { 212 | "name": "Guyana", 213 | "note": "\n" 214 | }, 215 | { 216 | "name": "Honduras", 217 | "note": "\n" 218 | }, 219 | { 220 | "name": "Hungary", 221 | "note": "\n" 222 | }, 223 | { 224 | "name": "Iceland", 225 | "note": "\n" 226 | }, 227 | { 228 | "name": "India", 229 | "note": "\n" 230 | }, 231 | { 232 | "name": "Indonesia", 233 | "note": "\n" 234 | }, 235 | { 236 | "name": "Iraq", 237 | "note": "\n" 238 | }, 239 | { 240 | "name": "Republic of Ireland", 241 | "note": "\n" 242 | }, 243 | { 244 | "name": "Israel", 245 | "note": "\n" 246 | }, 247 | { 248 | "name": "Italy", 249 | "note": "\n" 250 | }, 251 | { 252 | "name": "Jamaica", 253 | "note": "\n" 254 | }, 255 | { 256 | "name": "Japan", 257 | "note": "\n" 258 | }, 259 | { 260 | "name": "Jordan", 261 | "note": "\n" 262 | }, 263 | { 264 | "name": "Kazakhstan", 265 | "note": "\n" 266 | }, 267 | { 268 | "name": "Kiribati", 269 | "note": "\n" 270 | }, 271 | { 272 | "name": "North Korea", 273 | "note": "\n" 274 | }, 275 | { 276 | "name": "South Korea", 277 | "note": "\n" 278 | }, 279 | { 280 | "name": "Kuwait", 281 | "note": "\n" 282 | }, 283 | { 284 | "name": "Laos", 285 | "note": "\n" 286 | }, 287 | { 288 | "name": "Latvia", 289 | "note": "\n" 290 | }, 291 | { 292 | "name": "Lebanon", 293 | "note": "\n" 294 | }, 295 | { 296 | "name": "Libya", 297 | "note": "\n" 298 | }, 299 | { 300 | "name": "Liechtenstein", 301 | "note": "\n" 302 | }, 303 | { 304 | "name": "Lithuania", 305 | "note": "\n" 306 | }, 307 | { 308 | "name": "Luxembourg", 309 | "note": "\n" 310 | }, 311 | { 312 | "name": "Republic of Macedonia", 313 | "note": "\n" 314 | }, 315 | { 316 | "name": "Malawi", 317 | "note": "\n" 318 | }, 319 | { 320 | "name": "Malaysia", 321 | "note": "\n" 322 | }, 323 | { 324 | "name": "Malta", 325 | "note": "\n" 326 | }, 327 | { 328 | "name": "Marshall Islands", 329 | "note": "\n" 330 | }, 331 | { 332 | "name": "Mexico", 333 | "note": "\n" 334 | }, 335 | { 336 | "name": "Moldova", 337 | "note": "\n" 338 | }, 339 | { 340 | "name": "Monaco", 341 | "note": "\n" 342 | }, 343 | { 344 | "name": "Mongolia", 345 | "note": "\n" 346 | }, 347 | { 348 | "name": "Montenegro", 349 | "note": "\n" 350 | }, 351 | { 352 | "name": "Morocco", 353 | "note": "\n" 354 | }, 355 | { 356 | "name": "Myanmar", 357 | "note": "\n" 358 | }, 359 | { 360 | "name": "Namibia", 361 | "note": "\n" 362 | }, 363 | { 364 | "name": "Nauru", 365 | "note": "\n" 366 | }, 367 | { 368 | "name": "Nepal", 369 | "note": "\n" 370 | }, 371 | { 372 | "name": "Netherlands", 373 | "note": "\n" 374 | }, 375 | { 376 | "name": "New Zealand", 377 | "note": "\n" 378 | }, 379 | { 380 | "name": "Norway", 381 | "note": "\n" 382 | }, 383 | { 384 | "name": "Oman", 385 | "note": "\n" 386 | }, 387 | { 388 | "name": "Pakistan", 389 | "note": "\n" 390 | }, 391 | { 392 | "name": "Panama", 393 | "note": "\n" 394 | }, 395 | { 396 | "name": "Papua New Guinea", 397 | "note": "\n" 398 | }, 399 | { 400 | "name": "Paraguay", 401 | "note": "\n" 402 | }, 403 | { 404 | "name": "Peru", 405 | "note": "\n" 406 | }, 407 | { 408 | "name": "Philippines", 409 | "note": "\n" 410 | }, 411 | { 412 | "name": "Poland", 413 | "note": "\n" 414 | }, 415 | { 416 | "name": "Portugal", 417 | "note": "\n" 418 | }, 419 | { 420 | "name": "Qatar", 421 | "note": "\n" 422 | }, 423 | { 424 | "name": "Romania", 425 | "note": "\n" 426 | }, 427 | { 428 | "name": "Russia", 429 | "note": "\n" 430 | }, 431 | { 432 | "name": "Saint Lucia", 433 | "note": "\n" 434 | }, 435 | { 436 | "name": "Saint Vincent and the Grenadines", 437 | "note": "\n" 438 | }, 439 | { 440 | "name": "San Marino", 441 | "note": "\n" 442 | }, 443 | { 444 | "name": "Saudi Arabia", 445 | "note": "\n" 446 | }, 447 | { 448 | "name": "Serbia", 449 | "note": "\n" 450 | }, 451 | { 452 | "name": "Singapore", 453 | "note": "\n" 454 | }, 455 | { 456 | "name": "Slovakia", 457 | "note": "\n" 458 | }, 459 | { 460 | "name": "Slovenia", 461 | "note": "\n" 462 | }, 463 | { 464 | "name": "Solomon Islands", 465 | "note": "\n" 466 | }, 467 | { 468 | "name": "South Africa", 469 | "note": "\n" 470 | }, 471 | { 472 | "name": "South Sudan", 473 | "note": "\n" 474 | }, 475 | { 476 | "name": "Spain", 477 | "note": "\n" 478 | }, 479 | { 480 | "name": "Sri Lanka", 481 | "note": "\n" 482 | }, 483 | { 484 | "name": "Sudan", 485 | "note": "\n" 486 | }, 487 | { 488 | "name": "Suriname", 489 | "note": "\n" 490 | }, 491 | { 492 | "name": "Sweden", 493 | "note": "\n" 494 | }, 495 | { 496 | "name": "Switzerland", 497 | "note": "\n" 498 | }, 499 | { 500 | "name": "Syria", 501 | "note": "\n" 502 | }, 503 | { 504 | "name": "Tajikistan", 505 | "note": "\n" 506 | }, 507 | { 508 | "name": "Tanzania", 509 | "note": "\n" 510 | }, 511 | { 512 | "name": "Thailand", 513 | "note": "\n" 514 | }, 515 | { 516 | "name": "Tonga", 517 | "note": "\n" 518 | }, 519 | { 520 | "name": "Trinidad and Tobago", 521 | "note": "\n" 522 | }, 523 | { 524 | "name": "Tunisia", 525 | "note": "\n" 526 | }, 527 | { 528 | "name": "Turkey", 529 | "note": "\n" 530 | }, 531 | { 532 | "name": "Turkmenistan", 533 | "note": "\n" 534 | }, 535 | { 536 | "name": "Ukraine", 537 | "note": "\n" 538 | }, 539 | { 540 | "name": "United Arab Emirates", 541 | "note": "\n" 542 | }, 543 | { 544 | "name": "United Kingdom", 545 | "note": "\n" 546 | }, 547 | { 548 | "name": "United States", 549 | "note": "\n" 550 | }, 551 | { 552 | "name": "Uruguay", 553 | "note": "\n" 554 | }, 555 | { 556 | "name": "Uzbekistan", 557 | "note": "\n" 558 | }, 559 | { 560 | "name": "Vatican City", 561 | "note": "\n" 562 | }, 563 | { 564 | "name": "Venezuela", 565 | "note": "\n" 566 | }, 567 | { 568 | "name": "Vietnam", 569 | "note": "\n" 570 | }, 571 | { 572 | "name": "Yemen", 573 | "note": "\n" 574 | } 575 | ], 576 | "notRequired": [ 577 | { 578 | "name": "Barbados", 579 | "note": "6 months\n" 580 | }, 581 | { 582 | "name": "Benin", 583 | "note": "90 days\n" 584 | }, 585 | { 586 | "name": "Burkina Faso", 587 | "note": "\n" 588 | }, 589 | { 590 | "name": "Cameroon", 591 | "note": "90 days\n" 592 | }, 593 | { 594 | "name": "Cape Verde", 595 | "note": "\n" 596 | }, 597 | { 598 | "name": "Chad", 599 | "note": "3 months\n" 600 | }, 601 | { 602 | "name": "Ivory Coast", 603 | "note": "\n" 604 | }, 605 | { 606 | "name": "Dominica", 607 | "note": "6 months\n" 608 | }, 609 | { 610 | "name": "Fiji", 611 | "note": "4 months\n" 612 | }, 613 | { 614 | "name": "The Gambia", 615 | "note": "\n" 616 | }, 617 | { 618 | "name": "Ghana", 619 | "note": "\n" 620 | }, 621 | { 622 | "name": "Guinea", 623 | "note": "\n" 624 | }, 625 | { 626 | "name": "Guinea-Bissau", 627 | "note": "\n" 628 | }, 629 | { 630 | "name": "Haiti", 631 | "note": "3 months\n" 632 | }, 633 | { 634 | "name": "Liberia", 635 | "note": "\n" 636 | }, 637 | { 638 | "name": "Mali", 639 | "note": "\n" 640 | }, 641 | { 642 | "name": "Federated States of Micronesia", 643 | "note": "30 days\n" 644 | }, 645 | { 646 | "name": "Niger", 647 | "note": "\n" 648 | }, 649 | { 650 | "name": "Saint Kitts and Nevis", 651 | "note": "3 months\n" 652 | }, 653 | { 654 | "name": "Senegal", 655 | "note": "90 days\n" 656 | }, 657 | { 658 | "name": "Sierra Leone", 659 | "note": "\n" 660 | }, 661 | { 662 | "name": "Togo", 663 | "note": "\n" 664 | }, 665 | { 666 | "name": "Vanuatu", 667 | "note": "30 days\n" 668 | }, 669 | { 670 | "name": "Nigeria", 671 | "note": "home" 672 | } 673 | ], 674 | "evisa": [ 675 | { 676 | "name": "Antigua and Barbuda", 677 | "note": "\n" 678 | }, 679 | { 680 | "name": "Djibouti", 681 | "note": "31 days\n" 682 | }, 683 | { 684 | "name": "Gabon", 685 | "note": "\n" 686 | }, 687 | { 688 | "name": "Kyrgyzstan", 689 | "note": "\n" 690 | }, 691 | { 692 | "name": "Lesotho", 693 | "note": "\n" 694 | }, 695 | { 696 | "name": "São Tomé and Príncipe", 697 | "note": "\n" 698 | }, 699 | { 700 | "name": "Zambia", 701 | "note": "\n" 702 | }, 703 | { 704 | "name": "Zimbabwe", 705 | "note": "\n" 706 | } 707 | ], 708 | "onArrival": [ 709 | { 710 | "name": "Cambodia", 711 | "note": "30 days\n" 712 | }, 713 | { 714 | "name": "Comoros", 715 | "note": "\n" 716 | }, 717 | { 718 | "name": "Ethiopia", 719 | "note": "up to 90 days\n" 720 | }, 721 | { 722 | "name": "Iran", 723 | "note": "30 days\n" 724 | }, 725 | { 726 | "name": "Kenya", 727 | "note": "3 months\n" 728 | }, 729 | { 730 | "name": "Madagascar", 731 | "note": "90 days\n" 732 | }, 733 | { 734 | "name": "Maldives", 735 | "note": "30 days\n" 736 | }, 737 | { 738 | "name": "Mauritania", 739 | "note": "\n" 740 | }, 741 | { 742 | "name": "Mauritius", 743 | "note": "2 weeks\n" 744 | }, 745 | { 746 | "name": "Mozambique", 747 | "note": "30 days\n" 748 | }, 749 | { 750 | "name": "Nicaragua", 751 | "note": "30 days\n" 752 | }, 753 | { 754 | "name": "Palau", 755 | "note": "30 days\n" 756 | }, 757 | { 758 | "name": "Rwanda", 759 | "note": "30 days\n" 760 | }, 761 | { 762 | "name": "Samoa", 763 | "note": "60 days\n" 764 | }, 765 | { 766 | "name": "Seychelles", 767 | "note": "3 months\n" 768 | }, 769 | { 770 | "name": "Somalia", 771 | "note": "30 days\n" 772 | }, 773 | { 774 | "name": "East Timor", 775 | "note": "30 days\n" 776 | }, 777 | { 778 | "name": "Tuvalu", 779 | "note": "1 month\n" 780 | }, 781 | { 782 | "name": "Uganda", 783 | "note": "\n" 784 | } 785 | ], 786 | "refused": [], 787 | "unknown": [] 788 | } -------------------------------------------------------------------------------- /dist/output/pakistan.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": [ 3 | { 4 | "name": "Afghanistan", 5 | "note": "\n" 6 | }, 7 | { 8 | "name": "Albania", 9 | "note": "\n" 10 | }, 11 | { 12 | "name": "Algeria", 13 | "note": "\n" 14 | }, 15 | { 16 | "name": "Andorra", 17 | "note": "\n" 18 | }, 19 | { 20 | "name": "Angola", 21 | "note": "\n" 22 | }, 23 | { 24 | "name": "Argentina", 25 | "note": "\n" 26 | }, 27 | { 28 | "name": "Armenia", 29 | "note": "\n" 30 | }, 31 | { 32 | "name": "Australia", 33 | "note": "\n" 34 | }, 35 | { 36 | "name": "Austria", 37 | "note": "\n" 38 | }, 39 | { 40 | "name": "The Bahamas", 41 | "note": "\n" 42 | }, 43 | { 44 | "name": "Bangladesh", 45 | "note": "\n" 46 | }, 47 | { 48 | "name": "Barbados", 49 | "note": "\n" 50 | }, 51 | { 52 | "name": "Belarus", 53 | "note": "\n" 54 | }, 55 | { 56 | "name": "Belgium", 57 | "note": "\n" 58 | }, 59 | { 60 | "name": "Belize", 61 | "note": "\n" 62 | }, 63 | { 64 | "name": "Bhutan", 65 | "note": "\n" 66 | }, 67 | { 68 | "name": "Bolivia", 69 | "note": "\n" 70 | }, 71 | { 72 | "name": "Bosnia and Herzegovina", 73 | "note": "\n" 74 | }, 75 | { 76 | "name": "Botswana", 77 | "note": "\n" 78 | }, 79 | { 80 | "name": "Brazil", 81 | "note": "\n" 82 | }, 83 | { 84 | "name": "Brunei", 85 | "note": "\n" 86 | }, 87 | { 88 | "name": "Bulgaria", 89 | "note": "\n" 90 | }, 91 | { 92 | "name": "Burkina Faso", 93 | "note": "\n" 94 | }, 95 | { 96 | "name": "Burundi", 97 | "note": "\n" 98 | }, 99 | { 100 | "name": "Cambodia", 101 | "note": "\n" 102 | }, 103 | { 104 | "name": "Cameroon", 105 | "note": "\n" 106 | }, 107 | { 108 | "name": "Canada", 109 | "note": "\n" 110 | }, 111 | { 112 | "name": "Central African Republic", 113 | "note": "\n" 114 | }, 115 | { 116 | "name": "Chad", 117 | "note": "\n" 118 | }, 119 | { 120 | "name": "Chile", 121 | "note": "\n" 122 | }, 123 | { 124 | "name": "China", 125 | "note": "\n" 126 | }, 127 | { 128 | "name": "Colombia", 129 | "note": "\n" 130 | }, 131 | { 132 | "name": "Republic of the Congo", 133 | "note": "\n" 134 | }, 135 | { 136 | "name": "Democratic Republic of the Congo", 137 | "note": "\n" 138 | }, 139 | { 140 | "name": "Costa Rica", 141 | "note": "\n" 142 | }, 143 | { 144 | "name": "Croatia", 145 | "note": "\n" 146 | }, 147 | { 148 | "name": "Cuba", 149 | "note": "\n" 150 | }, 151 | { 152 | "name": "Cyprus", 153 | "note": "\n" 154 | }, 155 | { 156 | "name": "Czech Republic", 157 | "note": "\n" 158 | }, 159 | { 160 | "name": "Denmark", 161 | "note": "\n" 162 | }, 163 | { 164 | "name": "Dominican Republic", 165 | "note": "\n" 166 | }, 167 | { 168 | "name": "Ecuador", 169 | "note": "\n" 170 | }, 171 | { 172 | "name": "Egypt", 173 | "note": "\n" 174 | }, 175 | { 176 | "name": "El Salvador", 177 | "note": "\n" 178 | }, 179 | { 180 | "name": "Equatorial Guinea", 181 | "note": "\n" 182 | }, 183 | { 184 | "name": "Eritrea", 185 | "note": "\n" 186 | }, 187 | { 188 | "name": "Estonia", 189 | "note": "\n" 190 | }, 191 | { 192 | "name": "Eswatini", 193 | "note": "\n" 194 | }, 195 | { 196 | "name": "Fiji", 197 | "note": "\n" 198 | }, 199 | { 200 | "name": "Finland", 201 | "note": "\n" 202 | }, 203 | { 204 | "name": "France", 205 | "note": "\n" 206 | }, 207 | { 208 | "name": "The Gambia", 209 | "note": "\n" 210 | }, 211 | { 212 | "name": "Georgia (country)", 213 | "note": "\n" 214 | }, 215 | { 216 | "name": "Germany", 217 | "note": "\n" 218 | }, 219 | { 220 | "name": "Ghana", 221 | "note": "\n" 222 | }, 223 | { 224 | "name": "Greece", 225 | "note": "\n" 226 | }, 227 | { 228 | "name": "Grenada", 229 | "note": "\n" 230 | }, 231 | { 232 | "name": "Guatemala", 233 | "note": "\n" 234 | }, 235 | { 236 | "name": "Guinea", 237 | "note": "\n" 238 | }, 239 | { 240 | "name": "Guyana", 241 | "note": "\n" 242 | }, 243 | { 244 | "name": "Honduras", 245 | "note": "\n" 246 | }, 247 | { 248 | "name": "Hungary", 249 | "note": "\n" 250 | }, 251 | { 252 | "name": "Iceland", 253 | "note": "\n" 254 | }, 255 | { 256 | "name": "India", 257 | "note": "\n" 258 | }, 259 | { 260 | "name": "Indonesia", 261 | "note": "\n" 262 | }, 263 | { 264 | "name": "Iran", 265 | "note": "\n" 266 | }, 267 | { 268 | "name": "Iraq", 269 | "note": "\n" 270 | }, 271 | { 272 | "name": "Republic of Ireland", 273 | "note": "\n" 274 | }, 275 | { 276 | "name": "Israel", 277 | "note": "\n" 278 | }, 279 | { 280 | "name": "Italy", 281 | "note": "\n" 282 | }, 283 | { 284 | "name": "Jamaica", 285 | "note": "\n" 286 | }, 287 | { 288 | "name": "Japan", 289 | "note": "\n" 290 | }, 291 | { 292 | "name": "Jordan", 293 | "note": "\n" 294 | }, 295 | { 296 | "name": "Kazakhstan", 297 | "note": "\n" 298 | }, 299 | { 300 | "name": "Kiribati", 301 | "note": "\n" 302 | }, 303 | { 304 | "name": "North Korea", 305 | "note": "\n" 306 | }, 307 | { 308 | "name": "South Korea", 309 | "note": "\n" 310 | }, 311 | { 312 | "name": "Kuwait", 313 | "note": "\n" 314 | }, 315 | { 316 | "name": "Laos", 317 | "note": "\n" 318 | }, 319 | { 320 | "name": "Latvia", 321 | "note": "\n" 322 | }, 323 | { 324 | "name": "Lebanon", 325 | "note": "\n" 326 | }, 327 | { 328 | "name": "Liberia", 329 | "note": "\n" 330 | }, 331 | { 332 | "name": "Libya", 333 | "note": "\n" 334 | }, 335 | { 336 | "name": "Liechtenstein", 337 | "note": "\n" 338 | }, 339 | { 340 | "name": "Lithuania", 341 | "note": "\n" 342 | }, 343 | { 344 | "name": "Luxembourg", 345 | "note": "\n" 346 | }, 347 | { 348 | "name": "Republic of Macedonia", 349 | "note": "\n" 350 | }, 351 | { 352 | "name": "Malawi", 353 | "note": "\n" 354 | }, 355 | { 356 | "name": "Mali", 357 | "note": "\n" 358 | }, 359 | { 360 | "name": "Malta", 361 | "note": "\n" 362 | }, 363 | { 364 | "name": "Marshall Islands", 365 | "note": "\n" 366 | }, 367 | { 368 | "name": "Mauritius", 369 | "note": "\n" 370 | }, 371 | { 372 | "name": "Mexico", 373 | "note": "\n" 374 | }, 375 | { 376 | "name": "Moldova", 377 | "note": "\n" 378 | }, 379 | { 380 | "name": "Monaco", 381 | "note": "\n" 382 | }, 383 | { 384 | "name": "Mongolia", 385 | "note": "\n" 386 | }, 387 | { 388 | "name": "Montenegro", 389 | "note": "\n" 390 | }, 391 | { 392 | "name": "Morocco", 393 | "note": "\n" 394 | }, 395 | { 396 | "name": "Namibia", 397 | "note": "\n" 398 | }, 399 | { 400 | "name": "Nauru", 401 | "note": "\n" 402 | }, 403 | { 404 | "name": "Netherlands", 405 | "note": "\n" 406 | }, 407 | { 408 | "name": "New Zealand", 409 | "note": "\n" 410 | }, 411 | { 412 | "name": "Nicaragua", 413 | "note": "\n" 414 | }, 415 | { 416 | "name": "Niger", 417 | "note": "\n" 418 | }, 419 | { 420 | "name": "Nigeria", 421 | "note": "\n" 422 | }, 423 | { 424 | "name": "Norway", 425 | "note": "\n" 426 | }, 427 | { 428 | "name": "Oman", 429 | "note": "\n" 430 | }, 431 | { 432 | "name": "Panama", 433 | "note": "\n" 434 | }, 435 | { 436 | "name": "Papua New Guinea", 437 | "note": "\n" 438 | }, 439 | { 440 | "name": "Paraguay", 441 | "note": "\n" 442 | }, 443 | { 444 | "name": "Peru", 445 | "note": "\n" 446 | }, 447 | { 448 | "name": "Philippines", 449 | "note": "\n" 450 | }, 451 | { 452 | "name": "Poland", 453 | "note": "\n" 454 | }, 455 | { 456 | "name": "Portugal", 457 | "note": "\n" 458 | }, 459 | { 460 | "name": "Romania", 461 | "note": "\n" 462 | }, 463 | { 464 | "name": "Russia", 465 | "note": "\n" 466 | }, 467 | { 468 | "name": "Saint Lucia", 469 | "note": "\n" 470 | }, 471 | { 472 | "name": "San Marino", 473 | "note": "\n" 474 | }, 475 | { 476 | "name": "Saudi Arabia", 477 | "note": "\n" 478 | }, 479 | { 480 | "name": "Senegal", 481 | "note": "\n" 482 | }, 483 | { 484 | "name": "Serbia", 485 | "note": "\n" 486 | }, 487 | { 488 | "name": "Sierra Leone", 489 | "note": "\n" 490 | }, 491 | { 492 | "name": "Singapore", 493 | "note": "\n" 494 | }, 495 | { 496 | "name": "Slovakia", 497 | "note": "\n" 498 | }, 499 | { 500 | "name": "Slovenia", 501 | "note": "\n" 502 | }, 503 | { 504 | "name": "Solomon Islands", 505 | "note": "\n" 506 | }, 507 | { 508 | "name": "South Africa", 509 | "note": "\n" 510 | }, 511 | { 512 | "name": "South Sudan", 513 | "note": "\n" 514 | }, 515 | { 516 | "name": "Spain", 517 | "note": "\n" 518 | }, 519 | { 520 | "name": "Sri Lanka", 521 | "note": "\n" 522 | }, 523 | { 524 | "name": "Sudan", 525 | "note": "\n" 526 | }, 527 | { 528 | "name": "Suriname", 529 | "note": "\n" 530 | }, 531 | { 532 | "name": "Sweden", 533 | "note": "\n" 534 | }, 535 | { 536 | "name": "Switzerland", 537 | "note": "\n" 538 | }, 539 | { 540 | "name": "Syria", 541 | "note": "\n" 542 | }, 543 | { 544 | "name": "Tanzania", 545 | "note": "\n" 546 | }, 547 | { 548 | "name": "Thailand", 549 | "note": "\n" 550 | }, 551 | { 552 | "name": "Tonga", 553 | "note": "\n" 554 | }, 555 | { 556 | "name": "Tunisia", 557 | "note": "14 days\n" 558 | }, 559 | { 560 | "name": "Turkey", 561 | "note": "\n" 562 | }, 563 | { 564 | "name": "Turkmenistan", 565 | "note": "\n" 566 | }, 567 | { 568 | "name": "Ukraine", 569 | "note": "\n" 570 | }, 571 | { 572 | "name": "United Arab Emirates", 573 | "note": "\n" 574 | }, 575 | { 576 | "name": "United Kingdom", 577 | "note": "\n" 578 | }, 579 | { 580 | "name": "United States", 581 | "note": "\n" 582 | }, 583 | { 584 | "name": "Uruguay", 585 | "note": "\n" 586 | }, 587 | { 588 | "name": "Uzbekistan", 589 | "note": "\n" 590 | }, 591 | { 592 | "name": "Vatican City", 593 | "note": "\n" 594 | }, 595 | { 596 | "name": "Venezuela", 597 | "note": "\n" 598 | }, 599 | { 600 | "name": "Vietnam", 601 | "note": "\n" 602 | }, 603 | { 604 | "name": "Yemen", 605 | "note": "\n" 606 | } 607 | ], 608 | "notRequired": [ 609 | { 610 | "name": "Dominica", 611 | "note": "6 months\n" 612 | }, 613 | { 614 | "name": "Haiti", 615 | "note": "3 months\n" 616 | }, 617 | { 618 | "name": "Federated States of Micronesia", 619 | "note": "30 days\n" 620 | }, 621 | { 622 | "name": "Qatar", 623 | "note": "30 days\n" 624 | }, 625 | { 626 | "name": "Saint Vincent and the Grenadines", 627 | "note": "1 month\n" 628 | }, 629 | { 630 | "name": "Trinidad and Tobago", 631 | "note": "90 days\n" 632 | }, 633 | { 634 | "name": "Vanuatu", 635 | "note": "30 days\n" 636 | }, 637 | { 638 | "name": "Pakistan", 639 | "note": "home" 640 | } 641 | ], 642 | "evisa": [ 643 | { 644 | "name": "Antigua and Barbuda", 645 | "note": "\n" 646 | }, 647 | { 648 | "name": "Azerbaijan", 649 | "note": "30 days\n" 650 | }, 651 | { 652 | "name": "Bahrain", 653 | "note": "14 days\n" 654 | }, 655 | { 656 | "name": "Ivory Coast", 657 | "note": "3 months\n" 658 | }, 659 | { 660 | "name": "Djibouti", 661 | "note": "31 days\n" 662 | }, 663 | { 664 | "name": "Ethiopia", 665 | "note": "up to 90 days\n" 666 | }, 667 | { 668 | "name": "Gabon", 669 | "note": "\n" 670 | }, 671 | { 672 | "name": "Kyrgyzstan", 673 | "note": "\n" 674 | }, 675 | { 676 | "name": "Lesotho", 677 | "note": "\n" 678 | }, 679 | { 680 | "name": "Malaysia", 681 | "note": "30 days\n" 682 | }, 683 | { 684 | "name": "Myanmar", 685 | "note": "28 days\n" 686 | }, 687 | { 688 | "name": "Saint Kitts and Nevis", 689 | "note": "\n" 690 | }, 691 | { 692 | "name": "São Tomé and Príncipe", 693 | "note": "\n" 694 | }, 695 | { 696 | "name": "Tajikistan", 697 | "note": "\n" 698 | }, 699 | { 700 | "name": "Zambia", 701 | "note": "\n" 702 | }, 703 | { 704 | "name": "Zimbabwe", 705 | "note": "\n" 706 | } 707 | ], 708 | "onArrival": [ 709 | { 710 | "name": "Benin", 711 | "note": "30 days / 8 days\n" 712 | }, 713 | { 714 | "name": "Cape Verde", 715 | "note": "\n" 716 | }, 717 | { 718 | "name": "Comoros", 719 | "note": "45 days\n" 720 | }, 721 | { 722 | "name": "Guinea-Bissau", 723 | "note": "90 days\n" 724 | }, 725 | { 726 | "name": "Kenya", 727 | "note": "3 months\n" 728 | }, 729 | { 730 | "name": "Madagascar", 731 | "note": "90 days\n" 732 | }, 733 | { 734 | "name": "Maldives", 735 | "note": "30 days\n" 736 | }, 737 | { 738 | "name": "Mauritania", 739 | "note": "\n" 740 | }, 741 | { 742 | "name": "Mozambique", 743 | "note": "30 days\n" 744 | }, 745 | { 746 | "name": "Nepal", 747 | "note": "\n" 748 | }, 749 | { 750 | "name": "Palau", 751 | "note": "30 days\n" 752 | }, 753 | { 754 | "name": "Rwanda", 755 | "note": "30 days\n" 756 | }, 757 | { 758 | "name": "Samoa", 759 | "note": "60 days\n" 760 | }, 761 | { 762 | "name": "Seychelles", 763 | "note": "3 months\n" 764 | }, 765 | { 766 | "name": "Somalia", 767 | "note": "30 days\n" 768 | }, 769 | { 770 | "name": "East Timor", 771 | "note": "30 days\n" 772 | }, 773 | { 774 | "name": "Togo", 775 | "note": "7 days\n" 776 | }, 777 | { 778 | "name": "Tuvalu", 779 | "note": "1 month\n" 780 | }, 781 | { 782 | "name": "Uganda", 783 | "note": "\n" 784 | } 785 | ], 786 | "refused": [], 787 | "unknown": [] 788 | } -------------------------------------------------------------------------------- /dist/output/palestine.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": [ 3 | { 4 | "name": "Afghanistan", 5 | "note": "\n" 6 | }, 7 | { 8 | "name": "Albania", 9 | "note": "\n" 10 | }, 11 | { 12 | "name": "Algeria", 13 | "note": "\n" 14 | }, 15 | { 16 | "name": "Andorra", 17 | "note": "\n" 18 | }, 19 | { 20 | "name": "Angola", 21 | "note": "\n" 22 | }, 23 | { 24 | "name": "Argentina", 25 | "note": "\n" 26 | }, 27 | { 28 | "name": "Armenia", 29 | "note": "\n" 30 | }, 31 | { 32 | "name": "Australia", 33 | "note": "\n" 34 | }, 35 | { 36 | "name": "Austria", 37 | "note": "\n" 38 | }, 39 | { 40 | "name": "Azerbaijan", 41 | "note": "\n" 42 | }, 43 | { 44 | "name": "The Bahamas", 45 | "note": "\n" 46 | }, 47 | { 48 | "name": "Bahrain", 49 | "note": "\n" 50 | }, 51 | { 52 | "name": "Barbados", 53 | "note": "\n" 54 | }, 55 | { 56 | "name": "Belarus", 57 | "note": "\n" 58 | }, 59 | { 60 | "name": "Belgium", 61 | "note": "\n" 62 | }, 63 | { 64 | "name": "Belize", 65 | "note": "\n" 66 | }, 67 | { 68 | "name": "Bhutan", 69 | "note": "\n" 70 | }, 71 | { 72 | "name": "Bosnia and Herzegovina", 73 | "note": "\n" 74 | }, 75 | { 76 | "name": "Botswana", 77 | "note": "\n" 78 | }, 79 | { 80 | "name": "Brazil", 81 | "note": "\n" 82 | }, 83 | { 84 | "name": "Brunei", 85 | "note": "\n" 86 | }, 87 | { 88 | "name": "Bulgaria", 89 | "note": "\n" 90 | }, 91 | { 92 | "name": "Burkina Faso", 93 | "note": "\n" 94 | }, 95 | { 96 | "name": "Burundi", 97 | "note": "\n" 98 | }, 99 | { 100 | "name": "Cameroon", 101 | "note": "\n" 102 | }, 103 | { 104 | "name": "Canada", 105 | "note": "\n" 106 | }, 107 | { 108 | "name": "Central African Republic", 109 | "note": "\n" 110 | }, 111 | { 112 | "name": "Chad", 113 | "note": "\n" 114 | }, 115 | { 116 | "name": "China", 117 | "note": "\n" 118 | }, 119 | { 120 | "name": "Colombia", 121 | "note": "\n" 122 | }, 123 | { 124 | "name": "Republic of the Congo", 125 | "note": "\n" 126 | }, 127 | { 128 | "name": "Democratic Republic of the Congo", 129 | "note": "\n" 130 | }, 131 | { 132 | "name": "Costa Rica", 133 | "note": "\n" 134 | }, 135 | { 136 | "name": "Croatia", 137 | "note": "\n" 138 | }, 139 | { 140 | "name": "Cuba", 141 | "note": "\n" 142 | }, 143 | { 144 | "name": "Cyprus", 145 | "note": "\n" 146 | }, 147 | { 148 | "name": "Czech Republic", 149 | "note": "\n" 150 | }, 151 | { 152 | "name": "Denmark", 153 | "note": "\n" 154 | }, 155 | { 156 | "name": "Djibouti", 157 | "note": "\n" 158 | }, 159 | { 160 | "name": "Dominican Republic", 161 | "note": "\n" 162 | }, 163 | { 164 | "name": "Egypt", 165 | "note": "\n" 166 | }, 167 | { 168 | "name": "El Salvador", 169 | "note": "\n" 170 | }, 171 | { 172 | "name": "Equatorial Guinea", 173 | "note": "\n" 174 | }, 175 | { 176 | "name": "Eritrea", 177 | "note": "\n" 178 | }, 179 | { 180 | "name": "Estonia", 181 | "note": "\n" 182 | }, 183 | { 184 | "name": "Fiji", 185 | "note": "\n" 186 | }, 187 | { 188 | "name": "Finland", 189 | "note": "\n" 190 | }, 191 | { 192 | "name": "France", 193 | "note": "\n" 194 | }, 195 | { 196 | "name": "The Gambia", 197 | "note": "\n" 198 | }, 199 | { 200 | "name": "Georgia (country)", 201 | "note": "\n" 202 | }, 203 | { 204 | "name": "Germany", 205 | "note": "\n" 206 | }, 207 | { 208 | "name": "Ghana", 209 | "note": "\n" 210 | }, 211 | { 212 | "name": "Greece", 213 | "note": "\n" 214 | }, 215 | { 216 | "name": "Grenada", 217 | "note": "\n" 218 | }, 219 | { 220 | "name": "Guatemala", 221 | "note": "\n" 222 | }, 223 | { 224 | "name": "Guinea", 225 | "note": "\n" 226 | }, 227 | { 228 | "name": "Guyana", 229 | "note": "\n" 230 | }, 231 | { 232 | "name": "Haiti", 233 | "note": "\n" 234 | }, 235 | { 236 | "name": "Honduras", 237 | "note": "\n" 238 | }, 239 | { 240 | "name": "Hungary", 241 | "note": "\n" 242 | }, 243 | { 244 | "name": "Iceland", 245 | "note": "\n" 246 | }, 247 | { 248 | "name": "Iraq", 249 | "note": "\n" 250 | }, 251 | { 252 | "name": "Republic of Ireland", 253 | "note": "\n" 254 | }, 255 | { 256 | "name": "Israel", 257 | "note": "\n" 258 | }, 259 | { 260 | "name": "Italy", 261 | "note": "\n" 262 | }, 263 | { 264 | "name": "Jamaica", 265 | "note": "\n" 266 | }, 267 | { 268 | "name": "Japan", 269 | "note": "\n" 270 | }, 271 | { 272 | "name": "Kazakhstan", 273 | "note": "\n" 274 | }, 275 | { 276 | "name": "Kenya", 277 | "note": "\n" 278 | }, 279 | { 280 | "name": "Kiribati", 281 | "note": "\n" 282 | }, 283 | { 284 | "name": "North Korea", 285 | "note": "\n" 286 | }, 287 | { 288 | "name": "South Korea", 289 | "note": "\n" 290 | }, 291 | { 292 | "name": "Kuwait", 293 | "note": "\n" 294 | }, 295 | { 296 | "name": "Latvia", 297 | "note": "\n" 298 | }, 299 | { 300 | "name": "Liberia", 301 | "note": "\n" 302 | }, 303 | { 304 | "name": "Libya", 305 | "note": "\n" 306 | }, 307 | { 308 | "name": "Liechtenstein", 309 | "note": "\n" 310 | }, 311 | { 312 | "name": "Lithuania", 313 | "note": "\n" 314 | }, 315 | { 316 | "name": "Luxembourg", 317 | "note": "\n" 318 | }, 319 | { 320 | "name": "Republic of Macedonia", 321 | "note": "\n" 322 | }, 323 | { 324 | "name": "Malawi", 325 | "note": "\n" 326 | }, 327 | { 328 | "name": "Malta", 329 | "note": "\n" 330 | }, 331 | { 332 | "name": "Marshall Islands", 333 | "note": "\n" 334 | }, 335 | { 336 | "name": "Mauritius", 337 | "note": "\n" 338 | }, 339 | { 340 | "name": "Mexico", 341 | "note": "\n" 342 | }, 343 | { 344 | "name": "Moldova", 345 | "note": "\n" 346 | }, 347 | { 348 | "name": "Monaco", 349 | "note": "\n" 350 | }, 351 | { 352 | "name": "Mongolia", 353 | "note": "\n" 354 | }, 355 | { 356 | "name": "Montenegro", 357 | "note": "\n" 358 | }, 359 | { 360 | "name": "Morocco", 361 | "note": "\n" 362 | }, 363 | { 364 | "name": "Myanmar", 365 | "note": "\n" 366 | }, 367 | { 368 | "name": "Namibia", 369 | "note": "\n" 370 | }, 371 | { 372 | "name": "Nauru", 373 | "note": "\n" 374 | }, 375 | { 376 | "name": "Nepal", 377 | "note": "\n" 378 | }, 379 | { 380 | "name": "Netherlands", 381 | "note": "\n" 382 | }, 383 | { 384 | "name": "New Zealand", 385 | "note": "\n" 386 | }, 387 | { 388 | "name": "Niger", 389 | "note": "\n" 390 | }, 391 | { 392 | "name": "Nigeria", 393 | "note": "\n" 394 | }, 395 | { 396 | "name": "Norway", 397 | "note": "\n" 398 | }, 399 | { 400 | "name": "Oman", 401 | "note": "\n" 402 | }, 403 | { 404 | "name": "Pakistan", 405 | "note": "\n" 406 | }, 407 | { 408 | "name": "Panama", 409 | "note": "\n" 410 | }, 411 | { 412 | "name": "Papua New Guinea", 413 | "note": "\n" 414 | }, 415 | { 416 | "name": "Paraguay", 417 | "note": "\n" 418 | }, 419 | { 420 | "name": "Peru", 421 | "note": "\n" 422 | }, 423 | { 424 | "name": "Philippines", 425 | "note": "\n" 426 | }, 427 | { 428 | "name": "Poland", 429 | "note": "\n" 430 | }, 431 | { 432 | "name": "Portugal", 433 | "note": "\n" 434 | }, 435 | { 436 | "name": "Romania", 437 | "note": "\n" 438 | }, 439 | { 440 | "name": "Russia", 441 | "note": "\n" 442 | }, 443 | { 444 | "name": "San Marino", 445 | "note": "\n" 446 | }, 447 | { 448 | "name": "Saudi Arabia", 449 | "note": "\n" 450 | }, 451 | { 452 | "name": "Serbia", 453 | "note": "\n" 454 | }, 455 | { 456 | "name": "Sierra Leone", 457 | "note": "\n" 458 | }, 459 | { 460 | "name": "Singapore", 461 | "note": "\n" 462 | }, 463 | { 464 | "name": "Slovakia", 465 | "note": "\n" 466 | }, 467 | { 468 | "name": "Slovenia", 469 | "note": "\n" 470 | }, 471 | { 472 | "name": "Solomon Islands", 473 | "note": "\n" 474 | }, 475 | { 476 | "name": "South Africa", 477 | "note": "\n" 478 | }, 479 | { 480 | "name": "South Sudan", 481 | "note": "\n" 482 | }, 483 | { 484 | "name": "Spain", 485 | "note": "\n" 486 | }, 487 | { 488 | "name": "Sudan", 489 | "note": "\n" 490 | }, 491 | { 492 | "name": "Suriname", 493 | "note": "\n" 494 | }, 495 | { 496 | "name": "Sweden", 497 | "note": "\n" 498 | }, 499 | { 500 | "name": "Switzerland", 501 | "note": "\n" 502 | }, 503 | { 504 | "name": "Tajikistan", 505 | "note": "\n" 506 | }, 507 | { 508 | "name": "Tanzania", 509 | "note": "\n" 510 | }, 511 | { 512 | "name": "Thailand", 513 | "note": "\n" 514 | }, 515 | { 516 | "name": "Tonga", 517 | "note": "\n" 518 | }, 519 | { 520 | "name": "Trinidad and Tobago", 521 | "note": "\n" 522 | }, 523 | { 524 | "name": "Tunisia", 525 | "note": "\n" 526 | }, 527 | { 528 | "name": "Turkey", 529 | "note": "\n" 530 | }, 531 | { 532 | "name": "Turkmenistan", 533 | "note": "\n" 534 | }, 535 | { 536 | "name": "Ukraine", 537 | "note": "\n" 538 | }, 539 | { 540 | "name": "United Arab Emirates", 541 | "note": "\n" 542 | }, 543 | { 544 | "name": "United Kingdom", 545 | "note": "\n" 546 | }, 547 | { 548 | "name": "United States", 549 | "note": "\n" 550 | }, 551 | { 552 | "name": "Uruguay", 553 | "note": "\n" 554 | }, 555 | { 556 | "name": "Uzbekistan", 557 | "note": "\n" 558 | }, 559 | { 560 | "name": "Vanuatu", 561 | "note": "\n" 562 | }, 563 | { 564 | "name": "Vatican City", 565 | "note": "\n" 566 | }, 567 | { 568 | "name": "Vietnam", 569 | "note": "\n" 570 | }, 571 | { 572 | "name": "Yemen", 573 | "note": "\n" 574 | } 575 | ], 576 | "notRequired": [ 577 | { 578 | "name": "Bolivia", 579 | "note": "90 days\n" 580 | }, 581 | { 582 | "name": "Dominica", 583 | "note": "21 days\n" 584 | }, 585 | { 586 | "name": "Ecuador", 587 | "note": "90 days\n" 588 | }, 589 | { 590 | "name": "Eswatini", 591 | "note": "30 days\n" 592 | }, 593 | { 594 | "name": "Indonesia", 595 | "note": "30 days\n" 596 | }, 597 | { 598 | "name": "Iran", 599 | "note": "30 days\n" 600 | }, 601 | { 602 | "name": "Jordan", 603 | "note": "\n" 604 | }, 605 | { 606 | "name": "Malaysia", 607 | "note": "30 days\n" 608 | }, 609 | { 610 | "name": "Federated States of Micronesia", 611 | "note": "30 days\n" 612 | }, 613 | { 614 | "name": "Nicaragua", 615 | "note": "90 days\n" 616 | }, 617 | { 618 | "name": "Saint Vincent and the Grenadines", 619 | "note": "1 month\n" 620 | }, 621 | { 622 | "name": "Venezuela", 623 | "note": "90 days\n" 624 | }, 625 | { 626 | "name": "Palestine", 627 | "note": "home" 628 | } 629 | ], 630 | "evisa": [ 631 | { 632 | "name": "Antigua and Barbuda", 633 | "note": "\n" 634 | }, 635 | { 636 | "name": "Ivory Coast", 637 | "note": "\n" 638 | }, 639 | { 640 | "name": "Ethiopia", 641 | "note": "up to 90 days\n" 642 | }, 643 | { 644 | "name": "Gabon", 645 | "note": "\n" 646 | }, 647 | { 648 | "name": "India", 649 | "note": "60 days\n" 650 | }, 651 | { 652 | "name": "Kyrgyzstan", 653 | "note": "\n" 654 | }, 655 | { 656 | "name": "Lesotho", 657 | "note": "\n" 658 | }, 659 | { 660 | "name": "Qatar", 661 | "note": "\n" 662 | }, 663 | { 664 | "name": "Saint Kitts and Nevis", 665 | "note": "\n" 666 | }, 667 | { 668 | "name": "São Tomé and Príncipe", 669 | "note": "\n" 670 | }, 671 | { 672 | "name": "Zambia", 673 | "note": "\n" 674 | } 675 | ], 676 | "onArrival": [ 677 | { 678 | "name": "Bangladesh", 679 | "note": "30 days\n" 680 | }, 681 | { 682 | "name": "Benin", 683 | "note": "30 days / 8 days\n" 684 | }, 685 | { 686 | "name": "Cambodia", 687 | "note": "30 days\n" 688 | }, 689 | { 690 | "name": "Cape Verde", 691 | "note": "\n" 692 | }, 693 | { 694 | "name": "Comoros", 695 | "note": "45 days\n" 696 | }, 697 | { 698 | "name": "Guinea-Bissau", 699 | "note": "90 days\n" 700 | }, 701 | { 702 | "name": "Laos", 703 | "note": "30 days\n" 704 | }, 705 | { 706 | "name": "Maldives", 707 | "note": "30 days\n" 708 | }, 709 | { 710 | "name": "Mauritania", 711 | "note": "\n" 712 | }, 713 | { 714 | "name": "Mozambique", 715 | "note": "30 days\n" 716 | }, 717 | { 718 | "name": "Palau", 719 | "note": "30 days\n" 720 | }, 721 | { 722 | "name": "Rwanda", 723 | "note": "\n" 724 | }, 725 | { 726 | "name": "Saint Lucia", 727 | "note": "6 weeks\n" 728 | }, 729 | { 730 | "name": "Samoa", 731 | "note": "60 days\n" 732 | }, 733 | { 734 | "name": "Senegal", 735 | "note": "90 days\n" 736 | }, 737 | { 738 | "name": "Seychelles", 739 | "note": "3 months\n" 740 | }, 741 | { 742 | "name": "Somalia", 743 | "note": "30 days\n" 744 | }, 745 | { 746 | "name": "Sri Lanka", 747 | "note": "\n" 748 | }, 749 | { 750 | "name": "East Timor", 751 | "note": "30 days\n" 752 | }, 753 | { 754 | "name": "Togo", 755 | "note": "\n" 756 | }, 757 | { 758 | "name": "Tuvalu", 759 | "note": "1 month\n" 760 | }, 761 | { 762 | "name": "Uganda", 763 | "note": "\n" 764 | }, 765 | { 766 | "name": "Zimbabwe", 767 | "note": "\n" 768 | } 769 | ], 770 | "refused": [ 771 | { 772 | "name": "Chile", 773 | "note": "\n" 774 | }, 775 | { 776 | "name": "Lebanon", 777 | "note": "\n" 778 | }, 779 | { 780 | "name": "Madagascar", 781 | "note": "\n" 782 | }, 783 | { 784 | "name": "Syria", 785 | "note": "\n" 786 | } 787 | ], 788 | "unknown": [] 789 | } -------------------------------------------------------------------------------- /dist/output/somalia.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": [ 3 | { 4 | "name": "Afghanistan", 5 | "note": "\n" 6 | }, 7 | { 8 | "name": "Albania", 9 | "note": "\n" 10 | }, 11 | { 12 | "name": "Algeria", 13 | "note": "\n" 14 | }, 15 | { 16 | "name": "Andorra", 17 | "note": "\n" 18 | }, 19 | { 20 | "name": "Angola", 21 | "note": "\n" 22 | }, 23 | { 24 | "name": "Argentina", 25 | "note": "\n" 26 | }, 27 | { 28 | "name": "Armenia", 29 | "note": "\n" 30 | }, 31 | { 32 | "name": "Austria", 33 | "note": "\n" 34 | }, 35 | { 36 | "name": "Azerbaijan", 37 | "note": "\n" 38 | }, 39 | { 40 | "name": "The Bahamas", 41 | "note": "\n" 42 | }, 43 | { 44 | "name": "Bahrain", 45 | "note": "\n" 46 | }, 47 | { 48 | "name": "Barbados", 49 | "note": "\n" 50 | }, 51 | { 52 | "name": "Belarus", 53 | "note": "\n" 54 | }, 55 | { 56 | "name": "Belgium", 57 | "note": "\n" 58 | }, 59 | { 60 | "name": "Belize", 61 | "note": "\n" 62 | }, 63 | { 64 | "name": "Bhutan", 65 | "note": "\n" 66 | }, 67 | { 68 | "name": "Bolivia", 69 | "note": "\n" 70 | }, 71 | { 72 | "name": "Bosnia and Herzegovina", 73 | "note": "\n" 74 | }, 75 | { 76 | "name": "Brazil", 77 | "note": "\n" 78 | }, 79 | { 80 | "name": "Brunei", 81 | "note": "\n" 82 | }, 83 | { 84 | "name": "Bulgaria", 85 | "note": "\n" 86 | }, 87 | { 88 | "name": "Burundi", 89 | "note": "\n" 90 | }, 91 | { 92 | "name": "Cameroon", 93 | "note": "\n" 94 | }, 95 | { 96 | "name": "Canada", 97 | "note": "\n" 98 | }, 99 | { 100 | "name": "Central African Republic", 101 | "note": "\n" 102 | }, 103 | { 104 | "name": "Chad", 105 | "note": "\n" 106 | }, 107 | { 108 | "name": "Chile", 109 | "note": "\n" 110 | }, 111 | { 112 | "name": "China", 113 | "note": "\n" 114 | }, 115 | { 116 | "name": "Colombia", 117 | "note": "\n" 118 | }, 119 | { 120 | "name": "Republic of the Congo", 121 | "note": "\n" 122 | }, 123 | { 124 | "name": "Democratic Republic of the Congo", 125 | "note": "\n" 126 | }, 127 | { 128 | "name": "Costa Rica", 129 | "note": "\n" 130 | }, 131 | { 132 | "name": "Croatia", 133 | "note": "\n" 134 | }, 135 | { 136 | "name": "Cuba", 137 | "note": "\n" 138 | }, 139 | { 140 | "name": "Cyprus", 141 | "note": "\n" 142 | }, 143 | { 144 | "name": "Czech Republic", 145 | "note": "\n" 146 | }, 147 | { 148 | "name": "Denmark", 149 | "note": "\n" 150 | }, 151 | { 152 | "name": "Dominican Republic", 153 | "note": "\n" 154 | }, 155 | { 156 | "name": "Ecuador", 157 | "note": "\n" 158 | }, 159 | { 160 | "name": "Egypt", 161 | "note": "\n" 162 | }, 163 | { 164 | "name": "El Salvador", 165 | "note": "\n" 166 | }, 167 | { 168 | "name": "Equatorial Guinea", 169 | "note": "\n" 170 | }, 171 | { 172 | "name": "Eritrea", 173 | "note": "\n" 174 | }, 175 | { 176 | "name": "Estonia", 177 | "note": "\n" 178 | }, 179 | { 180 | "name": "Eswatini", 181 | "note": "\n" 182 | }, 183 | { 184 | "name": "Fiji", 185 | "note": "\n" 186 | }, 187 | { 188 | "name": "Finland", 189 | "note": "\n" 190 | }, 191 | { 192 | "name": "France", 193 | "note": "\n" 194 | }, 195 | { 196 | "name": "The Gambia", 197 | "note": "\n" 198 | }, 199 | { 200 | "name": "Georgia (country)", 201 | "note": "\n" 202 | }, 203 | { 204 | "name": "Germany", 205 | "note": "\n" 206 | }, 207 | { 208 | "name": "Greece", 209 | "note": "\n" 210 | }, 211 | { 212 | "name": "Grenada", 213 | "note": "\n" 214 | }, 215 | { 216 | "name": "Guatemala", 217 | "note": "\n" 218 | }, 219 | { 220 | "name": "Guinea", 221 | "note": "\n" 222 | }, 223 | { 224 | "name": "Guyana", 225 | "note": "\n" 226 | }, 227 | { 228 | "name": "Honduras", 229 | "note": "\n" 230 | }, 231 | { 232 | "name": "Hungary", 233 | "note": "\n" 234 | }, 235 | { 236 | "name": "Iceland", 237 | "note": "\n" 238 | }, 239 | { 240 | "name": "India", 241 | "note": "\n" 242 | }, 243 | { 244 | "name": "Indonesia", 245 | "note": "\n" 246 | }, 247 | { 248 | "name": "Iran", 249 | "note": "\n" 250 | }, 251 | { 252 | "name": "Iraq", 253 | "note": "\n" 254 | }, 255 | { 256 | "name": "Republic of Ireland", 257 | "note": "\n" 258 | }, 259 | { 260 | "name": "Israel", 261 | "note": "\n" 262 | }, 263 | { 264 | "name": "Italy", 265 | "note": "\n" 266 | }, 267 | { 268 | "name": "Jamaica", 269 | "note": "\n" 270 | }, 271 | { 272 | "name": "Japan", 273 | "note": "\n" 274 | }, 275 | { 276 | "name": "Jordan", 277 | "note": "\n" 278 | }, 279 | { 280 | "name": "Kazakhstan", 281 | "note": "\n" 282 | }, 283 | { 284 | "name": "Kenya", 285 | "note": "\n" 286 | }, 287 | { 288 | "name": "Kiribati", 289 | "note": "\n" 290 | }, 291 | { 292 | "name": "North Korea", 293 | "note": "\n" 294 | }, 295 | { 296 | "name": "South Korea", 297 | "note": "\n" 298 | }, 299 | { 300 | "name": "Kuwait", 301 | "note": "\n" 302 | }, 303 | { 304 | "name": "Latvia", 305 | "note": "\n" 306 | }, 307 | { 308 | "name": "Lebanon", 309 | "note": "\n" 310 | }, 311 | { 312 | "name": "Liberia", 313 | "note": "\n" 314 | }, 315 | { 316 | "name": "Libya", 317 | "note": "\n" 318 | }, 319 | { 320 | "name": "Liechtenstein", 321 | "note": "\n" 322 | }, 323 | { 324 | "name": "Lithuania", 325 | "note": "\n" 326 | }, 327 | { 328 | "name": "Luxembourg", 329 | "note": "\n" 330 | }, 331 | { 332 | "name": "Republic of Macedonia", 333 | "note": "\n" 334 | }, 335 | { 336 | "name": "Malawi", 337 | "note": "\n" 338 | }, 339 | { 340 | "name": "Mali", 341 | "note": "\n" 342 | }, 343 | { 344 | "name": "Malta", 345 | "note": "\n" 346 | }, 347 | { 348 | "name": "Marshall Islands", 349 | "note": "\n" 350 | }, 351 | { 352 | "name": "Mauritius", 353 | "note": "\n" 354 | }, 355 | { 356 | "name": "Mexico", 357 | "note": "\n" 358 | }, 359 | { 360 | "name": "Moldova", 361 | "note": "\n" 362 | }, 363 | { 364 | "name": "Monaco", 365 | "note": "\n" 366 | }, 367 | { 368 | "name": "Mongolia", 369 | "note": "\n" 370 | }, 371 | { 372 | "name": "Montenegro", 373 | "note": "\n" 374 | }, 375 | { 376 | "name": "Morocco", 377 | "note": "\n" 378 | }, 379 | { 380 | "name": "Myanmar", 381 | "note": "\n" 382 | }, 383 | { 384 | "name": "Namibia", 385 | "note": "\n" 386 | }, 387 | { 388 | "name": "Nauru", 389 | "note": "\n" 390 | }, 391 | { 392 | "name": "Nepal", 393 | "note": "\n" 394 | }, 395 | { 396 | "name": "Netherlands", 397 | "note": "\n" 398 | }, 399 | { 400 | "name": "Nicaragua", 401 | "note": "\n" 402 | }, 403 | { 404 | "name": "Niger", 405 | "note": "\n" 406 | }, 407 | { 408 | "name": "Nigeria", 409 | "note": "\n" 410 | }, 411 | { 412 | "name": "Norway", 413 | "note": "\n" 414 | }, 415 | { 416 | "name": "Oman", 417 | "note": "\n" 418 | }, 419 | { 420 | "name": "Pakistan", 421 | "note": "\n" 422 | }, 423 | { 424 | "name": "Panama", 425 | "note": "\n" 426 | }, 427 | { 428 | "name": "Papua New Guinea", 429 | "note": "\n" 430 | }, 431 | { 432 | "name": "Paraguay", 433 | "note": "\n" 434 | }, 435 | { 436 | "name": "Peru", 437 | "note": "\n" 438 | }, 439 | { 440 | "name": "Philippines", 441 | "note": "\n" 442 | }, 443 | { 444 | "name": "Poland", 445 | "note": "\n" 446 | }, 447 | { 448 | "name": "Portugal", 449 | "note": "\n" 450 | }, 451 | { 452 | "name": "Romania", 453 | "note": "\n" 454 | }, 455 | { 456 | "name": "Russia", 457 | "note": "\n" 458 | }, 459 | { 460 | "name": "Saint Lucia", 461 | "note": "\n" 462 | }, 463 | { 464 | "name": "San Marino", 465 | "note": "\n" 466 | }, 467 | { 468 | "name": "Saudi Arabia", 469 | "note": "\n" 470 | }, 471 | { 472 | "name": "Senegal", 473 | "note": "\n" 474 | }, 475 | { 476 | "name": "Serbia", 477 | "note": "\n" 478 | }, 479 | { 480 | "name": "Sierra Leone", 481 | "note": "\n" 482 | }, 483 | { 484 | "name": "Singapore", 485 | "note": "\n" 486 | }, 487 | { 488 | "name": "Slovakia", 489 | "note": "\n" 490 | }, 491 | { 492 | "name": "Slovenia", 493 | "note": "\n" 494 | }, 495 | { 496 | "name": "Solomon Islands", 497 | "note": "\n" 498 | }, 499 | { 500 | "name": "South Africa", 501 | "note": "\n" 502 | }, 503 | { 504 | "name": "South Sudan", 505 | "note": "\n" 506 | }, 507 | { 508 | "name": "Spain", 509 | "note": "\n" 510 | }, 511 | { 512 | "name": "Sudan", 513 | "note": "\n" 514 | }, 515 | { 516 | "name": "Suriname", 517 | "note": "\n" 518 | }, 519 | { 520 | "name": "Sweden", 521 | "note": "\n" 522 | }, 523 | { 524 | "name": "Switzerland", 525 | "note": "\n" 526 | }, 527 | { 528 | "name": "Syria", 529 | "note": "\n" 530 | }, 531 | { 532 | "name": "Tajikistan", 533 | "note": "\n" 534 | }, 535 | { 536 | "name": "Tanzania", 537 | "note": "\n" 538 | }, 539 | { 540 | "name": "Thailand", 541 | "note": "\n" 542 | }, 543 | { 544 | "name": "Tonga", 545 | "note": "\n" 546 | }, 547 | { 548 | "name": "Trinidad and Tobago", 549 | "note": "\n" 550 | }, 551 | { 552 | "name": "Tunisia", 553 | "note": "\n" 554 | }, 555 | { 556 | "name": "Turkey", 557 | "note": "\n" 558 | }, 559 | { 560 | "name": "Turkmenistan", 561 | "note": "\n" 562 | }, 563 | { 564 | "name": "Uganda", 565 | "note": "\n" 566 | }, 567 | { 568 | "name": "Ukraine", 569 | "note": "\n" 570 | }, 571 | { 572 | "name": "United Arab Emirates", 573 | "note": "\n" 574 | }, 575 | { 576 | "name": "United Kingdom", 577 | "note": "\n" 578 | }, 579 | { 580 | "name": "Uruguay", 581 | "note": "\n" 582 | }, 583 | { 584 | "name": "Uzbekistan", 585 | "note": "\n" 586 | }, 587 | { 588 | "name": "Vanuatu", 589 | "note": "\n" 590 | }, 591 | { 592 | "name": "Vatican City", 593 | "note": "\n" 594 | }, 595 | { 596 | "name": "Venezuela", 597 | "note": "\n" 598 | }, 599 | { 600 | "name": "Vietnam", 601 | "note": "\n" 602 | }, 603 | { 604 | "name": "Yemen", 605 | "note": "\n" 606 | } 607 | ], 608 | "notRequired": [ 609 | { 610 | "name": "Benin", 611 | "note": "90 days\n" 612 | }, 613 | { 614 | "name": "Dominica", 615 | "note": "21 days\n" 616 | }, 617 | { 618 | "name": "Haiti", 619 | "note": "3 months\n" 620 | }, 621 | { 622 | "name": "Malaysia", 623 | "note": "30 days\n" 624 | }, 625 | { 626 | "name": "Federated States of Micronesia", 627 | "note": "30 days\n" 628 | }, 629 | { 630 | "name": "Saint Vincent and the Grenadines", 631 | "note": "1 month\n" 632 | }, 633 | { 634 | "name": "Somalia", 635 | "note": "home" 636 | } 637 | ], 638 | "evisa": [ 639 | { 640 | "name": "Antigua and Barbuda", 641 | "note": "\n" 642 | }, 643 | { 644 | "name": "Ivory Coast", 645 | "note": "\n" 646 | }, 647 | { 648 | "name": "Djibouti", 649 | "note": "31 days\n" 650 | }, 651 | { 652 | "name": "Gabon", 653 | "note": "\n" 654 | }, 655 | { 656 | "name": "Kyrgyzstan", 657 | "note": "\n" 658 | }, 659 | { 660 | "name": "Lesotho", 661 | "note": "\n" 662 | }, 663 | { 664 | "name": "Qatar", 665 | "note": "\n" 666 | }, 667 | { 668 | "name": "Saint Kitts and Nevis", 669 | "note": "\n" 670 | }, 671 | { 672 | "name": "São Tomé and Príncipe", 673 | "note": "\n" 674 | }, 675 | { 676 | "name": "Zambia", 677 | "note": "\n" 678 | }, 679 | { 680 | "name": "Zimbabwe", 681 | "note": "\n" 682 | } 683 | ], 684 | "onArrival": [ 685 | { 686 | "name": "Bangladesh", 687 | "note": "\n" 688 | }, 689 | { 690 | "name": "Botswana", 691 | "note": "30 days\n" 692 | }, 693 | { 694 | "name": "Burkina Faso", 695 | "note": "1 month\n" 696 | }, 697 | { 698 | "name": "Cambodia", 699 | "note": "30 days\n" 700 | }, 701 | { 702 | "name": "Cape Verde", 703 | "note": "\n" 704 | }, 705 | { 706 | "name": "Comoros", 707 | "note": "\n" 708 | }, 709 | { 710 | "name": "Ethiopia", 711 | "note": "up to 90 days\n" 712 | }, 713 | { 714 | "name": "Ghana", 715 | "note": "30 days\n" 716 | }, 717 | { 718 | "name": "Guinea-Bissau", 719 | "note": "90 days\n" 720 | }, 721 | { 722 | "name": "Laos", 723 | "note": "30 days\n" 724 | }, 725 | { 726 | "name": "Madagascar", 727 | "note": "90 days\n" 728 | }, 729 | { 730 | "name": "Maldives", 731 | "note": "30 days\n" 732 | }, 733 | { 734 | "name": "Mauritania", 735 | "note": "\n" 736 | }, 737 | { 738 | "name": "Mozambique", 739 | "note": "30 days\n" 740 | }, 741 | { 742 | "name": "Palau", 743 | "note": "30 days\n" 744 | }, 745 | { 746 | "name": "Rwanda", 747 | "note": "90 days\n" 748 | }, 749 | { 750 | "name": "Samoa", 751 | "note": "60 days\n" 752 | }, 753 | { 754 | "name": "Seychelles", 755 | "note": "3 months\n" 756 | }, 757 | { 758 | "name": "Sri Lanka", 759 | "note": "30 days\n" 760 | }, 761 | { 762 | "name": "East Timor", 763 | "note": "30 days\n" 764 | }, 765 | { 766 | "name": "Togo", 767 | "note": "7 days\n" 768 | }, 769 | { 770 | "name": "Tuvalu", 771 | "note": "1 month\n" 772 | } 773 | ], 774 | "refused": [ 775 | { 776 | "name": "Australia", 777 | "note": "\n" 778 | }, 779 | { 780 | "name": "New Zealand", 781 | "note": "\n" 782 | }, 783 | { 784 | "name": "United States", 785 | "note": "\n" 786 | } 787 | ], 788 | "unknown": [] 789 | } -------------------------------------------------------------------------------- /dist/output/south sudan.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": [ 3 | { 4 | "name": "Afghanistan", 5 | "note": "\n" 6 | }, 7 | { 8 | "name": "Albania", 9 | "note": "\n" 10 | }, 11 | { 12 | "name": "Algeria", 13 | "note": "\n" 14 | }, 15 | { 16 | "name": "Andorra", 17 | "note": "\n" 18 | }, 19 | { 20 | "name": "Angola", 21 | "note": "\n" 22 | }, 23 | { 24 | "name": "Argentina", 25 | "note": "\n" 26 | }, 27 | { 28 | "name": "Armenia", 29 | "note": "\n" 30 | }, 31 | { 32 | "name": "Australia", 33 | "note": "\n" 34 | }, 35 | { 36 | "name": "Austria", 37 | "note": "\n" 38 | }, 39 | { 40 | "name": "Azerbaijan", 41 | "note": "\n" 42 | }, 43 | { 44 | "name": "The Bahamas", 45 | "note": "\n" 46 | }, 47 | { 48 | "name": "Bahrain", 49 | "note": "\n" 50 | }, 51 | { 52 | "name": "Bangladesh", 53 | "note": "\n" 54 | }, 55 | { 56 | "name": "Barbados", 57 | "note": "\n" 58 | }, 59 | { 60 | "name": "Belarus", 61 | "note": "\n" 62 | }, 63 | { 64 | "name": "Belgium", 65 | "note": "\n" 66 | }, 67 | { 68 | "name": "Belize", 69 | "note": "\n" 70 | }, 71 | { 72 | "name": "Bhutan", 73 | "note": "\n" 74 | }, 75 | { 76 | "name": "Bosnia and Herzegovina", 77 | "note": "\n" 78 | }, 79 | { 80 | "name": "Brazil", 81 | "note": "\n" 82 | }, 83 | { 84 | "name": "Brunei", 85 | "note": "\n" 86 | }, 87 | { 88 | "name": "Bulgaria", 89 | "note": "\n" 90 | }, 91 | { 92 | "name": "Burkina Faso", 93 | "note": "\n" 94 | }, 95 | { 96 | "name": "Cameroon", 97 | "note": "\n" 98 | }, 99 | { 100 | "name": "Canada", 101 | "note": "\n" 102 | }, 103 | { 104 | "name": "Central African Republic", 105 | "note": "\n" 106 | }, 107 | { 108 | "name": "Chad", 109 | "note": "\n" 110 | }, 111 | { 112 | "name": "Chile", 113 | "note": "\n" 114 | }, 115 | { 116 | "name": "China", 117 | "note": "\n" 118 | }, 119 | { 120 | "name": "Colombia", 121 | "note": "\n" 122 | }, 123 | { 124 | "name": "Republic of the Congo", 125 | "note": "\n" 126 | }, 127 | { 128 | "name": "Democratic Republic of the Congo", 129 | "note": "\n" 130 | }, 131 | { 132 | "name": "Costa Rica", 133 | "note": "\n" 134 | }, 135 | { 136 | "name": "Ivory Coast", 137 | "note": "\n" 138 | }, 139 | { 140 | "name": "Croatia", 141 | "note": "\n" 142 | }, 143 | { 144 | "name": "Cuba", 145 | "note": "\n" 146 | }, 147 | { 148 | "name": "Cyprus", 149 | "note": "\n" 150 | }, 151 | { 152 | "name": "Czech Republic", 153 | "note": "\n" 154 | }, 155 | { 156 | "name": "Denmark", 157 | "note": "\n" 158 | }, 159 | { 160 | "name": "Dominican Republic", 161 | "note": "\n" 162 | }, 163 | { 164 | "name": "El Salvador", 165 | "note": "\n" 166 | }, 167 | { 168 | "name": "Equatorial Guinea", 169 | "note": "\n" 170 | }, 171 | { 172 | "name": "Eritrea", 173 | "note": "\n" 174 | }, 175 | { 176 | "name": "Estonia", 177 | "note": "\n" 178 | }, 179 | { 180 | "name": "Eswatini", 181 | "note": "\n" 182 | }, 183 | { 184 | "name": "Fiji", 185 | "note": "\n" 186 | }, 187 | { 188 | "name": "Finland", 189 | "note": "\n" 190 | }, 191 | { 192 | "name": "France", 193 | "note": "\n" 194 | }, 195 | { 196 | "name": "The Gambia", 197 | "note": "\n" 198 | }, 199 | { 200 | "name": "Georgia (country)", 201 | "note": "\n" 202 | }, 203 | { 204 | "name": "Germany", 205 | "note": "\n" 206 | }, 207 | { 208 | "name": "Greece", 209 | "note": "\n" 210 | }, 211 | { 212 | "name": "Grenada", 213 | "note": "\n" 214 | }, 215 | { 216 | "name": "Guatemala", 217 | "note": "\n" 218 | }, 219 | { 220 | "name": "Guinea", 221 | "note": "\n" 222 | }, 223 | { 224 | "name": "Guyana", 225 | "note": "\n" 226 | }, 227 | { 228 | "name": "Honduras", 229 | "note": "\n" 230 | }, 231 | { 232 | "name": "Hungary", 233 | "note": "\n" 234 | }, 235 | { 236 | "name": "Iceland", 237 | "note": "\n" 238 | }, 239 | { 240 | "name": "India", 241 | "note": "\n" 242 | }, 243 | { 244 | "name": "Indonesia", 245 | "note": "\n" 246 | }, 247 | { 248 | "name": "Iraq", 249 | "note": "\n" 250 | }, 251 | { 252 | "name": "Republic of Ireland", 253 | "note": "\n" 254 | }, 255 | { 256 | "name": "Israel", 257 | "note": "\n" 258 | }, 259 | { 260 | "name": "Italy", 261 | "note": "\n" 262 | }, 263 | { 264 | "name": "Jamaica", 265 | "note": "\n" 266 | }, 267 | { 268 | "name": "Japan", 269 | "note": "\n" 270 | }, 271 | { 272 | "name": "Jordan", 273 | "note": "\n" 274 | }, 275 | { 276 | "name": "Kazakhstan", 277 | "note": "\n" 278 | }, 279 | { 280 | "name": "Kiribati", 281 | "note": "\n" 282 | }, 283 | { 284 | "name": "North Korea", 285 | "note": "\n" 286 | }, 287 | { 288 | "name": "South Korea", 289 | "note": "\n" 290 | }, 291 | { 292 | "name": "Kuwait", 293 | "note": "\n" 294 | }, 295 | { 296 | "name": "Latvia", 297 | "note": "\n" 298 | }, 299 | { 300 | "name": "Lebanon", 301 | "note": "\n" 302 | }, 303 | { 304 | "name": "Liberia", 305 | "note": "\n" 306 | }, 307 | { 308 | "name": "Libya", 309 | "note": "\n" 310 | }, 311 | { 312 | "name": "Liechtenstein", 313 | "note": "\n" 314 | }, 315 | { 316 | "name": "Lithuania", 317 | "note": "\n" 318 | }, 319 | { 320 | "name": "Luxembourg", 321 | "note": "\n" 322 | }, 323 | { 324 | "name": "Republic of Macedonia", 325 | "note": "\n" 326 | }, 327 | { 328 | "name": "Malawi", 329 | "note": "\n" 330 | }, 331 | { 332 | "name": "Mali", 333 | "note": "\n" 334 | }, 335 | { 336 | "name": "Malta", 337 | "note": "\n" 338 | }, 339 | { 340 | "name": "Marshall Islands", 341 | "note": "\n" 342 | }, 343 | { 344 | "name": "Mauritius", 345 | "note": "\n" 346 | }, 347 | { 348 | "name": "Mexico", 349 | "note": "\n" 350 | }, 351 | { 352 | "name": "Moldova", 353 | "note": "\n" 354 | }, 355 | { 356 | "name": "Monaco", 357 | "note": "\n" 358 | }, 359 | { 360 | "name": "Mongolia", 361 | "note": "\n" 362 | }, 363 | { 364 | "name": "Montenegro", 365 | "note": "\n" 366 | }, 367 | { 368 | "name": "Morocco", 369 | "note": "\n" 370 | }, 371 | { 372 | "name": "Namibia", 373 | "note": "\n" 374 | }, 375 | { 376 | "name": "Nauru", 377 | "note": "\n" 378 | }, 379 | { 380 | "name": "Netherlands", 381 | "note": "\n" 382 | }, 383 | { 384 | "name": "New Zealand", 385 | "note": "\n" 386 | }, 387 | { 388 | "name": "Nicaragua", 389 | "note": "\n" 390 | }, 391 | { 392 | "name": "Niger", 393 | "note": "\n" 394 | }, 395 | { 396 | "name": "Nigeria", 397 | "note": "\n" 398 | }, 399 | { 400 | "name": "Norway", 401 | "note": "\n" 402 | }, 403 | { 404 | "name": "Oman", 405 | "note": "\n" 406 | }, 407 | { 408 | "name": "Pakistan", 409 | "note": "\n" 410 | }, 411 | { 412 | "name": "Panama", 413 | "note": "\n" 414 | }, 415 | { 416 | "name": "Papua New Guinea", 417 | "note": "\n" 418 | }, 419 | { 420 | "name": "Paraguay", 421 | "note": "\n" 422 | }, 423 | { 424 | "name": "Peru", 425 | "note": "\n" 426 | }, 427 | { 428 | "name": "Philippines", 429 | "note": "\n" 430 | }, 431 | { 432 | "name": "Poland", 433 | "note": "\n" 434 | }, 435 | { 436 | "name": "Portugal", 437 | "note": "\n" 438 | }, 439 | { 440 | "name": "Romania", 441 | "note": "\n" 442 | }, 443 | { 444 | "name": "Russia", 445 | "note": "\n" 446 | }, 447 | { 448 | "name": "Saint Lucia", 449 | "note": "\n" 450 | }, 451 | { 452 | "name": "San Marino", 453 | "note": "\n" 454 | }, 455 | { 456 | "name": "São Tomé and Príncipe", 457 | "note": "\n" 458 | }, 459 | { 460 | "name": "Saudi Arabia", 461 | "note": "\n" 462 | }, 463 | { 464 | "name": "Senegal", 465 | "note": "\n" 466 | }, 467 | { 468 | "name": "Serbia", 469 | "note": "\n" 470 | }, 471 | { 472 | "name": "Sierra Leone", 473 | "note": "\n" 474 | }, 475 | { 476 | "name": "Slovakia", 477 | "note": "\n" 478 | }, 479 | { 480 | "name": "Slovenia", 481 | "note": "\n" 482 | }, 483 | { 484 | "name": "Solomon Islands", 485 | "note": "\n" 486 | }, 487 | { 488 | "name": "South Africa", 489 | "note": "\n" 490 | }, 491 | { 492 | "name": "Spain", 493 | "note": "\n" 494 | }, 495 | { 496 | "name": "Sudan", 497 | "note": "\n" 498 | }, 499 | { 500 | "name": "Suriname", 501 | "note": "\n" 502 | }, 503 | { 504 | "name": "Sweden", 505 | "note": "\n" 506 | }, 507 | { 508 | "name": "Switzerland", 509 | "note": "\n" 510 | }, 511 | { 512 | "name": "Syria", 513 | "note": "\n" 514 | }, 515 | { 516 | "name": "Tajikistan", 517 | "note": "\n" 518 | }, 519 | { 520 | "name": "Thailand", 521 | "note": "\n" 522 | }, 523 | { 524 | "name": "Tonga", 525 | "note": "\n" 526 | }, 527 | { 528 | "name": "Trinidad and Tobago", 529 | "note": "\n" 530 | }, 531 | { 532 | "name": "Tunisia", 533 | "note": "\n" 534 | }, 535 | { 536 | "name": "Turkey", 537 | "note": "\n" 538 | }, 539 | { 540 | "name": "Turkmenistan", 541 | "note": "\n" 542 | }, 543 | { 544 | "name": "Ukraine", 545 | "note": "\n" 546 | }, 547 | { 548 | "name": "United Arab Emirates", 549 | "note": "\n" 550 | }, 551 | { 552 | "name": "United Kingdom", 553 | "note": "\n" 554 | }, 555 | { 556 | "name": "United States", 557 | "note": "\n" 558 | }, 559 | { 560 | "name": "Uruguay", 561 | "note": "\n" 562 | }, 563 | { 564 | "name": "Uzbekistan", 565 | "note": "\n" 566 | }, 567 | { 568 | "name": "Vanuatu", 569 | "note": "\n" 570 | }, 571 | { 572 | "name": "Vatican City", 573 | "note": "\n" 574 | }, 575 | { 576 | "name": "Venezuela", 577 | "note": "\n" 578 | }, 579 | { 580 | "name": "Vietnam", 581 | "note": "\n" 582 | }, 583 | { 584 | "name": "Yemen", 585 | "note": "\n" 586 | } 587 | ], 588 | "notRequired": [ 589 | { 590 | "name": "Benin", 591 | "note": "90 days\n" 592 | }, 593 | { 594 | "name": "Botswana", 595 | "note": "90 days\n" 596 | }, 597 | { 598 | "name": "Burundi", 599 | "note": "\n" 600 | }, 601 | { 602 | "name": "Dominica", 603 | "note": "21 days\n" 604 | }, 605 | { 606 | "name": "Ecuador", 607 | "note": "90 days\n" 608 | }, 609 | { 610 | "name": "Haiti", 611 | "note": "3 months\n" 612 | }, 613 | { 614 | "name": "Malaysia", 615 | "note": "30 days\n" 616 | }, 617 | { 618 | "name": "Federated States of Micronesia", 619 | "note": "30 days\n" 620 | }, 621 | { 622 | "name": "Rwanda", 623 | "note": "6 months\n" 624 | }, 625 | { 626 | "name": "Saint Kitts and Nevis", 627 | "note": "3 months\n" 628 | }, 629 | { 630 | "name": "Saint Vincent and the Grenadines", 631 | "note": "1 month\n" 632 | }, 633 | { 634 | "name": "Singapore", 635 | "note": "30 days\n" 636 | }, 637 | { 638 | "name": "South Sudan", 639 | "note": "home" 640 | } 641 | ], 642 | "evisa": [ 643 | { 644 | "name": "Antigua and Barbuda", 645 | "note": "\n" 646 | }, 647 | { 648 | "name": "Djibouti", 649 | "note": "31 days\n" 650 | }, 651 | { 652 | "name": "Gabon", 653 | "note": "\n" 654 | }, 655 | { 656 | "name": "Kyrgyzstan", 657 | "note": "\n" 658 | }, 659 | { 660 | "name": "Lesotho", 661 | "note": "\n" 662 | }, 663 | { 664 | "name": "Myanmar", 665 | "note": "28 days\n" 666 | }, 667 | { 668 | "name": "Qatar", 669 | "note": "\n" 670 | }, 671 | { 672 | "name": "Sri Lanka", 673 | "note": "30 days\n" 674 | }, 675 | { 676 | "name": "Zambia", 677 | "note": "\n" 678 | }, 679 | { 680 | "name": "Zimbabwe", 681 | "note": "\n" 682 | } 683 | ], 684 | "onArrival": [ 685 | { 686 | "name": "Bolivia", 687 | "note": "\n" 688 | }, 689 | { 690 | "name": "Cambodia", 691 | "note": "\n" 692 | }, 693 | { 694 | "name": "Cape Verde", 695 | "note": "\n" 696 | }, 697 | { 698 | "name": "Comoros", 699 | "note": "\n" 700 | }, 701 | { 702 | "name": "Egypt", 703 | "note": "\n" 704 | }, 705 | { 706 | "name": "Ethiopia", 707 | "note": "up to 90 days\n" 708 | }, 709 | { 710 | "name": "Ghana", 711 | "note": "30 days\n" 712 | }, 713 | { 714 | "name": "Guinea-Bissau", 715 | "note": "90 days\n" 716 | }, 717 | { 718 | "name": "Iran", 719 | "note": "\n" 720 | }, 721 | { 722 | "name": "Kenya", 723 | "note": "\n" 724 | }, 725 | { 726 | "name": "Laos", 727 | "note": "30 days\n" 728 | }, 729 | { 730 | "name": "Madagascar", 731 | "note": "90 days\n" 732 | }, 733 | { 734 | "name": "Maldives", 735 | "note": "30 days\n" 736 | }, 737 | { 738 | "name": "Mauritania", 739 | "note": "\n" 740 | }, 741 | { 742 | "name": "Mozambique", 743 | "note": "\n" 744 | }, 745 | { 746 | "name": "Nepal", 747 | "note": "\n" 748 | }, 749 | { 750 | "name": "Palau", 751 | "note": "30 days\n" 752 | }, 753 | { 754 | "name": "Samoa", 755 | "note": "60 days\n" 756 | }, 757 | { 758 | "name": "Seychelles", 759 | "note": "3 months\n" 760 | }, 761 | { 762 | "name": "Somalia", 763 | "note": "30 days\n" 764 | }, 765 | { 766 | "name": "Tanzania", 767 | "note": "\n" 768 | }, 769 | { 770 | "name": "East Timor", 771 | "note": "30 days\n" 772 | }, 773 | { 774 | "name": "Togo", 775 | "note": "7 days\n" 776 | }, 777 | { 778 | "name": "Tuvalu", 779 | "note": "1 month\n" 780 | }, 781 | { 782 | "name": "Uganda", 783 | "note": "\n" 784 | } 785 | ], 786 | "refused": [], 787 | "unknown": [] 788 | } -------------------------------------------------------------------------------- /dist/output/sudan.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": [ 3 | { 4 | "name": "Afghanistan", 5 | "note": "\n" 6 | }, 7 | { 8 | "name": "Albania", 9 | "note": "\n" 10 | }, 11 | { 12 | "name": "Algeria", 13 | "note": "\n" 14 | }, 15 | { 16 | "name": "Andorra", 17 | "note": "\n" 18 | }, 19 | { 20 | "name": "Angola", 21 | "note": "\n" 22 | }, 23 | { 24 | "name": "Argentina", 25 | "note": "\n" 26 | }, 27 | { 28 | "name": "Armenia", 29 | "note": "\n" 30 | }, 31 | { 32 | "name": "Australia", 33 | "note": "\n" 34 | }, 35 | { 36 | "name": "Austria", 37 | "note": "\n" 38 | }, 39 | { 40 | "name": "Azerbaijan", 41 | "note": "\n" 42 | }, 43 | { 44 | "name": "The Bahamas", 45 | "note": "\n" 46 | }, 47 | { 48 | "name": "Bahrain", 49 | "note": "\n" 50 | }, 51 | { 52 | "name": "Barbados", 53 | "note": "\n" 54 | }, 55 | { 56 | "name": "Belarus", 57 | "note": "\n" 58 | }, 59 | { 60 | "name": "Belgium", 61 | "note": "\n" 62 | }, 63 | { 64 | "name": "Belize", 65 | "note": "\n" 66 | }, 67 | { 68 | "name": "Bhutan", 69 | "note": "\n" 70 | }, 71 | { 72 | "name": "Bolivia", 73 | "note": "\n" 74 | }, 75 | { 76 | "name": "Bosnia and Herzegovina", 77 | "note": "\n" 78 | }, 79 | { 80 | "name": "Botswana", 81 | "note": "\n" 82 | }, 83 | { 84 | "name": "Brazil", 85 | "note": "\n" 86 | }, 87 | { 88 | "name": "Brunei", 89 | "note": "\n" 90 | }, 91 | { 92 | "name": "Bulgaria", 93 | "note": "\n" 94 | }, 95 | { 96 | "name": "Burkina Faso", 97 | "note": "\n" 98 | }, 99 | { 100 | "name": "Burundi", 101 | "note": "\n" 102 | }, 103 | { 104 | "name": "Cambodia", 105 | "note": "\n" 106 | }, 107 | { 108 | "name": "Cameroon", 109 | "note": "\n" 110 | }, 111 | { 112 | "name": "Canada", 113 | "note": "\n" 114 | }, 115 | { 116 | "name": "Central African Republic", 117 | "note": "\n" 118 | }, 119 | { 120 | "name": "Chad", 121 | "note": "\n" 122 | }, 123 | { 124 | "name": "Chile", 125 | "note": "\n" 126 | }, 127 | { 128 | "name": "China", 129 | "note": "\n" 130 | }, 131 | { 132 | "name": "Colombia", 133 | "note": "\n" 134 | }, 135 | { 136 | "name": "Republic of the Congo", 137 | "note": "\n" 138 | }, 139 | { 140 | "name": "Democratic Republic of the Congo", 141 | "note": "\n" 142 | }, 143 | { 144 | "name": "Costa Rica", 145 | "note": "\n" 146 | }, 147 | { 148 | "name": "Croatia", 149 | "note": "\n" 150 | }, 151 | { 152 | "name": "Cuba", 153 | "note": "\n" 154 | }, 155 | { 156 | "name": "Cyprus", 157 | "note": "\n" 158 | }, 159 | { 160 | "name": "Czech Republic", 161 | "note": "\n" 162 | }, 163 | { 164 | "name": "Denmark", 165 | "note": "\n" 166 | }, 167 | { 168 | "name": "Dominican Republic", 169 | "note": "\n" 170 | }, 171 | { 172 | "name": "Egypt", 173 | "note": "\n" 174 | }, 175 | { 176 | "name": "El Salvador", 177 | "note": "\n" 178 | }, 179 | { 180 | "name": "Equatorial Guinea", 181 | "note": "\n" 182 | }, 183 | { 184 | "name": "Estonia", 185 | "note": "\n" 186 | }, 187 | { 188 | "name": "Eswatini", 189 | "note": "\n" 190 | }, 191 | { 192 | "name": "Fiji", 193 | "note": "\n" 194 | }, 195 | { 196 | "name": "Finland", 197 | "note": "\n" 198 | }, 199 | { 200 | "name": "France", 201 | "note": "\n" 202 | }, 203 | { 204 | "name": "The Gambia", 205 | "note": "\n" 206 | }, 207 | { 208 | "name": "Germany", 209 | "note": "\n" 210 | }, 211 | { 212 | "name": "Greece", 213 | "note": "\n" 214 | }, 215 | { 216 | "name": "Grenada", 217 | "note": "\n" 218 | }, 219 | { 220 | "name": "Guatemala", 221 | "note": "\n" 222 | }, 223 | { 224 | "name": "Guinea", 225 | "note": "\n" 226 | }, 227 | { 228 | "name": "Guyana", 229 | "note": "\n" 230 | }, 231 | { 232 | "name": "Honduras", 233 | "note": "\n" 234 | }, 235 | { 236 | "name": "Hungary", 237 | "note": "\n" 238 | }, 239 | { 240 | "name": "Iceland", 241 | "note": "\n" 242 | }, 243 | { 244 | "name": "India", 245 | "note": "\n" 246 | }, 247 | { 248 | "name": "Indonesia", 249 | "note": "\n" 250 | }, 251 | { 252 | "name": "Iraq", 253 | "note": "\n" 254 | }, 255 | { 256 | "name": "Republic of Ireland", 257 | "note": "\n" 258 | }, 259 | { 260 | "name": "Israel", 261 | "note": "\n" 262 | }, 263 | { 264 | "name": "Italy", 265 | "note": "\n" 266 | }, 267 | { 268 | "name": "Jamaica", 269 | "note": "\n" 270 | }, 271 | { 272 | "name": "Japan", 273 | "note": "\n" 274 | }, 275 | { 276 | "name": "Jordan", 277 | "note": "\n" 278 | }, 279 | { 280 | "name": "Kazakhstan", 281 | "note": "\n" 282 | }, 283 | { 284 | "name": "Kiribati", 285 | "note": "\n" 286 | }, 287 | { 288 | "name": "North Korea", 289 | "note": "\n" 290 | }, 291 | { 292 | "name": "South Korea", 293 | "note": "\n" 294 | }, 295 | { 296 | "name": "Kuwait", 297 | "note": "\n" 298 | }, 299 | { 300 | "name": "Laos", 301 | "note": "\n" 302 | }, 303 | { 304 | "name": "Latvia", 305 | "note": "\n" 306 | }, 307 | { 308 | "name": "Lebanon", 309 | "note": "\n" 310 | }, 311 | { 312 | "name": "Liberia", 313 | "note": "\n" 314 | }, 315 | { 316 | "name": "Liechtenstein", 317 | "note": "\n" 318 | }, 319 | { 320 | "name": "Lithuania", 321 | "note": "\n" 322 | }, 323 | { 324 | "name": "Luxembourg", 325 | "note": "\n" 326 | }, 327 | { 328 | "name": "Republic of Macedonia", 329 | "note": "\n" 330 | }, 331 | { 332 | "name": "Malawi", 333 | "note": "\n" 334 | }, 335 | { 336 | "name": "Mali", 337 | "note": "\n" 338 | }, 339 | { 340 | "name": "Malta", 341 | "note": "\n" 342 | }, 343 | { 344 | "name": "Marshall Islands", 345 | "note": "\n" 346 | }, 347 | { 348 | "name": "Mauritius", 349 | "note": "\n" 350 | }, 351 | { 352 | "name": "Mexico", 353 | "note": "\n" 354 | }, 355 | { 356 | "name": "Moldova", 357 | "note": "\n" 358 | }, 359 | { 360 | "name": "Monaco", 361 | "note": "\n" 362 | }, 363 | { 364 | "name": "Mongolia", 365 | "note": "\n" 366 | }, 367 | { 368 | "name": "Montenegro", 369 | "note": "\n" 370 | }, 371 | { 372 | "name": "Morocco", 373 | "note": "\n" 374 | }, 375 | { 376 | "name": "Myanmar", 377 | "note": "\n" 378 | }, 379 | { 380 | "name": "Namibia", 381 | "note": "\n" 382 | }, 383 | { 384 | "name": "Nauru", 385 | "note": "\n" 386 | }, 387 | { 388 | "name": "Netherlands", 389 | "note": "\n" 390 | }, 391 | { 392 | "name": "New Zealand", 393 | "note": "\n" 394 | }, 395 | { 396 | "name": "Nicaragua", 397 | "note": "\n" 398 | }, 399 | { 400 | "name": "Niger", 401 | "note": "\n" 402 | }, 403 | { 404 | "name": "Nigeria", 405 | "note": "\n" 406 | }, 407 | { 408 | "name": "Norway", 409 | "note": "\n" 410 | }, 411 | { 412 | "name": "Oman", 413 | "note": "\n" 414 | }, 415 | { 416 | "name": "Pakistan", 417 | "note": "\n" 418 | }, 419 | { 420 | "name": "Panama", 421 | "note": "\n" 422 | }, 423 | { 424 | "name": "Papua New Guinea", 425 | "note": "\n" 426 | }, 427 | { 428 | "name": "Paraguay", 429 | "note": "\n" 430 | }, 431 | { 432 | "name": "Peru", 433 | "note": "\n" 434 | }, 435 | { 436 | "name": "Philippines", 437 | "note": "\n" 438 | }, 439 | { 440 | "name": "Poland", 441 | "note": "\n" 442 | }, 443 | { 444 | "name": "Portugal", 445 | "note": "\n" 446 | }, 447 | { 448 | "name": "Romania", 449 | "note": "\n" 450 | }, 451 | { 452 | "name": "Russia", 453 | "note": "\n" 454 | }, 455 | { 456 | "name": "San Marino", 457 | "note": "\n" 458 | }, 459 | { 460 | "name": "Saudi Arabia", 461 | "note": "\n" 462 | }, 463 | { 464 | "name": "Senegal", 465 | "note": "\n" 466 | }, 467 | { 468 | "name": "Serbia", 469 | "note": "\n" 470 | }, 471 | { 472 | "name": "Sierra Leone", 473 | "note": "\n" 474 | }, 475 | { 476 | "name": "Singapore", 477 | "note": "\n" 478 | }, 479 | { 480 | "name": "Slovakia", 481 | "note": "\n" 482 | }, 483 | { 484 | "name": "Slovenia", 485 | "note": "\n" 486 | }, 487 | { 488 | "name": "Solomon Islands", 489 | "note": "\n" 490 | }, 491 | { 492 | "name": "South Africa", 493 | "note": "\n" 494 | }, 495 | { 496 | "name": "South Sudan", 497 | "note": "\n" 498 | }, 499 | { 500 | "name": "Spain", 501 | "note": "\n" 502 | }, 503 | { 504 | "name": "Sri Lanka", 505 | "note": "\n" 506 | }, 507 | { 508 | "name": "Suriname", 509 | "note": "\n" 510 | }, 511 | { 512 | "name": "Sweden", 513 | "note": "\n" 514 | }, 515 | { 516 | "name": "Switzerland", 517 | "note": "\n" 518 | }, 519 | { 520 | "name": "Syria", 521 | "note": "\n" 522 | }, 523 | { 524 | "name": "Tajikistan", 525 | "note": "\n" 526 | }, 527 | { 528 | "name": "Thailand", 529 | "note": "\n" 530 | }, 531 | { 532 | "name": "Tonga", 533 | "note": "\n" 534 | }, 535 | { 536 | "name": "Trinidad and Tobago", 537 | "note": "\n" 538 | }, 539 | { 540 | "name": "Tunisia", 541 | "note": "\n" 542 | }, 543 | { 544 | "name": "Turkey", 545 | "note": "\n" 546 | }, 547 | { 548 | "name": "Turkmenistan", 549 | "note": "\n" 550 | }, 551 | { 552 | "name": "Ukraine", 553 | "note": "\n" 554 | }, 555 | { 556 | "name": "United Arab Emirates", 557 | "note": "\n" 558 | }, 559 | { 560 | "name": "United Kingdom", 561 | "note": "\n" 562 | }, 563 | { 564 | "name": "United States", 565 | "note": "\n" 566 | }, 567 | { 568 | "name": "Uruguay", 569 | "note": "\n" 570 | }, 571 | { 572 | "name": "Uzbekistan", 573 | "note": "\n" 574 | }, 575 | { 576 | "name": "Vanuatu", 577 | "note": "\n" 578 | }, 579 | { 580 | "name": "Vatican City", 581 | "note": "\n" 582 | }, 583 | { 584 | "name": "Venezuela", 585 | "note": "\n" 586 | }, 587 | { 588 | "name": "Vietnam", 589 | "note": "\n" 590 | }, 591 | { 592 | "name": "Yemen", 593 | "note": "\n" 594 | } 595 | ], 596 | "notRequired": [ 597 | { 598 | "name": "Benin", 599 | "note": "90 days\n" 600 | }, 601 | { 602 | "name": "Dominica", 603 | "note": "21 days\n" 604 | }, 605 | { 606 | "name": "Ecuador", 607 | "note": "90 days\n" 608 | }, 609 | { 610 | "name": "Haiti", 611 | "note": "3 months\n" 612 | }, 613 | { 614 | "name": "Malaysia", 615 | "note": "90 days\n" 616 | }, 617 | { 618 | "name": "Federated States of Micronesia", 619 | "note": "30 days\n" 620 | }, 621 | { 622 | "name": "Saint Kitts and Nevis", 623 | "note": "3 months\n" 624 | }, 625 | { 626 | "name": "Saint Vincent and the Grenadines", 627 | "note": "1 month\n" 628 | }, 629 | { 630 | "name": "Sudan", 631 | "note": "home" 632 | } 633 | ], 634 | "evisa": [ 635 | { 636 | "name": "Antigua and Barbuda", 637 | "note": "\n" 638 | }, 639 | { 640 | "name": "Ivory Coast", 641 | "note": "\n" 642 | }, 643 | { 644 | "name": "Djibouti", 645 | "note": "31 days\n" 646 | }, 647 | { 648 | "name": "Gabon", 649 | "note": "\n" 650 | }, 651 | { 652 | "name": "Georgia (country)", 653 | "note": "90 days\n" 654 | }, 655 | { 656 | "name": "Kenya", 657 | "note": "3 months\n" 658 | }, 659 | { 660 | "name": "Kyrgyzstan", 661 | "note": "\n" 662 | }, 663 | { 664 | "name": "Lesotho", 665 | "note": "\n" 666 | }, 667 | { 668 | "name": "Qatar", 669 | "note": "\n" 670 | }, 671 | { 672 | "name": "São Tomé and Príncipe", 673 | "note": "\n" 674 | }, 675 | { 676 | "name": "Zambia", 677 | "note": "\n" 678 | }, 679 | { 680 | "name": "Zimbabwe", 681 | "note": "\n" 682 | } 683 | ], 684 | "onArrival": [ 685 | { 686 | "name": "Bangladesh", 687 | "note": "\n" 688 | }, 689 | { 690 | "name": "Cape Verde", 691 | "note": "\n" 692 | }, 693 | { 694 | "name": "Comoros", 695 | "note": "\n" 696 | }, 697 | { 698 | "name": "Eritrea", 699 | "note": "\n" 700 | }, 701 | { 702 | "name": "Ethiopia", 703 | "note": "up to 90 days\n" 704 | }, 705 | { 706 | "name": "Ghana", 707 | "note": "30 days\n" 708 | }, 709 | { 710 | "name": "Guinea-Bissau", 711 | "note": "90 days\n" 712 | }, 713 | { 714 | "name": "Iran", 715 | "note": "30 days\n" 716 | }, 717 | { 718 | "name": "Madagascar", 719 | "note": "90 days\n" 720 | }, 721 | { 722 | "name": "Maldives", 723 | "note": "30 days\n" 724 | }, 725 | { 726 | "name": "Mauritania", 727 | "note": "\n" 728 | }, 729 | { 730 | "name": "Mozambique", 731 | "note": "\n" 732 | }, 733 | { 734 | "name": "Nepal", 735 | "note": "\n" 736 | }, 737 | { 738 | "name": "Palau", 739 | "note": "30 days\n" 740 | }, 741 | { 742 | "name": "Rwanda", 743 | "note": "30 days\n" 744 | }, 745 | { 746 | "name": "Saint Lucia", 747 | "note": "6 weeks\n" 748 | }, 749 | { 750 | "name": "Samoa", 751 | "note": "60 days\n" 752 | }, 753 | { 754 | "name": "Seychelles", 755 | "note": "3 months\n" 756 | }, 757 | { 758 | "name": "Somalia", 759 | "note": "30 days\n" 760 | }, 761 | { 762 | "name": "Tanzania", 763 | "note": "\n" 764 | }, 765 | { 766 | "name": "East Timor", 767 | "note": "30 days\n" 768 | }, 769 | { 770 | "name": "Togo", 771 | "note": "7 days\n" 772 | }, 773 | { 774 | "name": "Tuvalu", 775 | "note": "1 month\n" 776 | }, 777 | { 778 | "name": "Uganda", 779 | "note": "\n" 780 | } 781 | ], 782 | "refused": [ 783 | { 784 | "name": "Libya", 785 | "note": "\n" 786 | } 787 | ], 788 | "unknown": [] 789 | } -------------------------------------------------------------------------------- /dist/output/syria.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": [ 3 | { 4 | "name": "Afghanistan", 5 | "note": "\n" 6 | }, 7 | { 8 | "name": "Albania", 9 | "note": "\n" 10 | }, 11 | { 12 | "name": "Algeria", 13 | "note": "\n" 14 | }, 15 | { 16 | "name": "Andorra", 17 | "note": "\n" 18 | }, 19 | { 20 | "name": "Angola", 21 | "note": "\n" 22 | }, 23 | { 24 | "name": "Argentina", 25 | "note": "\n" 26 | }, 27 | { 28 | "name": "Armenia", 29 | "note": "\n" 30 | }, 31 | { 32 | "name": "Australia", 33 | "note": "\n" 34 | }, 35 | { 36 | "name": "Austria", 37 | "note": "\n" 38 | }, 39 | { 40 | "name": "Azerbaijan", 41 | "note": "\n" 42 | }, 43 | { 44 | "name": "The Bahamas", 45 | "note": "\n" 46 | }, 47 | { 48 | "name": "Bahrain", 49 | "note": "\n" 50 | }, 51 | { 52 | "name": "Bangladesh", 53 | "note": "\n" 54 | }, 55 | { 56 | "name": "Barbados", 57 | "note": "\n" 58 | }, 59 | { 60 | "name": "Belarus", 61 | "note": "\n" 62 | }, 63 | { 64 | "name": "Belgium", 65 | "note": "\n" 66 | }, 67 | { 68 | "name": "Belize", 69 | "note": "\n" 70 | }, 71 | { 72 | "name": "Bhutan", 73 | "note": "\n" 74 | }, 75 | { 76 | "name": "Bolivia", 77 | "note": "\n" 78 | }, 79 | { 80 | "name": "Bosnia and Herzegovina", 81 | "note": "\n" 82 | }, 83 | { 84 | "name": "Botswana", 85 | "note": "\n" 86 | }, 87 | { 88 | "name": "Brazil", 89 | "note": "\n" 90 | }, 91 | { 92 | "name": "Brunei", 93 | "note": "\n" 94 | }, 95 | { 96 | "name": "Bulgaria", 97 | "note": "\n" 98 | }, 99 | { 100 | "name": "Burkina Faso", 101 | "note": "\n" 102 | }, 103 | { 104 | "name": "Burundi", 105 | "note": "\n" 106 | }, 107 | { 108 | "name": "Cambodia", 109 | "note": "\n" 110 | }, 111 | { 112 | "name": "Cameroon", 113 | "note": "\n" 114 | }, 115 | { 116 | "name": "Canada", 117 | "note": "\n" 118 | }, 119 | { 120 | "name": "Central African Republic", 121 | "note": "\n" 122 | }, 123 | { 124 | "name": "Chad", 125 | "note": "\n" 126 | }, 127 | { 128 | "name": "Chile", 129 | "note": "\n" 130 | }, 131 | { 132 | "name": "China", 133 | "note": "\n" 134 | }, 135 | { 136 | "name": "Colombia", 137 | "note": "\n" 138 | }, 139 | { 140 | "name": "Republic of the Congo", 141 | "note": "\n" 142 | }, 143 | { 144 | "name": "Democratic Republic of the Congo", 145 | "note": "\n" 146 | }, 147 | { 148 | "name": "Costa Rica", 149 | "note": "\n" 150 | }, 151 | { 152 | "name": "Croatia", 153 | "note": "\n" 154 | }, 155 | { 156 | "name": "Cuba", 157 | "note": "\n" 158 | }, 159 | { 160 | "name": "Cyprus", 161 | "note": "\n" 162 | }, 163 | { 164 | "name": "Czech Republic", 165 | "note": "\n" 166 | }, 167 | { 168 | "name": "Denmark", 169 | "note": "\n" 170 | }, 171 | { 172 | "name": "Dominican Republic", 173 | "note": "\n" 174 | }, 175 | { 176 | "name": "Egypt", 177 | "note": "\n" 178 | }, 179 | { 180 | "name": "El Salvador", 181 | "note": "\n" 182 | }, 183 | { 184 | "name": "Equatorial Guinea", 185 | "note": "\n" 186 | }, 187 | { 188 | "name": "Eritrea", 189 | "note": "\n" 190 | }, 191 | { 192 | "name": "Estonia", 193 | "note": "\n" 194 | }, 195 | { 196 | "name": "Eswatini", 197 | "note": "\n" 198 | }, 199 | { 200 | "name": "Fiji", 201 | "note": "\n" 202 | }, 203 | { 204 | "name": "Finland", 205 | "note": "\n" 206 | }, 207 | { 208 | "name": "France", 209 | "note": "\n" 210 | }, 211 | { 212 | "name": "The Gambia", 213 | "note": "\n" 214 | }, 215 | { 216 | "name": "Georgia (country)", 217 | "note": "\n" 218 | }, 219 | { 220 | "name": "Germany", 221 | "note": "\n" 222 | }, 223 | { 224 | "name": "Ghana", 225 | "note": "\n" 226 | }, 227 | { 228 | "name": "Greece", 229 | "note": "\n" 230 | }, 231 | { 232 | "name": "Grenada", 233 | "note": "\n" 234 | }, 235 | { 236 | "name": "Guatemala", 237 | "note": "\n" 238 | }, 239 | { 240 | "name": "Guinea", 241 | "note": "\n" 242 | }, 243 | { 244 | "name": "Guyana", 245 | "note": "\n" 246 | }, 247 | { 248 | "name": "Honduras", 249 | "note": "\n" 250 | }, 251 | { 252 | "name": "Hungary", 253 | "note": "\n" 254 | }, 255 | { 256 | "name": "Iceland", 257 | "note": "\n" 258 | }, 259 | { 260 | "name": "India", 261 | "note": "\n" 262 | }, 263 | { 264 | "name": "Indonesia", 265 | "note": "\n" 266 | }, 267 | { 268 | "name": "Iraq", 269 | "note": "\n" 270 | }, 271 | { 272 | "name": "Republic of Ireland", 273 | "note": "\n" 274 | }, 275 | { 276 | "name": "Israel", 277 | "note": "\n" 278 | }, 279 | { 280 | "name": "Italy", 281 | "note": "\n" 282 | }, 283 | { 284 | "name": "Jamaica", 285 | "note": "\n" 286 | }, 287 | { 288 | "name": "Japan", 289 | "note": "\n" 290 | }, 291 | { 292 | "name": "Jordan", 293 | "note": "\n" 294 | }, 295 | { 296 | "name": "Kazakhstan", 297 | "note": "\n" 298 | }, 299 | { 300 | "name": "Kenya", 301 | "note": "\n" 302 | }, 303 | { 304 | "name": "Kiribati", 305 | "note": "\n" 306 | }, 307 | { 308 | "name": "North Korea", 309 | "note": "\n" 310 | }, 311 | { 312 | "name": "South Korea", 313 | "note": "\n" 314 | }, 315 | { 316 | "name": "Kuwait", 317 | "note": "\n" 318 | }, 319 | { 320 | "name": "Laos", 321 | "note": "\n" 322 | }, 323 | { 324 | "name": "Latvia", 325 | "note": "\n" 326 | }, 327 | { 328 | "name": "Lebanon", 329 | "note": "\n" 330 | }, 331 | { 332 | "name": "Liberia", 333 | "note": "\n" 334 | }, 335 | { 336 | "name": "Liechtenstein", 337 | "note": "\n" 338 | }, 339 | { 340 | "name": "Lithuania", 341 | "note": "\n" 342 | }, 343 | { 344 | "name": "Luxembourg", 345 | "note": "\n" 346 | }, 347 | { 348 | "name": "Republic of Macedonia", 349 | "note": "\n" 350 | }, 351 | { 352 | "name": "Malawi", 353 | "note": "\n" 354 | }, 355 | { 356 | "name": "Malta", 357 | "note": "\n" 358 | }, 359 | { 360 | "name": "Marshall Islands", 361 | "note": "\n" 362 | }, 363 | { 364 | "name": "Mauritania", 365 | "note": "\n" 366 | }, 367 | { 368 | "name": "Mauritius", 369 | "note": "\n" 370 | }, 371 | { 372 | "name": "Mexico", 373 | "note": "\n" 374 | }, 375 | { 376 | "name": "Moldova", 377 | "note": "\n" 378 | }, 379 | { 380 | "name": "Monaco", 381 | "note": "\n" 382 | }, 383 | { 384 | "name": "Mongolia", 385 | "note": "\n" 386 | }, 387 | { 388 | "name": "Montenegro", 389 | "note": "\n" 390 | }, 391 | { 392 | "name": "Morocco", 393 | "note": "\n" 394 | }, 395 | { 396 | "name": "Myanmar", 397 | "note": "\n" 398 | }, 399 | { 400 | "name": "Namibia", 401 | "note": "\n" 402 | }, 403 | { 404 | "name": "Nauru", 405 | "note": "\n" 406 | }, 407 | { 408 | "name": "Nepal", 409 | "note": "\n" 410 | }, 411 | { 412 | "name": "Netherlands", 413 | "note": "\n" 414 | }, 415 | { 416 | "name": "New Zealand", 417 | "note": "\n" 418 | }, 419 | { 420 | "name": "Nicaragua", 421 | "note": "\n" 422 | }, 423 | { 424 | "name": "Niger", 425 | "note": "\n" 426 | }, 427 | { 428 | "name": "Nigeria", 429 | "note": "\n" 430 | }, 431 | { 432 | "name": "Norway", 433 | "note": "\n" 434 | }, 435 | { 436 | "name": "Oman", 437 | "note": "\n" 438 | }, 439 | { 440 | "name": "Pakistan", 441 | "note": "\n" 442 | }, 443 | { 444 | "name": "Panama", 445 | "note": "\n" 446 | }, 447 | { 448 | "name": "Papua New Guinea", 449 | "note": "\n" 450 | }, 451 | { 452 | "name": "Paraguay", 453 | "note": "\n" 454 | }, 455 | { 456 | "name": "Peru", 457 | "note": "\n" 458 | }, 459 | { 460 | "name": "Philippines", 461 | "note": "\n" 462 | }, 463 | { 464 | "name": "Poland", 465 | "note": "\n" 466 | }, 467 | { 468 | "name": "Portugal", 469 | "note": "\n" 470 | }, 471 | { 472 | "name": "Romania", 473 | "note": "\n" 474 | }, 475 | { 476 | "name": "Russia", 477 | "note": "\n" 478 | }, 479 | { 480 | "name": "Saint Lucia", 481 | "note": "\n" 482 | }, 483 | { 484 | "name": "Saint Vincent and the Grenadines", 485 | "note": "\n" 486 | }, 487 | { 488 | "name": "San Marino", 489 | "note": "\n" 490 | }, 491 | { 492 | "name": "Saudi Arabia", 493 | "note": "\n" 494 | }, 495 | { 496 | "name": "Senegal", 497 | "note": "\n" 498 | }, 499 | { 500 | "name": "Serbia", 501 | "note": "\n" 502 | }, 503 | { 504 | "name": "Sierra Leone", 505 | "note": "\n" 506 | }, 507 | { 508 | "name": "Singapore", 509 | "note": "\n" 510 | }, 511 | { 512 | "name": "Slovakia", 513 | "note": "\n" 514 | }, 515 | { 516 | "name": "Slovenia", 517 | "note": "\n" 518 | }, 519 | { 520 | "name": "Solomon Islands", 521 | "note": "\n" 522 | }, 523 | { 524 | "name": "South Africa", 525 | "note": "\n" 526 | }, 527 | { 528 | "name": "South Sudan", 529 | "note": "\n" 530 | }, 531 | { 532 | "name": "Spain", 533 | "note": "\n" 534 | }, 535 | { 536 | "name": "Sri Lanka", 537 | "note": "\n" 538 | }, 539 | { 540 | "name": "Suriname", 541 | "note": "\n" 542 | }, 543 | { 544 | "name": "Sweden", 545 | "note": "\n" 546 | }, 547 | { 548 | "name": "Switzerland", 549 | "note": "\n" 550 | }, 551 | { 552 | "name": "Tajikistan", 553 | "note": "\n" 554 | }, 555 | { 556 | "name": "Tanzania", 557 | "note": "\n" 558 | }, 559 | { 560 | "name": "Thailand", 561 | "note": "\n" 562 | }, 563 | { 564 | "name": "Tonga", 565 | "note": "\n" 566 | }, 567 | { 568 | "name": "Trinidad and Tobago", 569 | "note": "\n" 570 | }, 571 | { 572 | "name": "Tunisia", 573 | "note": "\n" 574 | }, 575 | { 576 | "name": "Turkey", 577 | "note": "\n" 578 | }, 579 | { 580 | "name": "Turkmenistan", 581 | "note": "\n" 582 | }, 583 | { 584 | "name": "Ukraine", 585 | "note": "\n" 586 | }, 587 | { 588 | "name": "United Arab Emirates", 589 | "note": "\n" 590 | }, 591 | { 592 | "name": "United Kingdom", 593 | "note": "\n" 594 | }, 595 | { 596 | "name": "Uruguay", 597 | "note": "\n" 598 | }, 599 | { 600 | "name": "Uzbekistan", 601 | "note": "\n" 602 | }, 603 | { 604 | "name": "Vanuatu", 605 | "note": "\n" 606 | }, 607 | { 608 | "name": "Vatican City", 609 | "note": "\n" 610 | }, 611 | { 612 | "name": "Venezuela", 613 | "note": "\n" 614 | }, 615 | { 616 | "name": "Vietnam", 617 | "note": "\n" 618 | } 619 | ], 620 | "notRequired": [ 621 | { 622 | "name": "Dominica", 623 | "note": "21 days\n" 624 | }, 625 | { 626 | "name": "Ecuador", 627 | "note": "90 days\n" 628 | }, 629 | { 630 | "name": "Haiti", 631 | "note": "3 months\n" 632 | }, 633 | { 634 | "name": "Iran", 635 | "note": "90 days\n" 636 | }, 637 | { 638 | "name": "Malaysia", 639 | "note": "90 days\n" 640 | }, 641 | { 642 | "name": "Federated States of Micronesia", 643 | "note": "30 days\n" 644 | }, 645 | { 646 | "name": "Sudan", 647 | "note": "1 month\n" 648 | }, 649 | { 650 | "name": "Syria", 651 | "note": "home" 652 | } 653 | ], 654 | "evisa": [ 655 | { 656 | "name": "Antigua and Barbuda", 657 | "note": "\n" 658 | }, 659 | { 660 | "name": "Benin", 661 | "note": "30 days / 8 days\n" 662 | }, 663 | { 664 | "name": "Ivory Coast", 665 | "note": "\n" 666 | }, 667 | { 668 | "name": "Djibouti", 669 | "note": "31 days\n" 670 | }, 671 | { 672 | "name": "Ethiopia", 673 | "note": "up to 90 days\n" 674 | }, 675 | { 676 | "name": "Gabon", 677 | "note": "\n" 678 | }, 679 | { 680 | "name": "Kyrgyzstan", 681 | "note": "\n" 682 | }, 683 | { 684 | "name": "Lesotho", 685 | "note": "\n" 686 | }, 687 | { 688 | "name": "Qatar", 689 | "note": "\n" 690 | }, 691 | { 692 | "name": "Saint Kitts and Nevis", 693 | "note": "\n" 694 | }, 695 | { 696 | "name": "São Tomé and Príncipe", 697 | "note": "\n" 698 | }, 699 | { 700 | "name": "Zambia", 701 | "note": "\n" 702 | }, 703 | { 704 | "name": "Zimbabwe", 705 | "note": "\n" 706 | } 707 | ], 708 | "onArrival": [ 709 | { 710 | "name": "Cape Verde", 711 | "note": "3 months\n" 712 | }, 713 | { 714 | "name": "Comoros", 715 | "note": "45 days\n" 716 | }, 717 | { 718 | "name": "Guinea-Bissau", 719 | "note": "90 days\n" 720 | }, 721 | { 722 | "name": "Madagascar", 723 | "note": "90 days\n" 724 | }, 725 | { 726 | "name": "Maldives", 727 | "note": "30 days\n" 728 | }, 729 | { 730 | "name": "Mozambique", 731 | "note": "30 days\n" 732 | }, 733 | { 734 | "name": "Palau", 735 | "note": "30 days\n" 736 | }, 737 | { 738 | "name": "Rwanda", 739 | "note": "30 days\n" 740 | }, 741 | { 742 | "name": "Samoa", 743 | "note": "60 days\n" 744 | }, 745 | { 746 | "name": "Seychelles", 747 | "note": "3 months\n" 748 | }, 749 | { 750 | "name": "Somalia", 751 | "note": "30 days\n" 752 | }, 753 | { 754 | "name": "East Timor", 755 | "note": "30 days\n" 756 | }, 757 | { 758 | "name": "Togo", 759 | "note": "7 days\n" 760 | }, 761 | { 762 | "name": "Tuvalu", 763 | "note": "1 month\n" 764 | }, 765 | { 766 | "name": "Uganda", 767 | "note": "3 months\n" 768 | }, 769 | { 770 | "name": "Yemen", 771 | "note": "3 months\n" 772 | } 773 | ], 774 | "refused": [ 775 | { 776 | "name": "Libya", 777 | "note": "\n" 778 | }, 779 | { 780 | "name": "Mali", 781 | "note": "\n" 782 | }, 783 | { 784 | "name": "United States", 785 | "note": "\n" 786 | } 787 | ], 788 | "unknown": [] 789 | } -------------------------------------------------------------------------------- /dist/output/yemen.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": [ 3 | { 4 | "name": "Afghanistan", 5 | "note": "\n" 6 | }, 7 | { 8 | "name": "Albania", 9 | "note": "\n" 10 | }, 11 | { 12 | "name": "Algeria", 13 | "note": "\n" 14 | }, 15 | { 16 | "name": "Andorra", 17 | "note": "\n" 18 | }, 19 | { 20 | "name": "Angola", 21 | "note": "\n" 22 | }, 23 | { 24 | "name": "Argentina", 25 | "note": "\n" 26 | }, 27 | { 28 | "name": "Armenia", 29 | "note": "\n" 30 | }, 31 | { 32 | "name": "Australia", 33 | "note": "\n" 34 | }, 35 | { 36 | "name": "Austria", 37 | "note": "\n" 38 | }, 39 | { 40 | "name": "Azerbaijan", 41 | "note": "\n" 42 | }, 43 | { 44 | "name": "The Bahamas", 45 | "note": "\n" 46 | }, 47 | { 48 | "name": "Bahrain", 49 | "note": "\n" 50 | }, 51 | { 52 | "name": "Bangladesh", 53 | "note": "\n" 54 | }, 55 | { 56 | "name": "Barbados", 57 | "note": "\n" 58 | }, 59 | { 60 | "name": "Belarus", 61 | "note": "\n" 62 | }, 63 | { 64 | "name": "Belgium", 65 | "note": "\n" 66 | }, 67 | { 68 | "name": "Belize", 69 | "note": "\n" 70 | }, 71 | { 72 | "name": "Bhutan", 73 | "note": "\n" 74 | }, 75 | { 76 | "name": "Bolivia", 77 | "note": "\n" 78 | }, 79 | { 80 | "name": "Bosnia and Herzegovina", 81 | "note": "\n" 82 | }, 83 | { 84 | "name": "Botswana", 85 | "note": "\n" 86 | }, 87 | { 88 | "name": "Brazil", 89 | "note": "\n" 90 | }, 91 | { 92 | "name": "Brunei", 93 | "note": "\n" 94 | }, 95 | { 96 | "name": "Bulgaria", 97 | "note": "\n" 98 | }, 99 | { 100 | "name": "Burkina Faso", 101 | "note": "\n" 102 | }, 103 | { 104 | "name": "Burundi", 105 | "note": "\n" 106 | }, 107 | { 108 | "name": "Cameroon", 109 | "note": "\n" 110 | }, 111 | { 112 | "name": "Canada", 113 | "note": "\n" 114 | }, 115 | { 116 | "name": "Central African Republic", 117 | "note": "\n" 118 | }, 119 | { 120 | "name": "Chad", 121 | "note": "\n" 122 | }, 123 | { 124 | "name": "Chile", 125 | "note": "\n" 126 | }, 127 | { 128 | "name": "China", 129 | "note": "\n" 130 | }, 131 | { 132 | "name": "Colombia", 133 | "note": "\n" 134 | }, 135 | { 136 | "name": "Republic of the Congo", 137 | "note": "\n" 138 | }, 139 | { 140 | "name": "Democratic Republic of the Congo", 141 | "note": "\n" 142 | }, 143 | { 144 | "name": "Costa Rica", 145 | "note": "\n" 146 | }, 147 | { 148 | "name": "Croatia", 149 | "note": "\n" 150 | }, 151 | { 152 | "name": "Cuba", 153 | "note": "\n" 154 | }, 155 | { 156 | "name": "Cyprus", 157 | "note": "\n" 158 | }, 159 | { 160 | "name": "Czech Republic", 161 | "note": "\n" 162 | }, 163 | { 164 | "name": "Denmark", 165 | "note": "\n" 166 | }, 167 | { 168 | "name": "Dominican Republic", 169 | "note": "\n" 170 | }, 171 | { 172 | "name": "Egypt", 173 | "note": "\n" 174 | }, 175 | { 176 | "name": "El Salvador", 177 | "note": "\n" 178 | }, 179 | { 180 | "name": "Equatorial Guinea", 181 | "note": "\n" 182 | }, 183 | { 184 | "name": "Eritrea", 185 | "note": "\n" 186 | }, 187 | { 188 | "name": "Estonia", 189 | "note": "\n" 190 | }, 191 | { 192 | "name": "Eswatini", 193 | "note": "\n" 194 | }, 195 | { 196 | "name": "Fiji", 197 | "note": "\n" 198 | }, 199 | { 200 | "name": "Finland", 201 | "note": "\n" 202 | }, 203 | { 204 | "name": "France", 205 | "note": "\n" 206 | }, 207 | { 208 | "name": "Gabon", 209 | "note": "\n" 210 | }, 211 | { 212 | "name": "The Gambia", 213 | "note": "\n" 214 | }, 215 | { 216 | "name": "Georgia (country)", 217 | "note": "\n" 218 | }, 219 | { 220 | "name": "Germany", 221 | "note": "\n" 222 | }, 223 | { 224 | "name": "Ghana", 225 | "note": "\n" 226 | }, 227 | { 228 | "name": "Greece", 229 | "note": "\n" 230 | }, 231 | { 232 | "name": "Grenada", 233 | "note": "\n" 234 | }, 235 | { 236 | "name": "Guatemala", 237 | "note": "\n" 238 | }, 239 | { 240 | "name": "Guinea", 241 | "note": "\n" 242 | }, 243 | { 244 | "name": "Guyana", 245 | "note": "\n" 246 | }, 247 | { 248 | "name": "Honduras", 249 | "note": "\n" 250 | }, 251 | { 252 | "name": "Hungary", 253 | "note": "\n" 254 | }, 255 | { 256 | "name": "Iceland", 257 | "note": "\n" 258 | }, 259 | { 260 | "name": "India", 261 | "note": "\n" 262 | }, 263 | { 264 | "name": "Indonesia", 265 | "note": "\n" 266 | }, 267 | { 268 | "name": "Iran", 269 | "note": "\n" 270 | }, 271 | { 272 | "name": "Iraq", 273 | "note": "\n" 274 | }, 275 | { 276 | "name": "Republic of Ireland", 277 | "note": "\n" 278 | }, 279 | { 280 | "name": "Israel", 281 | "note": "\n" 282 | }, 283 | { 284 | "name": "Italy", 285 | "note": "\n" 286 | }, 287 | { 288 | "name": "Jamaica", 289 | "note": "\n" 290 | }, 291 | { 292 | "name": "Japan", 293 | "note": "\n" 294 | }, 295 | { 296 | "name": "Jordan", 297 | "note": "\n" 298 | }, 299 | { 300 | "name": "Kazakhstan", 301 | "note": "\n" 302 | }, 303 | { 304 | "name": "Kenya", 305 | "note": "\n" 306 | }, 307 | { 308 | "name": "Kiribati", 309 | "note": "\n" 310 | }, 311 | { 312 | "name": "North Korea", 313 | "note": "\n" 314 | }, 315 | { 316 | "name": "South Korea", 317 | "note": "\n" 318 | }, 319 | { 320 | "name": "Kuwait", 321 | "note": "\n" 322 | }, 323 | { 324 | "name": "Latvia", 325 | "note": "\n" 326 | }, 327 | { 328 | "name": "Lebanon", 329 | "note": "\n" 330 | }, 331 | { 332 | "name": "Liberia", 333 | "note": "\n" 334 | }, 335 | { 336 | "name": "Liechtenstein", 337 | "note": "\n" 338 | }, 339 | { 340 | "name": "Lithuania", 341 | "note": "\n" 342 | }, 343 | { 344 | "name": "Luxembourg", 345 | "note": "\n" 346 | }, 347 | { 348 | "name": "Republic of Macedonia", 349 | "note": "\n" 350 | }, 351 | { 352 | "name": "Malawi", 353 | "note": "\n" 354 | }, 355 | { 356 | "name": "Mali", 357 | "note": "\n" 358 | }, 359 | { 360 | "name": "Malta", 361 | "note": "\n" 362 | }, 363 | { 364 | "name": "Marshall Islands", 365 | "note": "\n" 366 | }, 367 | { 368 | "name": "Mauritius", 369 | "note": "\n" 370 | }, 371 | { 372 | "name": "Mexico", 373 | "note": "\n" 374 | }, 375 | { 376 | "name": "Moldova", 377 | "note": "\n" 378 | }, 379 | { 380 | "name": "Monaco", 381 | "note": "\n" 382 | }, 383 | { 384 | "name": "Mongolia", 385 | "note": "\n" 386 | }, 387 | { 388 | "name": "Montenegro", 389 | "note": "\n" 390 | }, 391 | { 392 | "name": "Morocco", 393 | "note": "\n" 394 | }, 395 | { 396 | "name": "Myanmar", 397 | "note": "\n" 398 | }, 399 | { 400 | "name": "Namibia", 401 | "note": "\n" 402 | }, 403 | { 404 | "name": "Nauru", 405 | "note": "\n" 406 | }, 407 | { 408 | "name": "Netherlands", 409 | "note": "\n" 410 | }, 411 | { 412 | "name": "New Zealand", 413 | "note": "\n" 414 | }, 415 | { 416 | "name": "Nicaragua", 417 | "note": "\n" 418 | }, 419 | { 420 | "name": "Niger", 421 | "note": "\n" 422 | }, 423 | { 424 | "name": "Nigeria", 425 | "note": "\n" 426 | }, 427 | { 428 | "name": "Norway", 429 | "note": "\n" 430 | }, 431 | { 432 | "name": "Oman", 433 | "note": "\n" 434 | }, 435 | { 436 | "name": "Pakistan", 437 | "note": "\n" 438 | }, 439 | { 440 | "name": "Panama", 441 | "note": "\n" 442 | }, 443 | { 444 | "name": "Papua New Guinea", 445 | "note": "\n" 446 | }, 447 | { 448 | "name": "Paraguay", 449 | "note": "\n" 450 | }, 451 | { 452 | "name": "Peru", 453 | "note": "\n" 454 | }, 455 | { 456 | "name": "Philippines", 457 | "note": "\n" 458 | }, 459 | { 460 | "name": "Poland", 461 | "note": "\n" 462 | }, 463 | { 464 | "name": "Portugal", 465 | "note": "\n" 466 | }, 467 | { 468 | "name": "Romania", 469 | "note": "\n" 470 | }, 471 | { 472 | "name": "Russia", 473 | "note": "\n" 474 | }, 475 | { 476 | "name": "Saint Lucia", 477 | "note": "\n" 478 | }, 479 | { 480 | "name": "San Marino", 481 | "note": "\n" 482 | }, 483 | { 484 | "name": "Saudi Arabia", 485 | "note": "\n" 486 | }, 487 | { 488 | "name": "Senegal", 489 | "note": "\n" 490 | }, 491 | { 492 | "name": "Serbia", 493 | "note": "\n" 494 | }, 495 | { 496 | "name": "Sierra Leone", 497 | "note": "\n" 498 | }, 499 | { 500 | "name": "Singapore", 501 | "note": "\n" 502 | }, 503 | { 504 | "name": "Slovakia", 505 | "note": "\n" 506 | }, 507 | { 508 | "name": "Slovenia", 509 | "note": "\n" 510 | }, 511 | { 512 | "name": "Solomon Islands", 513 | "note": "\n" 514 | }, 515 | { 516 | "name": "South Africa", 517 | "note": "\n" 518 | }, 519 | { 520 | "name": "South Sudan", 521 | "note": "\n" 522 | }, 523 | { 524 | "name": "Spain", 525 | "note": "\n" 526 | }, 527 | { 528 | "name": "Suriname", 529 | "note": "\n" 530 | }, 531 | { 532 | "name": "Sweden", 533 | "note": "\n" 534 | }, 535 | { 536 | "name": "Switzerland", 537 | "note": "\n" 538 | }, 539 | { 540 | "name": "Syria", 541 | "note": "\n" 542 | }, 543 | { 544 | "name": "Tanzania", 545 | "note": "\n" 546 | }, 547 | { 548 | "name": "Thailand", 549 | "note": "\n" 550 | }, 551 | { 552 | "name": "Tonga", 553 | "note": "\n" 554 | }, 555 | { 556 | "name": "Trinidad and Tobago", 557 | "note": "\n" 558 | }, 559 | { 560 | "name": "Tunisia", 561 | "note": "\n" 562 | }, 563 | { 564 | "name": "Turkey", 565 | "note": "\n" 566 | }, 567 | { 568 | "name": "Turkmenistan", 569 | "note": "\n" 570 | }, 571 | { 572 | "name": "Ukraine", 573 | "note": "\n" 574 | }, 575 | { 576 | "name": "United Arab Emirates", 577 | "note": "\n" 578 | }, 579 | { 580 | "name": "United Kingdom", 581 | "note": "\n" 582 | }, 583 | { 584 | "name": "Uruguay", 585 | "note": "\n" 586 | }, 587 | { 588 | "name": "Uzbekistan", 589 | "note": "\n" 590 | }, 591 | { 592 | "name": "Vanuatu", 593 | "note": "\n" 594 | }, 595 | { 596 | "name": "Vatican City", 597 | "note": "\n" 598 | }, 599 | { 600 | "name": "Venezuela", 601 | "note": "\n" 602 | }, 603 | { 604 | "name": "Vietnam", 605 | "note": "\n" 606 | } 607 | ], 608 | "notRequired": [ 609 | { 610 | "name": "Dominica", 611 | "note": "21 days\n" 612 | }, 613 | { 614 | "name": "Ecuador", 615 | "note": "90 days\n" 616 | }, 617 | { 618 | "name": "Haiti", 619 | "note": "3 months\n" 620 | }, 621 | { 622 | "name": "Malaysia", 623 | "note": "90 days\n" 624 | }, 625 | { 626 | "name": "Federated States of Micronesia", 627 | "note": "30 days\n" 628 | }, 629 | { 630 | "name": "Saint Vincent and the Grenadines", 631 | "note": "1 month\n" 632 | }, 633 | { 634 | "name": "Sudan", 635 | "note": "\n" 636 | }, 637 | { 638 | "name": "Yemen", 639 | "note": "home" 640 | } 641 | ], 642 | "evisa": [ 643 | { 644 | "name": "Antigua and Barbuda", 645 | "note": "\n" 646 | }, 647 | { 648 | "name": "Ivory Coast", 649 | "note": "\n" 650 | }, 651 | { 652 | "name": "Ethiopia", 653 | "note": "up to 90 days\n" 654 | }, 655 | { 656 | "name": "Kyrgyzstan", 657 | "note": "\n" 658 | }, 659 | { 660 | "name": "Lesotho", 661 | "note": "\n" 662 | }, 663 | { 664 | "name": "Qatar", 665 | "note": "\n" 666 | }, 667 | { 668 | "name": "Saint Kitts and Nevis", 669 | "note": "\n" 670 | }, 671 | { 672 | "name": "São Tomé and Príncipe", 673 | "note": "\n" 674 | }, 675 | { 676 | "name": "Zambia", 677 | "note": "\n" 678 | }, 679 | { 680 | "name": "Zimbabwe", 681 | "note": "\n" 682 | } 683 | ], 684 | "onArrival": [ 685 | { 686 | "name": "Benin", 687 | "note": "30 days / 8 days\n" 688 | }, 689 | { 690 | "name": "Cambodia", 691 | "note": "30 days\n" 692 | }, 693 | { 694 | "name": "Cape Verde", 695 | "note": "\n" 696 | }, 697 | { 698 | "name": "Comoros", 699 | "note": "45 days\n" 700 | }, 701 | { 702 | "name": "Djibouti", 703 | "note": "\n" 704 | }, 705 | { 706 | "name": "Guinea-Bissau", 707 | "note": "90 days\n" 708 | }, 709 | { 710 | "name": "Laos", 711 | "note": "30 days\n" 712 | }, 713 | { 714 | "name": "Madagascar", 715 | "note": "90 days\n" 716 | }, 717 | { 718 | "name": "Maldives", 719 | "note": "30 days\n" 720 | }, 721 | { 722 | "name": "Mauritania", 723 | "note": "\n" 724 | }, 725 | { 726 | "name": "Mozambique", 727 | "note": "30 days\n" 728 | }, 729 | { 730 | "name": "Nepal", 731 | "note": "90 days\n" 732 | }, 733 | { 734 | "name": "Palau", 735 | "note": "30 days\n" 736 | }, 737 | { 738 | "name": "Rwanda", 739 | "note": "30 days\n" 740 | }, 741 | { 742 | "name": "Samoa", 743 | "note": "60 days\n" 744 | }, 745 | { 746 | "name": "Seychelles", 747 | "note": "3 months\n" 748 | }, 749 | { 750 | "name": "Somalia", 751 | "note": "30 days\n" 752 | }, 753 | { 754 | "name": "Sri Lanka", 755 | "note": "30 days\n" 756 | }, 757 | { 758 | "name": "Tajikistan", 759 | "note": "45 days\n" 760 | }, 761 | { 762 | "name": "East Timor", 763 | "note": "30 days\n" 764 | }, 765 | { 766 | "name": "Togo", 767 | "note": "7 days\n" 768 | }, 769 | { 770 | "name": "Tuvalu", 771 | "note": "1 month\n" 772 | }, 773 | { 774 | "name": "Uganda", 775 | "note": "\n" 776 | } 777 | ], 778 | "refused": [ 779 | { 780 | "name": "Libya", 781 | "note": "\n" 782 | }, 783 | { 784 | "name": "United States", 785 | "note": "\n" 786 | } 787 | ], 788 | "unknown": [] 789 | } -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const scrapeCountryData = require('./tasks/scrape-country-data'); 2 | const writeToFile = require('./tasks/write-to-file'); 3 | const Promise = require('bluebird'); 4 | const readFile = Promise.promisify(require('fs').readFile); 5 | const VISA_REQUIREMENT = require('./utils/wiki').VISA_REQUIREMENT; 6 | 7 | readFile('./input/countries.json', 'utf8') 8 | .then(function(countriesStr) { 9 | return Promise.resolve(JSON.parse(countriesStr)); 10 | }, function(err) { 11 | console.error('Could not load list of countries. Check if countries.json exists'); 12 | console.dir(err); 13 | }) 14 | .then(function(countries) { 15 | // console.log('Number of countries = ' + countries.length); 16 | return Promise.mapSeries(countries, function(country) { 17 | // console.log('Processing ' + country.name); 18 | return scrapeCountryData(country.demonym) 19 | .then(function(scrapeResponse) { 20 | console.log('\n%s stats:\n****', country.name); 21 | let total = 0; 22 | for (let visaReq in VISA_REQUIREMENT) { 23 | console.log('%s: %d', VISA_REQUIREMENT[visaReq], scrapeResponse[VISA_REQUIREMENT[visaReq]].length); 24 | total += scrapeResponse[VISA_REQUIREMENT[visaReq]].length; 25 | if (VISA_REQUIREMENT[visaReq] === VISA_REQUIREMENT.UNKNOWN) { 26 | scrapeResponse[VISA_REQUIREMENT[visaReq]].forEach(country => { 27 | console.log('Unknown: %s -> %s', country.name, country.visa); 28 | }); 29 | } 30 | } 31 | console.log('Total: %d\n****', total); 32 | scrapeResponse[VISA_REQUIREMENT.NOT_REQUIRED].push({ 33 | name: country.name, 34 | note: 'home' 35 | }); 36 | return writeToFile(country.name, scrapeResponse); 37 | }) 38 | .then(function() { 39 | //Add a mandatory delay of 5s between page loads 40 | return Promise.delay(5000); 41 | }) 42 | .catch(function(err) { 43 | console.log('Error in promise chain: ', err); 44 | }); 45 | }); 46 | }, function(err) { 47 | console.error('Error parsing string from countries.json. Please check the file contents'); 48 | console.dir(err); 49 | }) 50 | .then(function() { 51 | console.log('Processed all Wikipedia pages'); 52 | }); 53 | -------------------------------------------------------------------------------- /index.ts: -------------------------------------------------------------------------------- 1 | const BluebirdPromise = require('bluebird'); // tslint:disable-line 2 | const process = require('process'); 3 | const readFile: (filename: string, encoding: string) => Promise = BluebirdPromise.promisify(require('fs').readFile); 4 | import { CountryInput } from './models/country-input'; 5 | import { CountryOutput } from './models/country-output'; 6 | import { FileUtil } from './utils/file'; 7 | import { VisaRequirement, WikiUtil } from './utils/wiki'; 8 | 9 | /** 10 | * The number of Electron/Nightmare instances that should 11 | * run simultaneously. This is equivalent to the number of Wiki pages 12 | * that are simultaneously scraped. 13 | */ 14 | const CONCURRENT_SCRAPE_INSTANCES = 5; 15 | 16 | (async () => { 17 | let countries: CountryInput[] | null = null; 18 | try { 19 | const countriesStr = await readFile('./input/countries.json', 'utf8'); 20 | countries = JSON.parse(countriesStr); 21 | } catch (ex) { 22 | console.error('Could not load list of countries. Check if countries.json exists and ensure that it is valid JSON'); 23 | } 24 | 25 | if (!countries) { 26 | process.exit(1); 27 | } 28 | 29 | const unknownCountriesMap: { parentCountry: string, unknownCountries: CountryOutput[] }[] = []; 30 | 31 | BluebirdPromise.map(countries as CountryInput[], async (country: CountryInput) => { 32 | const countryData = await WikiUtil.scrapeCountryData(country.demonym); 33 | 34 | console.info(`\n\n****\nVisa requirements for ${country.demonym} citizens`); 35 | const wikiUrl = `http://en.wikipedia.org/wiki/Visa_requirements_for_${WikiUtil.capitalize(country.demonym)}_citizens`; 36 | console.info(`Wiki URL = ${wikiUrl}`); 37 | 38 | console.info(`\n${country.name} stats:\n`); 39 | let total = 0; 40 | 41 | for (const visaReq in VisaRequirement) { // tslint:disable-line 42 | const countryOutput: CountryOutput[] = countryData[WikiUtil.camelCaseVisaRequirement(VisaRequirement[visaReq])]; 43 | console.info(`${visaReq}: ${countryOutput.length}`); 44 | total += countryOutput.length; 45 | 46 | if (VisaRequirement[visaReq] === VisaRequirement.UNKNOWN && countryOutput.length) { 47 | unknownCountriesMap.push({ parentCountry: country.name, unknownCountries: countryOutput }); 48 | } 49 | } 50 | 51 | console.info(`TOTAL: ${total}`); 52 | countryData[WikiUtil.camelCaseVisaRequirement(VisaRequirement.NOT_REQUIRED)].push(new CountryOutput(country.name, null, 'home')); 53 | 54 | return FileUtil.writeToFile(country.name, countryData); 55 | }, { concurrency: CONCURRENT_SCRAPE_INSTANCES }) 56 | .then( 57 | () => { 58 | if (unknownCountriesMap.length) { 59 | console.info(`\nOne or more Wiki pages has an unrecognised visa status. This could be due to 60 | * A typo in the Wiki page 61 | * A new visa status term not expected by the Wiki parser (Refer: https://github.com/vinaygopinath/visa-req-wiki-scraper/blob/master/utils/wiki.ts#L15 62 | * A newly introduced visa status`); 63 | unknownCountriesMap.forEach((it) => { 64 | console.error(`\n${it.parentCountry} wiki page`); 65 | it.unknownCountries.forEach((itt) => { 66 | console.error(`Name: ${itt.name}\tVisa: ${itt.visa || 'N/A'}\tNote: ${itt.note || 'N/A'}`); 67 | }); 68 | }); 69 | console.error('\nWiki scraper failed'); 70 | process.exit(1); 71 | } else { 72 | console.info('\nAll Wiki pages processed successfully'); 73 | } 74 | } 75 | ); 76 | 77 | })(); 78 | -------------------------------------------------------------------------------- /models/country-data.ts: -------------------------------------------------------------------------------- 1 | import { CountryOutput } from './country-output'; 2 | 3 | export class CountryData { 4 | 5 | constructor( 6 | public required: CountryOutput[], 7 | public notRequired: CountryOutput[], 8 | public evisa: CountryOutput[], 9 | public onArrival: CountryOutput[], 10 | public refused: CountryOutput[], 11 | public unknown: CountryOutput[] 12 | ) { } 13 | } 14 | -------------------------------------------------------------------------------- /models/country-input.ts: -------------------------------------------------------------------------------- 1 | export class CountryInput { 2 | name: string; 3 | demonym: string; 4 | 5 | constructor(name: string, demonym: string) { 6 | this.name = name; 7 | this.demonym = demonym; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /models/country-output.ts: -------------------------------------------------------------------------------- 1 | export class CountryOutput { 2 | name: string; 3 | visa: string | null | undefined; 4 | note: string | null | undefined; 5 | 6 | constructor(name: string, visa?: string | null, note?: string | null) { 7 | this.name = name; 8 | 9 | if (visa) { 10 | this.visa = visa; 11 | } 12 | 13 | if (note) { 14 | this.note = note; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nomad-couple-scraper", 3 | "version": "1.0.0", 4 | "description": "Wikipedia scraper for Nomad Couple website's data", 5 | "main": "index.js", 6 | "scripts": { 7 | "prescrape": "rm -rf dist && tsc", 8 | "tslint": "tslint -c tslint.json -p tsconfig.json", 9 | "scrape": "node dist/index.js" 10 | }, 11 | "author": "Vinay Gopinath ", 12 | "license": "MIT", 13 | "private": true, 14 | "dependencies": { 15 | "bluebird": "^3.5.1", 16 | "nightmare": "^3.0.1" 17 | }, 18 | "devDependencies": { 19 | "@types/bluebird": "^3.5.20", 20 | "@types/nightmare": "^2.10.3", 21 | "tslint": "^5.10.0", 22 | "typescript": "^2.8.3" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "es6", 5 | "noImplicitAny": true, 6 | "strict": true, 7 | "moduleResolution": "node", 8 | "sourceMap": true, 9 | "outDir": "dist", 10 | "removeComments": true, 11 | "baseUrl": ".", 12 | "lib": [ 13 | "dom", 14 | "dom.iterable", 15 | "es2017" 16 | ], 17 | "paths": { 18 | "*": [ 19 | "node_modules/*" 20 | ] 21 | } 22 | }, 23 | "include": [ 24 | "**/*" 25 | ], 26 | "exclude": [ 27 | "node_modules" 28 | ] 29 | } -------------------------------------------------------------------------------- /tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "tslint:latest", 3 | "rules": { 4 | "array-type": [ 5 | true, 6 | "array" 7 | ], 8 | "arrow-return-shorthand": true, 9 | "class-name": true, 10 | "curly": true, 11 | "import-spacing": true, 12 | "indent": { 13 | "options": [ 14 | "spaces", 15 | 2 16 | ], 17 | "severity": "warning" 18 | }, 19 | "interface-name": true, 20 | "linebreak-style": [ 21 | false, 22 | "LF" 23 | ], 24 | "max-classes-per-file": { 25 | "options": 1, 26 | "severity": "warning" 27 | }, 28 | "max-file-line-count": { 29 | "options": 3000, 30 | "severity": "warning" 31 | }, 32 | "max-line-length": { 33 | "options": 200, 34 | "severity": "warning" 35 | }, 36 | "member-access": [ 37 | true, 38 | "no-public" 39 | ], 40 | "member-ordering": [ 41 | true, 42 | { 43 | "order": [ 44 | "static-field", 45 | "instance-field", 46 | "constructor", 47 | "public-instance-method", 48 | "protected-instance-method", 49 | "private-instance-method" 50 | ] 51 | } 52 | ], 53 | "new-parens": true, 54 | "newline-before-return": true, 55 | "no-angle-bracket-type-assertion": false, 56 | "no-boolean-literal-compare": true, 57 | "no-consecutive-blank-lines": [ 58 | true, 59 | 1 60 | ], 61 | "no-console": { 62 | "options": "log", 63 | "severity": "warning" 64 | }, 65 | "no-construct": true, 66 | "no-default-export": { 67 | "severity": "warning" 68 | }, 69 | "no-duplicate-imports": true, 70 | "no-duplicate-variable": true, 71 | "no-empty": true, 72 | "no-empty-interface": true, 73 | "no-eval": true, 74 | "no-implicit-dependencies": false, 75 | "no-invalid-template-strings": true, 76 | "no-invalid-this": true, 77 | "no-irregular-whitespace": { 78 | "severity": "warning" 79 | }, 80 | "no-mergeable-namespace": true, 81 | "no-misused-new": true, 82 | "no-shadowed-variable": true, 83 | "no-sparse-arrays": true, 84 | "no-string-literal": { 85 | "options": true, 86 | "severity": "warning" 87 | }, 88 | "no-string-throw": true, 89 | "no-submodule-imports": false, 90 | "no-switch-case-fall-through": true, 91 | "no-unbound-method": true, 92 | "no-unnecessary-initializer": true, 93 | "no-unnecessary-type-assertion": true, 94 | "no-unsafe-finally": true, 95 | "no-unused-expression": [ 96 | true, 97 | "allow-fast-null-checks", 98 | "allow-new" 99 | ], 100 | "no-unused-variable": [ 101 | true, 102 | "check-parameters" 103 | ], 104 | "no-use-before-declare": true, 105 | "no-var-keyword": true, 106 | "no-var-requires": false, 107 | "no-void-expression": [ 108 | true, 109 | "ignore-arrow-function-shorthand" 110 | ], 111 | "object-literal-key-quotes": [ 112 | true, 113 | "as-needed" 114 | ], 115 | "object-literal-sort-keys": false, 116 | "one-variable-per-declaration": [ 117 | true, 118 | "ignore-for-loop" 119 | ], 120 | "prefer-conditional-expression": true, 121 | "prefer-const": true, 122 | "prefer-template": [ 123 | true, 124 | "allow-single-concat" 125 | ], 126 | "quotemark": { 127 | "options": "single", 128 | "severity": "warning" 129 | }, 130 | "radix": { 131 | "severity": "warning" 132 | }, 133 | "restrict-plus-operands": true, 134 | "semicolon": { 135 | "options": "always", 136 | "severity": "warning" 137 | }, 138 | "trailing-comma": [ 139 | true, 140 | { 141 | "multiline": "never", 142 | "singleline": "never" 143 | } 144 | ], 145 | "triple-equals": [ 146 | true, 147 | "allow-null-check", 148 | "allow-undefined-check" 149 | ], 150 | "variable-name": [ 151 | true, 152 | "check-format", 153 | "allow-leading-underscore", 154 | "ban-keywords" 155 | ], 156 | "whitespace": [ 157 | true, 158 | "check-branch", 159 | "check-decl", 160 | "check-operator", 161 | "check-module", 162 | "check-separator", 163 | "check-type", 164 | "check-preblock" 165 | ] 166 | } 167 | } -------------------------------------------------------------------------------- /utils/file.ts: -------------------------------------------------------------------------------- 1 | const BluebirdPromise = require('bluebird'); // tslint:disable-line 2 | import * as path from 'path'; 3 | import { CountryData } from '../models/country-data'; 4 | const writeFileAsync: (countryFilePath: string, countryDataStr: string) => Promise = BluebirdPromise.promisify(require('fs').writeFile); 5 | const mkdirAsync: (folderName: string) => Promise = BluebirdPromise.promisify(require('fs').mkdir); 6 | 7 | export class FileUtil { 8 | 9 | static writeToFile(country: string, countryData: CountryData): Promise { 10 | 11 | return writeFileAsync(path.join(__dirname, '../output', `${country.toLowerCase()}.json`), JSON.stringify(countryData, null, 2)) 12 | .catch(() => { 13 | console.error(`Error writing to file. Will attempt to create directory`); 14 | 15 | return mkdirAsync(path.join(__dirname, '../output')) 16 | .then( 17 | () => { 18 | console.info('Directory created. Reattempting write to file'); 19 | 20 | return this.writeToFile(country, countryData); 21 | }, 22 | () => console.error(`Error creating directory ${path.join(__dirname, '../output')}`) 23 | ); 24 | }); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /utils/wiki.js: -------------------------------------------------------------------------------- 1 | const VISA_REQUIREMENT = { 2 | REQUIRED: 'required', 3 | NOT_REQUIRED: 'not-required', 4 | EVISA: 'evisa', 5 | ON_ARRIVAL: 'on-arrival', 6 | REFUSED: 'refused', 7 | UNKNOWN: 'unknown' 8 | }; 9 | 10 | const removeBrackets = function(input) { 11 | return input.replace(/\[.*?\]/g, ''); 12 | }; 13 | 14 | const VISA_NOT_REQUIRED = ['visa not required', 'freedom of movement', 'notrequired', 'freedom of movement', 'reciprocity fee', 'visa is not required']; 15 | const EVISA = ['evisa', 'etourist visa', 'electronic travel', 'evisitor', 'online visitor', 'electronic entry visa', 'electronic visa', 'electronic visa waiver', 'electronic visitor e600 visa', 'electronic authorization', 'e600visa']; 16 | const VISA_ON_ARRIVAL = ['visa on arrival', 'visitor\'s permit on arrival', 'permit on arrival', 'tourist card on arrival', 'visa is granted on arrival']; 17 | const VISA_REFUSED = ['visa refused', 'admission refused', 'invalid passport', 'travel banned']; 18 | const VISA_REQUIRED = ['visa required', 'tourist card required', 'visa de facto required', 'with home return permit only', 'admission partially refused / partially allowed', 'entry clearance required', 'special authorization required', 'visa is required', 'special provisions', 'visa for italy required', 'disputed']; 19 | 20 | //Uncommon terms to be checked when all other matches fail 21 | //Checking these terms after others reduces the likelihood of false positives 22 | const RARE_EVISA = ['eta']; 23 | 24 | module.exports = { 25 | VISA_REQUIREMENT, 26 | capitalize: function(country) { 27 | return country[0].toUpperCase() + country.slice(1); 28 | }, 29 | removeBrackets, 30 | getVisaRequirement: function(rawWikiText) { 31 | if (!rawWikiText || !rawWikiText.trim()) { 32 | throw new Error('Visa requirement text is missing'); 33 | } 34 | //Remove square brackets, trim whitespace and convert to lowercase 35 | let reqText = removeBrackets(rawWikiText).trim().toLowerCase().replace(/-/g, ''); 36 | 37 | if (VISA_REFUSED.some(visaRefusedStr => reqText.includes(visaRefusedStr))) { 38 | return VISA_REQUIREMENT.REFUSED; 39 | } 40 | if (VISA_NOT_REQUIRED.some(visaNotReqStr => reqText.includes(visaNotReqStr))) { 41 | return VISA_REQUIREMENT.NOT_REQUIRED; 42 | } 43 | if (VISA_ON_ARRIVAL.some(visaOnArrStr => reqText.includes(visaOnArrStr))) { 44 | return VISA_REQUIREMENT.ON_ARRIVAL; 45 | } 46 | if (EVISA.some(evisaStr => reqText.includes(evisaStr))) { 47 | return VISA_REQUIREMENT.EVISA; 48 | } 49 | if (VISA_REQUIRED.some(visaReqStr => reqText.includes(visaReqStr))) { 50 | return VISA_REQUIREMENT.REQUIRED; 51 | } 52 | if (RARE_EVISA.some(evisaStr => reqText.includes(evisaStr))) { 53 | return VISA_REQUIREMENT.EVISA; 54 | } 55 | return VISA_REQUIREMENT.UNKNOWN; 56 | } 57 | }; 58 | -------------------------------------------------------------------------------- /utils/wiki.ts: -------------------------------------------------------------------------------- 1 | const nightmare = require('nightmare'); 2 | import { CountryData } from '../models/country-data'; 3 | import { CountryOutput } from '../models/country-output'; 4 | 5 | export enum VisaRequirement { 6 | REQUIRED = 'required', 7 | NOT_REQUIRED = 'not-required', 8 | EVISA = 'evisa', 9 | ON_ARRIVAL = 'on-arrival', 10 | REFUSED = 'refused', 11 | UNKNOWN = 'unknown' 12 | } 13 | 14 | export class WikiUtil { 15 | 16 | private static VISA_NOT_REQUIRED = ['visa not required', 'freedom of movement', 'notrequired', 'freedom of movement', 'reciprocity fee', 'visa is not required', 'visa waiver program']; 17 | private static EVISA = ['evisa', 'etourist visa', 'electronic travel', 'evisitor', 'online visitor', 'electronic entry visa', 'electronic visa', 18 | 'electronic visa waiver', 'electronic visitor e600 visa', 'electronic authorization', 'e600visa']; 19 | private static VISA_ON_ARRIVAL = ['visa on arrival', 'visitor\'s permit on arrival', 'permit on arrival', 'tourist card on arrival', 'visa is granted on arrival', 20 | 'visitor\'s permit is granted on arrival']; 21 | private static VISA_REFUSED = ['visa refused', 'admission refused', 'invalid passport', 'travel banned', 'travel restricted']; 22 | private static VISA_REQUIRED = ['visa required', 'tourist card required', 'visa de facto required', 'with home return permit only', 'admission partially refused / partially allowed', 23 | 'entry clearance required', 'special authorization required', 'visa is required', 'special provisions', 'visa for italy required', 'disputed', 'travel certificate required', 24 | 'particular visit regime']; 25 | 26 | // Uncommon terms to be checked when all other matches fail 27 | // Checking these terms after others reduces the likelihood of false positives 28 | private static RARE_EVISA = ['eta']; 29 | 30 | static camelCaseVisaRequirement(visaRequirement: VisaRequirement | string): 'required' | 'notRequired' | 'evisa' | 'onArrival' | 'refused' | 'unknown' { 31 | switch (visaRequirement) { 32 | case VisaRequirement.NOT_REQUIRED: 33 | return 'notRequired'; 34 | 35 | case VisaRequirement.ON_ARRIVAL: 36 | return 'onArrival'; 37 | 38 | case VisaRequirement.EVISA: 39 | case VisaRequirement.REFUSED: 40 | case VisaRequirement.UNKNOWN: 41 | case VisaRequirement.REQUIRED: 42 | return visaRequirement; 43 | 44 | default: 45 | throw new Error(`Unexpected visa requirement type "${visaRequirement}"`); 46 | } 47 | } 48 | 49 | static capitalize(country: string): string { 50 | return `${country[0].toUpperCase()}${country.slice(1)}`; 51 | } 52 | 53 | static removeBrackets(input: string): string { 54 | return input.replace(/\[.*?\]/g, ''); 55 | } 56 | 57 | static getVisaRequirement(rawWikiText: string | null | undefined): VisaRequirement { 58 | if (!rawWikiText || !rawWikiText.trim()) { 59 | throw new Error('Visa requirement text is missing'); 60 | } 61 | // Remove square brackets, trim whitespace and convert to lowercase 62 | const reqText = this.removeBrackets(rawWikiText).trim().toLowerCase().replace(/-/g, ''); 63 | 64 | if (WikiUtil.VISA_REFUSED.some((visaRefusedStr: string) => reqText.includes(visaRefusedStr))) { 65 | return VisaRequirement.REFUSED; 66 | } 67 | 68 | if (WikiUtil.VISA_NOT_REQUIRED.some((visaNotReqStr: string) => reqText.includes(visaNotReqStr))) { 69 | return VisaRequirement.NOT_REQUIRED; 70 | } 71 | 72 | if (WikiUtil.VISA_ON_ARRIVAL.some((visaOnArrStr: string) => reqText.includes(visaOnArrStr))) { 73 | return VisaRequirement.ON_ARRIVAL; 74 | } 75 | 76 | if (WikiUtil.EVISA.some((evisaStr: string) => reqText.includes(evisaStr))) { 77 | return VisaRequirement.EVISA; 78 | } 79 | 80 | if (WikiUtil.VISA_REQUIRED.some((visaReqStr: string) => reqText.includes(visaReqStr))) { 81 | return VisaRequirement.REQUIRED; 82 | } 83 | 84 | if (WikiUtil.RARE_EVISA.some((evisaStr: string) => reqText.includes(evisaStr))) { 85 | return VisaRequirement.EVISA; 86 | } 87 | 88 | return VisaRequirement.UNKNOWN; 89 | } 90 | 91 | static scrapeCountryData(country: string): Promise { 92 | if (!country) { 93 | return Promise.reject(new TypeError('Undefined country')); 94 | } 95 | 96 | return new Promise((resolve, reject) => { 97 | const wikiUrl = `http://en.wikipedia.org/wiki/Visa_requirements_for_${WikiUtil.capitalize(country)}_citizens`; 98 | 99 | nightmare({ 100 | Promise: require('bluebird') 101 | }) 102 | .goto(wikiUrl) 103 | .wait('table.sortable.wikitable tbody tr') 104 | .on('console', (type: string, args: any) => { 105 | if (type === 'log') { 106 | console.log(args); // tslint:disable-line 107 | } else if (type === 'error') { 108 | console.error(args); 109 | } 110 | }) 111 | .evaluate(() => { 112 | const wikiTable = document.querySelector('table.sortable.wikitable'); 113 | if (!wikiTable) { 114 | throw new Error(`Could not find a visa requirements table in the Wiki page for ${country}\nURL = ${wikiUrl}`); 115 | } 116 | const trArr = wikiTable.querySelectorAll('tbody tr'); 117 | const countries = []; 118 | for (const tr of trArr) { 119 | const tdArr = tr.getElementsByTagName('td'); 120 | if (!tdArr) { 121 | console.error(new Error('Invalid table structure - Table row does not have elements')); 122 | continue; 123 | } 124 | if (tdArr.length < 2) { 125 | console.error(new Error('Invalid table structure - Table row has less than two elements')); 126 | continue; 127 | } 128 | const countryTitle = tdArr[0].getElementsByTagName('a')[0].title; 129 | const visaRequirement = tdArr[1].textContent; 130 | let note: string | null = null; 131 | if (tdArr.length > 2) { 132 | note = tdArr[2].textContent; 133 | } 134 | const countryJSON: { name: string, visa: string | null, note: string | null } = { 135 | name: countryTitle, 136 | visa: visaRequirement as string, 137 | note 138 | }; 139 | countries.push(countryJSON); 140 | } 141 | 142 | return countries; 143 | }) 144 | .end() 145 | .then((countries: CountryOutput[]) => { 146 | if (!countries || !countries.length) { 147 | reject(new Error('Unable to fetch Wikipedia table rows for ' + country)); 148 | 149 | return; 150 | } 151 | 152 | const countryData: CountryData = new CountryData([], [], [], [], [], []); 153 | 154 | for (const rawCountry of countries) { 155 | const countryOutput: CountryOutput = new CountryOutput(rawCountry.name); 156 | if (rawCountry.note) { 157 | countryOutput.note = WikiUtil.removeBrackets(rawCountry.note); 158 | } 159 | try { 160 | const visaRequirement = WikiUtil.getVisaRequirement(rawCountry.visa); 161 | if (visaRequirement === VisaRequirement.UNKNOWN) { 162 | countryOutput.visa = rawCountry.visa; 163 | } 164 | countryData[WikiUtil.camelCaseVisaRequirement(visaRequirement)].push(countryOutput); 165 | } catch (err) { 166 | console.warn(`Invalid visa requirement for ${rawCountry.name}: "${rawCountry.visa}"`); 167 | } 168 | resolve(countryData); 169 | } 170 | }, (err: Error) => { 171 | console.error('Unknown error'); 172 | console.dir(err); 173 | reject(err); 174 | }); 175 | }); 176 | } 177 | } 178 | --------------------------------------------------------------------------------