diff options
-rw-r--r-- | cpanfile | 4 | ||||
-rw-r--r-- | cpanfile.snapshot | 701 | ||||
-rwxr-xr-x | lib/Travelynx.pm | 5 | ||||
-rw-r--r-- | lib/Travelynx/Command/work.pm | 15 | ||||
-rwxr-xr-x | lib/Travelynx/Controller/Api.pm | 12 | ||||
-rw-r--r-- | lib/Travelynx/Model/InTransit.pm | 32 | ||||
-rw-r--r-- | templates/api_documentation.html.ep | 9 |
7 files changed, 401 insertions, 377 deletions
@@ -17,8 +17,8 @@ requires 'Mojolicious::Plugin::OAuth2'; requires 'Mojo::Pg'; requires 'Text::CSV'; requires 'Text::Markdown'; -requires 'Travel::Status::DE::DBRIS', '>= 0.07'; -requires 'Travel::Status::DE::HAFAS', '>= 5.03'; +requires 'Travel::Status::DE::DBRIS', '>= 0.08'; +requires 'Travel::Status::DE::HAFAS', '>= 6.20'; requires 'Travel::Status::DE::IRIS'; requires 'UUID::Tiny'; requires 'JSON'; diff --git a/cpanfile.snapshot b/cpanfile.snapshot index 06f2563..cbcbad2 100644 --- a/cpanfile.snapshot +++ b/cpanfile.snapshot @@ -586,334 +586,335 @@ DISTRIBUTIONS perl 5.008004 strict 0 warnings 0 - DateTime-TimeZone-2.64 - pathname: D/DR/DROLSKY/DateTime-TimeZone-2.64.tar.gz - provides: - DateTime::TimeZone 2.64 - DateTime::TimeZone::Africa::Abidjan 2.64 - DateTime::TimeZone::Africa::Algiers 2.64 - DateTime::TimeZone::Africa::Bissau 2.64 - DateTime::TimeZone::Africa::Cairo 2.64 - DateTime::TimeZone::Africa::Casablanca 2.64 - DateTime::TimeZone::Africa::Ceuta 2.64 - DateTime::TimeZone::Africa::El_Aaiun 2.64 - DateTime::TimeZone::Africa::Johannesburg 2.64 - DateTime::TimeZone::Africa::Juba 2.64 - DateTime::TimeZone::Africa::Khartoum 2.64 - DateTime::TimeZone::Africa::Lagos 2.64 - DateTime::TimeZone::Africa::Maputo 2.64 - DateTime::TimeZone::Africa::Monrovia 2.64 - DateTime::TimeZone::Africa::Nairobi 2.64 - DateTime::TimeZone::Africa::Ndjamena 2.64 - DateTime::TimeZone::Africa::Sao_Tome 2.64 - DateTime::TimeZone::Africa::Tripoli 2.64 - DateTime::TimeZone::Africa::Tunis 2.64 - DateTime::TimeZone::Africa::Windhoek 2.64 - DateTime::TimeZone::America::Adak 2.64 - DateTime::TimeZone::America::Anchorage 2.64 - DateTime::TimeZone::America::Araguaina 2.64 - DateTime::TimeZone::America::Argentina::Buenos_Aires 2.64 - DateTime::TimeZone::America::Argentina::Catamarca 2.64 - DateTime::TimeZone::America::Argentina::Cordoba 2.64 - DateTime::TimeZone::America::Argentina::Jujuy 2.64 - DateTime::TimeZone::America::Argentina::La_Rioja 2.64 - DateTime::TimeZone::America::Argentina::Mendoza 2.64 - DateTime::TimeZone::America::Argentina::Rio_Gallegos 2.64 - DateTime::TimeZone::America::Argentina::Salta 2.64 - DateTime::TimeZone::America::Argentina::San_Juan 2.64 - DateTime::TimeZone::America::Argentina::San_Luis 2.64 - DateTime::TimeZone::America::Argentina::Tucuman 2.64 - DateTime::TimeZone::America::Argentina::Ushuaia 2.64 - DateTime::TimeZone::America::Asuncion 2.64 - DateTime::TimeZone::America::Bahia 2.64 - DateTime::TimeZone::America::Bahia_Banderas 2.64 - DateTime::TimeZone::America::Barbados 2.64 - DateTime::TimeZone::America::Belem 2.64 - DateTime::TimeZone::America::Belize 2.64 - DateTime::TimeZone::America::Boa_Vista 2.64 - DateTime::TimeZone::America::Bogota 2.64 - DateTime::TimeZone::America::Boise 2.64 - DateTime::TimeZone::America::Cambridge_Bay 2.64 - DateTime::TimeZone::America::Campo_Grande 2.64 - DateTime::TimeZone::America::Cancun 2.64 - DateTime::TimeZone::America::Caracas 2.64 - DateTime::TimeZone::America::Cayenne 2.64 - DateTime::TimeZone::America::Chicago 2.64 - DateTime::TimeZone::America::Chihuahua 2.64 - DateTime::TimeZone::America::Ciudad_Juarez 2.64 - DateTime::TimeZone::America::Costa_Rica 2.64 - DateTime::TimeZone::America::Cuiaba 2.64 - DateTime::TimeZone::America::Danmarkshavn 2.64 - DateTime::TimeZone::America::Dawson 2.64 - DateTime::TimeZone::America::Dawson_Creek 2.64 - DateTime::TimeZone::America::Denver 2.64 - DateTime::TimeZone::America::Detroit 2.64 - DateTime::TimeZone::America::Edmonton 2.64 - DateTime::TimeZone::America::Eirunepe 2.64 - DateTime::TimeZone::America::El_Salvador 2.64 - DateTime::TimeZone::America::Fort_Nelson 2.64 - DateTime::TimeZone::America::Fortaleza 2.64 - DateTime::TimeZone::America::Glace_Bay 2.64 - DateTime::TimeZone::America::Goose_Bay 2.64 - DateTime::TimeZone::America::Grand_Turk 2.64 - DateTime::TimeZone::America::Guatemala 2.64 - DateTime::TimeZone::America::Guayaquil 2.64 - DateTime::TimeZone::America::Guyana 2.64 - DateTime::TimeZone::America::Halifax 2.64 - DateTime::TimeZone::America::Havana 2.64 - DateTime::TimeZone::America::Hermosillo 2.64 - DateTime::TimeZone::America::Indiana::Indianapolis 2.64 - DateTime::TimeZone::America::Indiana::Knox 2.64 - DateTime::TimeZone::America::Indiana::Marengo 2.64 - DateTime::TimeZone::America::Indiana::Petersburg 2.64 - DateTime::TimeZone::America::Indiana::Tell_City 2.64 - DateTime::TimeZone::America::Indiana::Vevay 2.64 - DateTime::TimeZone::America::Indiana::Vincennes 2.64 - DateTime::TimeZone::America::Indiana::Winamac 2.64 - DateTime::TimeZone::America::Inuvik 2.64 - DateTime::TimeZone::America::Iqaluit 2.64 - DateTime::TimeZone::America::Jamaica 2.64 - DateTime::TimeZone::America::Juneau 2.64 - DateTime::TimeZone::America::Kentucky::Louisville 2.64 - DateTime::TimeZone::America::Kentucky::Monticello 2.64 - DateTime::TimeZone::America::La_Paz 2.64 - DateTime::TimeZone::America::Lima 2.64 - DateTime::TimeZone::America::Los_Angeles 2.64 - DateTime::TimeZone::America::Maceio 2.64 - DateTime::TimeZone::America::Managua 2.64 - DateTime::TimeZone::America::Manaus 2.64 - DateTime::TimeZone::America::Martinique 2.64 - DateTime::TimeZone::America::Matamoros 2.64 - DateTime::TimeZone::America::Mazatlan 2.64 - DateTime::TimeZone::America::Menominee 2.64 - DateTime::TimeZone::America::Merida 2.64 - DateTime::TimeZone::America::Metlakatla 2.64 - DateTime::TimeZone::America::Mexico_City 2.64 - DateTime::TimeZone::America::Miquelon 2.64 - DateTime::TimeZone::America::Moncton 2.64 - DateTime::TimeZone::America::Monterrey 2.64 - DateTime::TimeZone::America::Montevideo 2.64 - DateTime::TimeZone::America::New_York 2.64 - DateTime::TimeZone::America::Nome 2.64 - DateTime::TimeZone::America::Noronha 2.64 - DateTime::TimeZone::America::North_Dakota::Beulah 2.64 - DateTime::TimeZone::America::North_Dakota::Center 2.64 - DateTime::TimeZone::America::North_Dakota::New_Salem 2.64 - DateTime::TimeZone::America::Nuuk 2.64 - DateTime::TimeZone::America::Ojinaga 2.64 - DateTime::TimeZone::America::Panama 2.64 - DateTime::TimeZone::America::Paramaribo 2.64 - DateTime::TimeZone::America::Phoenix 2.64 - DateTime::TimeZone::America::Port_au_Prince 2.64 - DateTime::TimeZone::America::Porto_Velho 2.64 - DateTime::TimeZone::America::Puerto_Rico 2.64 - DateTime::TimeZone::America::Punta_Arenas 2.64 - DateTime::TimeZone::America::Rankin_Inlet 2.64 - DateTime::TimeZone::America::Recife 2.64 - DateTime::TimeZone::America::Regina 2.64 - DateTime::TimeZone::America::Resolute 2.64 - DateTime::TimeZone::America::Rio_Branco 2.64 - DateTime::TimeZone::America::Santarem 2.64 - DateTime::TimeZone::America::Santiago 2.64 - DateTime::TimeZone::America::Santo_Domingo 2.64 - DateTime::TimeZone::America::Sao_Paulo 2.64 - DateTime::TimeZone::America::Scoresbysund 2.64 - DateTime::TimeZone::America::Sitka 2.64 - DateTime::TimeZone::America::St_Johns 2.64 - DateTime::TimeZone::America::Swift_Current 2.64 - DateTime::TimeZone::America::Tegucigalpa 2.64 - DateTime::TimeZone::America::Thule 2.64 - DateTime::TimeZone::America::Tijuana 2.64 - DateTime::TimeZone::America::Toronto 2.64 - DateTime::TimeZone::America::Vancouver 2.64 - DateTime::TimeZone::America::Whitehorse 2.64 - DateTime::TimeZone::America::Winnipeg 2.64 - DateTime::TimeZone::America::Yakutat 2.64 - DateTime::TimeZone::Antarctica::Casey 2.64 - DateTime::TimeZone::Antarctica::Davis 2.64 - DateTime::TimeZone::Antarctica::Macquarie 2.64 - DateTime::TimeZone::Antarctica::Mawson 2.64 - DateTime::TimeZone::Antarctica::Palmer 2.64 - DateTime::TimeZone::Antarctica::Rothera 2.64 - DateTime::TimeZone::Antarctica::Troll 2.64 - DateTime::TimeZone::Antarctica::Vostok 2.64 - DateTime::TimeZone::Asia::Almaty 2.64 - DateTime::TimeZone::Asia::Amman 2.64 - DateTime::TimeZone::Asia::Anadyr 2.64 - DateTime::TimeZone::Asia::Aqtau 2.64 - DateTime::TimeZone::Asia::Aqtobe 2.64 - DateTime::TimeZone::Asia::Ashgabat 2.64 - DateTime::TimeZone::Asia::Atyrau 2.64 - DateTime::TimeZone::Asia::Baghdad 2.64 - DateTime::TimeZone::Asia::Baku 2.64 - DateTime::TimeZone::Asia::Bangkok 2.64 - DateTime::TimeZone::Asia::Barnaul 2.64 - DateTime::TimeZone::Asia::Beirut 2.64 - DateTime::TimeZone::Asia::Bishkek 2.64 - DateTime::TimeZone::Asia::Chita 2.64 - DateTime::TimeZone::Asia::Colombo 2.64 - DateTime::TimeZone::Asia::Damascus 2.64 - DateTime::TimeZone::Asia::Dhaka 2.64 - DateTime::TimeZone::Asia::Dili 2.64 - DateTime::TimeZone::Asia::Dubai 2.64 - DateTime::TimeZone::Asia::Dushanbe 2.64 - DateTime::TimeZone::Asia::Famagusta 2.64 - DateTime::TimeZone::Asia::Gaza 2.64 - DateTime::TimeZone::Asia::Hebron 2.64 - DateTime::TimeZone::Asia::Ho_Chi_Minh 2.64 - DateTime::TimeZone::Asia::Hong_Kong 2.64 - DateTime::TimeZone::Asia::Hovd 2.64 - DateTime::TimeZone::Asia::Irkutsk 2.64 - DateTime::TimeZone::Asia::Jakarta 2.64 - DateTime::TimeZone::Asia::Jayapura 2.64 - DateTime::TimeZone::Asia::Jerusalem 2.64 - DateTime::TimeZone::Asia::Kabul 2.64 - DateTime::TimeZone::Asia::Kamchatka 2.64 - DateTime::TimeZone::Asia::Karachi 2.64 - DateTime::TimeZone::Asia::Kathmandu 2.64 - DateTime::TimeZone::Asia::Khandyga 2.64 - DateTime::TimeZone::Asia::Kolkata 2.64 - DateTime::TimeZone::Asia::Krasnoyarsk 2.64 - DateTime::TimeZone::Asia::Kuching 2.64 - DateTime::TimeZone::Asia::Macau 2.64 - DateTime::TimeZone::Asia::Magadan 2.64 - DateTime::TimeZone::Asia::Makassar 2.64 - DateTime::TimeZone::Asia::Manila 2.64 - DateTime::TimeZone::Asia::Nicosia 2.64 - DateTime::TimeZone::Asia::Novokuznetsk 2.64 - DateTime::TimeZone::Asia::Novosibirsk 2.64 - DateTime::TimeZone::Asia::Omsk 2.64 - DateTime::TimeZone::Asia::Oral 2.64 - DateTime::TimeZone::Asia::Pontianak 2.64 - DateTime::TimeZone::Asia::Pyongyang 2.64 - DateTime::TimeZone::Asia::Qatar 2.64 - DateTime::TimeZone::Asia::Qostanay 2.64 - DateTime::TimeZone::Asia::Qyzylorda 2.64 - DateTime::TimeZone::Asia::Riyadh 2.64 - DateTime::TimeZone::Asia::Sakhalin 2.64 - DateTime::TimeZone::Asia::Samarkand 2.64 - DateTime::TimeZone::Asia::Seoul 2.64 - DateTime::TimeZone::Asia::Shanghai 2.64 - DateTime::TimeZone::Asia::Singapore 2.64 - DateTime::TimeZone::Asia::Srednekolymsk 2.64 - DateTime::TimeZone::Asia::Taipei 2.64 - DateTime::TimeZone::Asia::Tashkent 2.64 - DateTime::TimeZone::Asia::Tbilisi 2.64 - DateTime::TimeZone::Asia::Tehran 2.64 - DateTime::TimeZone::Asia::Thimphu 2.64 - DateTime::TimeZone::Asia::Tokyo 2.64 - DateTime::TimeZone::Asia::Tomsk 2.64 - DateTime::TimeZone::Asia::Ulaanbaatar 2.64 - DateTime::TimeZone::Asia::Urumqi 2.64 - DateTime::TimeZone::Asia::Ust_Nera 2.64 - DateTime::TimeZone::Asia::Vladivostok 2.64 - DateTime::TimeZone::Asia::Yakutsk 2.64 - DateTime::TimeZone::Asia::Yangon 2.64 - DateTime::TimeZone::Asia::Yekaterinburg 2.64 - DateTime::TimeZone::Asia::Yerevan 2.64 - DateTime::TimeZone::Atlantic::Azores 2.64 - DateTime::TimeZone::Atlantic::Bermuda 2.64 - DateTime::TimeZone::Atlantic::Canary 2.64 - DateTime::TimeZone::Atlantic::Cape_Verde 2.64 - DateTime::TimeZone::Atlantic::Faroe 2.64 - DateTime::TimeZone::Atlantic::Madeira 2.64 - DateTime::TimeZone::Atlantic::South_Georgia 2.64 - DateTime::TimeZone::Atlantic::Stanley 2.64 - DateTime::TimeZone::Australia::Adelaide 2.64 - DateTime::TimeZone::Australia::Brisbane 2.64 - DateTime::TimeZone::Australia::Broken_Hill 2.64 - DateTime::TimeZone::Australia::Darwin 2.64 - DateTime::TimeZone::Australia::Eucla 2.64 - DateTime::TimeZone::Australia::Hobart 2.64 - DateTime::TimeZone::Australia::Lindeman 2.64 - DateTime::TimeZone::Australia::Lord_Howe 2.64 - DateTime::TimeZone::Australia::Melbourne 2.64 - DateTime::TimeZone::Australia::Perth 2.64 - DateTime::TimeZone::Australia::Sydney 2.64 - DateTime::TimeZone::Catalog 2.64 - DateTime::TimeZone::Europe::Andorra 2.64 - DateTime::TimeZone::Europe::Astrakhan 2.64 - DateTime::TimeZone::Europe::Athens 2.64 - DateTime::TimeZone::Europe::Belgrade 2.64 - DateTime::TimeZone::Europe::Berlin 2.64 - DateTime::TimeZone::Europe::Brussels 2.64 - DateTime::TimeZone::Europe::Bucharest 2.64 - DateTime::TimeZone::Europe::Budapest 2.64 - DateTime::TimeZone::Europe::Chisinau 2.64 - DateTime::TimeZone::Europe::Dublin 2.64 - DateTime::TimeZone::Europe::Gibraltar 2.64 - DateTime::TimeZone::Europe::Helsinki 2.64 - DateTime::TimeZone::Europe::Istanbul 2.64 - DateTime::TimeZone::Europe::Kaliningrad 2.64 - DateTime::TimeZone::Europe::Kirov 2.64 - DateTime::TimeZone::Europe::Kyiv 2.64 - DateTime::TimeZone::Europe::Lisbon 2.64 - DateTime::TimeZone::Europe::London 2.64 - DateTime::TimeZone::Europe::Madrid 2.64 - DateTime::TimeZone::Europe::Malta 2.64 - DateTime::TimeZone::Europe::Minsk 2.64 - DateTime::TimeZone::Europe::Moscow 2.64 - DateTime::TimeZone::Europe::Paris 2.64 - DateTime::TimeZone::Europe::Prague 2.64 - DateTime::TimeZone::Europe::Riga 2.64 - DateTime::TimeZone::Europe::Rome 2.64 - DateTime::TimeZone::Europe::Samara 2.64 - DateTime::TimeZone::Europe::Saratov 2.64 - DateTime::TimeZone::Europe::Simferopol 2.64 - DateTime::TimeZone::Europe::Sofia 2.64 - DateTime::TimeZone::Europe::Tallinn 2.64 - DateTime::TimeZone::Europe::Tirane 2.64 - DateTime::TimeZone::Europe::Ulyanovsk 2.64 - DateTime::TimeZone::Europe::Vienna 2.64 - DateTime::TimeZone::Europe::Vilnius 2.64 - DateTime::TimeZone::Europe::Volgograd 2.64 - DateTime::TimeZone::Europe::Warsaw 2.64 - DateTime::TimeZone::Europe::Zurich 2.64 - DateTime::TimeZone::Floating 2.64 - DateTime::TimeZone::Indian::Chagos 2.64 - DateTime::TimeZone::Indian::Maldives 2.64 - DateTime::TimeZone::Indian::Mauritius 2.64 - DateTime::TimeZone::Local 2.64 - DateTime::TimeZone::Local::Android 2.64 - DateTime::TimeZone::Local::Unix 2.64 - DateTime::TimeZone::Local::VMS 2.64 - DateTime::TimeZone::OffsetOnly 2.64 - DateTime::TimeZone::OlsonDB 2.64 - DateTime::TimeZone::OlsonDB::Change 2.64 - DateTime::TimeZone::OlsonDB::Observance 2.64 - DateTime::TimeZone::OlsonDB::Rule 2.64 - DateTime::TimeZone::OlsonDB::Zone 2.64 - DateTime::TimeZone::Pacific::Apia 2.64 - DateTime::TimeZone::Pacific::Auckland 2.64 - DateTime::TimeZone::Pacific::Bougainville 2.64 - DateTime::TimeZone::Pacific::Chatham 2.64 - DateTime::TimeZone::Pacific::Easter 2.64 - DateTime::TimeZone::Pacific::Efate 2.64 - DateTime::TimeZone::Pacific::Fakaofo 2.64 - DateTime::TimeZone::Pacific::Fiji 2.64 - DateTime::TimeZone::Pacific::Galapagos 2.64 - DateTime::TimeZone::Pacific::Gambier 2.64 - DateTime::TimeZone::Pacific::Guadalcanal 2.64 - DateTime::TimeZone::Pacific::Guam 2.64 - DateTime::TimeZone::Pacific::Honolulu 2.64 - DateTime::TimeZone::Pacific::Kanton 2.64 - DateTime::TimeZone::Pacific::Kiritimati 2.64 - DateTime::TimeZone::Pacific::Kosrae 2.64 - DateTime::TimeZone::Pacific::Kwajalein 2.64 - DateTime::TimeZone::Pacific::Marquesas 2.64 - DateTime::TimeZone::Pacific::Nauru 2.64 - DateTime::TimeZone::Pacific::Niue 2.64 - DateTime::TimeZone::Pacific::Norfolk 2.64 - DateTime::TimeZone::Pacific::Noumea 2.64 - DateTime::TimeZone::Pacific::Pago_Pago 2.64 - DateTime::TimeZone::Pacific::Palau 2.64 - DateTime::TimeZone::Pacific::Pitcairn 2.64 - DateTime::TimeZone::Pacific::Port_Moresby 2.64 - DateTime::TimeZone::Pacific::Rarotonga 2.64 - DateTime::TimeZone::Pacific::Tahiti 2.64 - DateTime::TimeZone::Pacific::Tarawa 2.64 - DateTime::TimeZone::Pacific::Tongatapu 2.64 - DateTime::TimeZone::UTC 2.64 + DateTime-TimeZone-2.65 + pathname: D/DR/DROLSKY/DateTime-TimeZone-2.65.tar.gz + provides: + DateTime::TimeZone 2.65 + DateTime::TimeZone::Africa::Abidjan 2.65 + DateTime::TimeZone::Africa::Algiers 2.65 + DateTime::TimeZone::Africa::Bissau 2.65 + DateTime::TimeZone::Africa::Cairo 2.65 + DateTime::TimeZone::Africa::Casablanca 2.65 + DateTime::TimeZone::Africa::Ceuta 2.65 + DateTime::TimeZone::Africa::El_Aaiun 2.65 + DateTime::TimeZone::Africa::Johannesburg 2.65 + DateTime::TimeZone::Africa::Juba 2.65 + DateTime::TimeZone::Africa::Khartoum 2.65 + DateTime::TimeZone::Africa::Lagos 2.65 + DateTime::TimeZone::Africa::Maputo 2.65 + DateTime::TimeZone::Africa::Monrovia 2.65 + DateTime::TimeZone::Africa::Nairobi 2.65 + DateTime::TimeZone::Africa::Ndjamena 2.65 + DateTime::TimeZone::Africa::Sao_Tome 2.65 + DateTime::TimeZone::Africa::Tripoli 2.65 + DateTime::TimeZone::Africa::Tunis 2.65 + DateTime::TimeZone::Africa::Windhoek 2.65 + DateTime::TimeZone::America::Adak 2.65 + DateTime::TimeZone::America::Anchorage 2.65 + DateTime::TimeZone::America::Araguaina 2.65 + DateTime::TimeZone::America::Argentina::Buenos_Aires 2.65 + DateTime::TimeZone::America::Argentina::Catamarca 2.65 + DateTime::TimeZone::America::Argentina::Cordoba 2.65 + DateTime::TimeZone::America::Argentina::Jujuy 2.65 + DateTime::TimeZone::America::Argentina::La_Rioja 2.65 + DateTime::TimeZone::America::Argentina::Mendoza 2.65 + DateTime::TimeZone::America::Argentina::Rio_Gallegos 2.65 + DateTime::TimeZone::America::Argentina::Salta 2.65 + DateTime::TimeZone::America::Argentina::San_Juan 2.65 + DateTime::TimeZone::America::Argentina::San_Luis 2.65 + DateTime::TimeZone::America::Argentina::Tucuman 2.65 + DateTime::TimeZone::America::Argentina::Ushuaia 2.65 + DateTime::TimeZone::America::Asuncion 2.65 + DateTime::TimeZone::America::Bahia 2.65 + DateTime::TimeZone::America::Bahia_Banderas 2.65 + DateTime::TimeZone::America::Barbados 2.65 + DateTime::TimeZone::America::Belem 2.65 + DateTime::TimeZone::America::Belize 2.65 + DateTime::TimeZone::America::Boa_Vista 2.65 + DateTime::TimeZone::America::Bogota 2.65 + DateTime::TimeZone::America::Boise 2.65 + DateTime::TimeZone::America::Cambridge_Bay 2.65 + DateTime::TimeZone::America::Campo_Grande 2.65 + DateTime::TimeZone::America::Cancun 2.65 + DateTime::TimeZone::America::Caracas 2.65 + DateTime::TimeZone::America::Cayenne 2.65 + DateTime::TimeZone::America::Chicago 2.65 + DateTime::TimeZone::America::Chihuahua 2.65 + DateTime::TimeZone::America::Ciudad_Juarez 2.65 + DateTime::TimeZone::America::Costa_Rica 2.65 + DateTime::TimeZone::America::Coyhaique 2.65 + DateTime::TimeZone::America::Cuiaba 2.65 + DateTime::TimeZone::America::Danmarkshavn 2.65 + DateTime::TimeZone::America::Dawson 2.65 + DateTime::TimeZone::America::Dawson_Creek 2.65 + DateTime::TimeZone::America::Denver 2.65 + DateTime::TimeZone::America::Detroit 2.65 + DateTime::TimeZone::America::Edmonton 2.65 + DateTime::TimeZone::America::Eirunepe 2.65 + DateTime::TimeZone::America::El_Salvador 2.65 + DateTime::TimeZone::America::Fort_Nelson 2.65 + DateTime::TimeZone::America::Fortaleza 2.65 + DateTime::TimeZone::America::Glace_Bay 2.65 + DateTime::TimeZone::America::Goose_Bay 2.65 + DateTime::TimeZone::America::Grand_Turk 2.65 + DateTime::TimeZone::America::Guatemala 2.65 + DateTime::TimeZone::America::Guayaquil 2.65 + DateTime::TimeZone::America::Guyana 2.65 + DateTime::TimeZone::America::Halifax 2.65 + DateTime::TimeZone::America::Havana 2.65 + DateTime::TimeZone::America::Hermosillo 2.65 + DateTime::TimeZone::America::Indiana::Indianapolis 2.65 + DateTime::TimeZone::America::Indiana::Knox 2.65 + DateTime::TimeZone::America::Indiana::Marengo 2.65 + DateTime::TimeZone::America::Indiana::Petersburg 2.65 + DateTime::TimeZone::America::Indiana::Tell_City 2.65 + DateTime::TimeZone::America::Indiana::Vevay 2.65 + DateTime::TimeZone::America::Indiana::Vincennes 2.65 + DateTime::TimeZone::America::Indiana::Winamac 2.65 + DateTime::TimeZone::America::Inuvik 2.65 + DateTime::TimeZone::America::Iqaluit 2.65 + DateTime::TimeZone::America::Jamaica 2.65 + DateTime::TimeZone::America::Juneau 2.65 + DateTime::TimeZone::America::Kentucky::Louisville 2.65 + DateTime::TimeZone::America::Kentucky::Monticello 2.65 + DateTime::TimeZone::America::La_Paz 2.65 + DateTime::TimeZone::America::Lima 2.65 + DateTime::TimeZone::America::Los_Angeles 2.65 + DateTime::TimeZone::America::Maceio 2.65 + DateTime::TimeZone::America::Managua 2.65 + DateTime::TimeZone::America::Manaus 2.65 + DateTime::TimeZone::America::Martinique 2.65 + DateTime::TimeZone::America::Matamoros 2.65 + DateTime::TimeZone::America::Mazatlan 2.65 + DateTime::TimeZone::America::Menominee 2.65 + DateTime::TimeZone::America::Merida 2.65 + DateTime::TimeZone::America::Metlakatla 2.65 + DateTime::TimeZone::America::Mexico_City 2.65 + DateTime::TimeZone::America::Miquelon 2.65 + DateTime::TimeZone::America::Moncton 2.65 + DateTime::TimeZone::America::Monterrey 2.65 + DateTime::TimeZone::America::Montevideo 2.65 + DateTime::TimeZone::America::New_York 2.65 + DateTime::TimeZone::America::Nome 2.65 + DateTime::TimeZone::America::Noronha 2.65 + DateTime::TimeZone::America::North_Dakota::Beulah 2.65 + DateTime::TimeZone::America::North_Dakota::Center 2.65 + DateTime::TimeZone::America::North_Dakota::New_Salem 2.65 + DateTime::TimeZone::America::Nuuk 2.65 + DateTime::TimeZone::America::Ojinaga 2.65 + DateTime::TimeZone::America::Panama 2.65 + DateTime::TimeZone::America::Paramaribo 2.65 + DateTime::TimeZone::America::Phoenix 2.65 + DateTime::TimeZone::America::Port_au_Prince 2.65 + DateTime::TimeZone::America::Porto_Velho 2.65 + DateTime::TimeZone::America::Puerto_Rico 2.65 + DateTime::TimeZone::America::Punta_Arenas 2.65 + DateTime::TimeZone::America::Rankin_Inlet 2.65 + DateTime::TimeZone::America::Recife 2.65 + DateTime::TimeZone::America::Regina 2.65 + DateTime::TimeZone::America::Resolute 2.65 + DateTime::TimeZone::America::Rio_Branco 2.65 + DateTime::TimeZone::America::Santarem 2.65 + DateTime::TimeZone::America::Santiago 2.65 + DateTime::TimeZone::America::Santo_Domingo 2.65 + DateTime::TimeZone::America::Sao_Paulo 2.65 + DateTime::TimeZone::America::Scoresbysund 2.65 + DateTime::TimeZone::America::Sitka 2.65 + DateTime::TimeZone::America::St_Johns 2.65 + DateTime::TimeZone::America::Swift_Current 2.65 + DateTime::TimeZone::America::Tegucigalpa 2.65 + DateTime::TimeZone::America::Thule 2.65 + DateTime::TimeZone::America::Tijuana 2.65 + DateTime::TimeZone::America::Toronto 2.65 + DateTime::TimeZone::America::Vancouver 2.65 + DateTime::TimeZone::America::Whitehorse 2.65 + DateTime::TimeZone::America::Winnipeg 2.65 + DateTime::TimeZone::America::Yakutat 2.65 + DateTime::TimeZone::Antarctica::Casey 2.65 + DateTime::TimeZone::Antarctica::Davis 2.65 + DateTime::TimeZone::Antarctica::Macquarie 2.65 + DateTime::TimeZone::Antarctica::Mawson 2.65 + DateTime::TimeZone::Antarctica::Palmer 2.65 + DateTime::TimeZone::Antarctica::Rothera 2.65 + DateTime::TimeZone::Antarctica::Troll 2.65 + DateTime::TimeZone::Antarctica::Vostok 2.65 + DateTime::TimeZone::Asia::Almaty 2.65 + DateTime::TimeZone::Asia::Amman 2.65 + DateTime::TimeZone::Asia::Anadyr 2.65 + DateTime::TimeZone::Asia::Aqtau 2.65 + DateTime::TimeZone::Asia::Aqtobe 2.65 + DateTime::TimeZone::Asia::Ashgabat 2.65 + DateTime::TimeZone::Asia::Atyrau 2.65 + DateTime::TimeZone::Asia::Baghdad 2.65 + DateTime::TimeZone::Asia::Baku 2.65 + DateTime::TimeZone::Asia::Bangkok 2.65 + DateTime::TimeZone::Asia::Barnaul 2.65 + DateTime::TimeZone::Asia::Beirut 2.65 + DateTime::TimeZone::Asia::Bishkek 2.65 + DateTime::TimeZone::Asia::Chita 2.65 + DateTime::TimeZone::Asia::Colombo 2.65 + DateTime::TimeZone::Asia::Damascus 2.65 + DateTime::TimeZone::Asia::Dhaka 2.65 + DateTime::TimeZone::Asia::Dili 2.65 + DateTime::TimeZone::Asia::Dubai 2.65 + DateTime::TimeZone::Asia::Dushanbe 2.65 + DateTime::TimeZone::Asia::Famagusta 2.65 + DateTime::TimeZone::Asia::Gaza 2.65 + DateTime::TimeZone::Asia::Hebron 2.65 + DateTime::TimeZone::Asia::Ho_Chi_Minh 2.65 + DateTime::TimeZone::Asia::Hong_Kong 2.65 + DateTime::TimeZone::Asia::Hovd 2.65 + DateTime::TimeZone::Asia::Irkutsk 2.65 + DateTime::TimeZone::Asia::Jakarta 2.65 + DateTime::TimeZone::Asia::Jayapura 2.65 + DateTime::TimeZone::Asia::Jerusalem 2.65 + DateTime::TimeZone::Asia::Kabul 2.65 + DateTime::TimeZone::Asia::Kamchatka 2.65 + DateTime::TimeZone::Asia::Karachi 2.65 + DateTime::TimeZone::Asia::Kathmandu 2.65 + DateTime::TimeZone::Asia::Khandyga 2.65 + DateTime::TimeZone::Asia::Kolkata 2.65 + DateTime::TimeZone::Asia::Krasnoyarsk 2.65 + DateTime::TimeZone::Asia::Kuching 2.65 + DateTime::TimeZone::Asia::Macau 2.65 + DateTime::TimeZone::Asia::Magadan 2.65 + DateTime::TimeZone::Asia::Makassar 2.65 + DateTime::TimeZone::Asia::Manila 2.65 + DateTime::TimeZone::Asia::Nicosia 2.65 + DateTime::TimeZone::Asia::Novokuznetsk 2.65 + DateTime::TimeZone::Asia::Novosibirsk 2.65 + DateTime::TimeZone::Asia::Omsk 2.65 + DateTime::TimeZone::Asia::Oral 2.65 + DateTime::TimeZone::Asia::Pontianak 2.65 + DateTime::TimeZone::Asia::Pyongyang 2.65 + DateTime::TimeZone::Asia::Qatar 2.65 + DateTime::TimeZone::Asia::Qostanay 2.65 + DateTime::TimeZone::Asia::Qyzylorda 2.65 + DateTime::TimeZone::Asia::Riyadh 2.65 + DateTime::TimeZone::Asia::Sakhalin 2.65 + DateTime::TimeZone::Asia::Samarkand 2.65 + DateTime::TimeZone::Asia::Seoul 2.65 + DateTime::TimeZone::Asia::Shanghai 2.65 + DateTime::TimeZone::Asia::Singapore 2.65 + DateTime::TimeZone::Asia::Srednekolymsk 2.65 + DateTime::TimeZone::Asia::Taipei 2.65 + DateTime::TimeZone::Asia::Tashkent 2.65 + DateTime::TimeZone::Asia::Tbilisi 2.65 + DateTime::TimeZone::Asia::Tehran 2.65 + DateTime::TimeZone::Asia::Thimphu 2.65 + DateTime::TimeZone::Asia::Tokyo 2.65 + DateTime::TimeZone::Asia::Tomsk 2.65 + DateTime::TimeZone::Asia::Ulaanbaatar 2.65 + DateTime::TimeZone::Asia::Urumqi 2.65 + DateTime::TimeZone::Asia::Ust_Nera 2.65 + DateTime::TimeZone::Asia::Vladivostok 2.65 + DateTime::TimeZone::Asia::Yakutsk 2.65 + DateTime::TimeZone::Asia::Yangon 2.65 + DateTime::TimeZone::Asia::Yekaterinburg 2.65 + DateTime::TimeZone::Asia::Yerevan 2.65 + DateTime::TimeZone::Atlantic::Azores 2.65 + DateTime::TimeZone::Atlantic::Bermuda 2.65 + DateTime::TimeZone::Atlantic::Canary 2.65 + DateTime::TimeZone::Atlantic::Cape_Verde 2.65 + DateTime::TimeZone::Atlantic::Faroe 2.65 + DateTime::TimeZone::Atlantic::Madeira 2.65 + DateTime::TimeZone::Atlantic::South_Georgia 2.65 + DateTime::TimeZone::Atlantic::Stanley 2.65 + DateTime::TimeZone::Australia::Adelaide 2.65 + DateTime::TimeZone::Australia::Brisbane 2.65 + DateTime::TimeZone::Australia::Broken_Hill 2.65 + DateTime::TimeZone::Australia::Darwin 2.65 + DateTime::TimeZone::Australia::Eucla 2.65 + DateTime::TimeZone::Australia::Hobart 2.65 + DateTime::TimeZone::Australia::Lindeman 2.65 + DateTime::TimeZone::Australia::Lord_Howe 2.65 + DateTime::TimeZone::Australia::Melbourne 2.65 + DateTime::TimeZone::Australia::Perth 2.65 + DateTime::TimeZone::Australia::Sydney 2.65 + DateTime::TimeZone::Catalog 2.65 + DateTime::TimeZone::Europe::Andorra 2.65 + DateTime::TimeZone::Europe::Astrakhan 2.65 + DateTime::TimeZone::Europe::Athens 2.65 + DateTime::TimeZone::Europe::Belgrade 2.65 + DateTime::TimeZone::Europe::Berlin 2.65 + DateTime::TimeZone::Europe::Brussels 2.65 + DateTime::TimeZone::Europe::Bucharest 2.65 + DateTime::TimeZone::Europe::Budapest 2.65 + DateTime::TimeZone::Europe::Chisinau 2.65 + DateTime::TimeZone::Europe::Dublin 2.65 + DateTime::TimeZone::Europe::Gibraltar 2.65 + DateTime::TimeZone::Europe::Helsinki 2.65 + DateTime::TimeZone::Europe::Istanbul 2.65 + DateTime::TimeZone::Europe::Kaliningrad 2.65 + DateTime::TimeZone::Europe::Kirov 2.65 + DateTime::TimeZone::Europe::Kyiv 2.65 + DateTime::TimeZone::Europe::Lisbon 2.65 + DateTime::TimeZone::Europe::London 2.65 + DateTime::TimeZone::Europe::Madrid 2.65 + DateTime::TimeZone::Europe::Malta 2.65 + DateTime::TimeZone::Europe::Minsk 2.65 + DateTime::TimeZone::Europe::Moscow 2.65 + DateTime::TimeZone::Europe::Paris 2.65 + DateTime::TimeZone::Europe::Prague 2.65 + DateTime::TimeZone::Europe::Riga 2.65 + DateTime::TimeZone::Europe::Rome 2.65 + DateTime::TimeZone::Europe::Samara 2.65 + DateTime::TimeZone::Europe::Saratov 2.65 + DateTime::TimeZone::Europe::Simferopol 2.65 + DateTime::TimeZone::Europe::Sofia 2.65 + DateTime::TimeZone::Europe::Tallinn 2.65 + DateTime::TimeZone::Europe::Tirane 2.65 + DateTime::TimeZone::Europe::Ulyanovsk 2.65 + DateTime::TimeZone::Europe::Vienna 2.65 + DateTime::TimeZone::Europe::Vilnius 2.65 + DateTime::TimeZone::Europe::Volgograd 2.65 + DateTime::TimeZone::Europe::Warsaw 2.65 + DateTime::TimeZone::Europe::Zurich 2.65 + DateTime::TimeZone::Floating 2.65 + DateTime::TimeZone::Indian::Chagos 2.65 + DateTime::TimeZone::Indian::Maldives 2.65 + DateTime::TimeZone::Indian::Mauritius 2.65 + DateTime::TimeZone::Local 2.65 + DateTime::TimeZone::Local::Android 2.65 + DateTime::TimeZone::Local::Unix 2.65 + DateTime::TimeZone::Local::VMS 2.65 + DateTime::TimeZone::OffsetOnly 2.65 + DateTime::TimeZone::OlsonDB 2.65 + DateTime::TimeZone::OlsonDB::Change 2.65 + DateTime::TimeZone::OlsonDB::Observance 2.65 + DateTime::TimeZone::OlsonDB::Rule 2.65 + DateTime::TimeZone::OlsonDB::Zone 2.65 + DateTime::TimeZone::Pacific::Apia 2.65 + DateTime::TimeZone::Pacific::Auckland 2.65 + DateTime::TimeZone::Pacific::Bougainville 2.65 + DateTime::TimeZone::Pacific::Chatham 2.65 + DateTime::TimeZone::Pacific::Easter 2.65 + DateTime::TimeZone::Pacific::Efate 2.65 + DateTime::TimeZone::Pacific::Fakaofo 2.65 + DateTime::TimeZone::Pacific::Fiji 2.65 + DateTime::TimeZone::Pacific::Galapagos 2.65 + DateTime::TimeZone::Pacific::Gambier 2.65 + DateTime::TimeZone::Pacific::Guadalcanal 2.65 + DateTime::TimeZone::Pacific::Guam 2.65 + DateTime::TimeZone::Pacific::Honolulu 2.65 + DateTime::TimeZone::Pacific::Kanton 2.65 + DateTime::TimeZone::Pacific::Kiritimati 2.65 + DateTime::TimeZone::Pacific::Kosrae 2.65 + DateTime::TimeZone::Pacific::Kwajalein 2.65 + DateTime::TimeZone::Pacific::Marquesas 2.65 + DateTime::TimeZone::Pacific::Nauru 2.65 + DateTime::TimeZone::Pacific::Niue 2.65 + DateTime::TimeZone::Pacific::Norfolk 2.65 + DateTime::TimeZone::Pacific::Noumea 2.65 + DateTime::TimeZone::Pacific::Pago_Pago 2.65 + DateTime::TimeZone::Pacific::Palau 2.65 + DateTime::TimeZone::Pacific::Pitcairn 2.65 + DateTime::TimeZone::Pacific::Port_Moresby 2.65 + DateTime::TimeZone::Pacific::Rarotonga 2.65 + DateTime::TimeZone::Pacific::Tahiti 2.65 + DateTime::TimeZone::Pacific::Tarawa 2.65 + DateTime::TimeZone::Pacific::Tongatapu 2.65 + DateTime::TimeZone::UTC 2.65 requirements: Class::Singleton 1.03 Cwd 3 @@ -2546,17 +2547,17 @@ DISTRIBUTIONS TimeDate 1.21 requirements: ExtUtils::MakeMaker 0 - Travel-Status-DE-DBRIS-0.07 - pathname: D/DE/DERF/Travel-Status-DE-DBRIS-0.07.tar.gz + Travel-Status-DE-DBRIS-0.08 + pathname: D/DE/DERF/Travel-Status-DE-DBRIS-0.08.tar.gz provides: - Travel::Status::DE::DBRIS 0.07 - Travel::Status::DE::DBRIS::Formation 0.07 - Travel::Status::DE::DBRIS::Formation::Carriage 0.07 - Travel::Status::DE::DBRIS::Formation::Group 0.07 - Travel::Status::DE::DBRIS::Formation::Sector 0.07 - Travel::Status::DE::DBRIS::Journey 0.07 - Travel::Status::DE::DBRIS::JourneyAtStop 0.07 - Travel::Status::DE::DBRIS::Location 0.07 + Travel::Status::DE::DBRIS 0.08 + Travel::Status::DE::DBRIS::Formation 0.08 + Travel::Status::DE::DBRIS::Formation::Carriage 0.08 + Travel::Status::DE::DBRIS::Formation::Group 0.08 + Travel::Status::DE::DBRIS::Formation::Sector 0.08 + Travel::Status::DE::DBRIS::Journey 0.08 + Travel::Status::DE::DBRIS::JourneyAtStop 0.08 + Travel::Status::DE::DBRIS::Location 0.08 requirements: Carp 0 Class::Accessor 0.16 @@ -2572,18 +2573,18 @@ DISTRIBUTIONS Test::More 0 Test::Pod 0 perl v5.20.0 - Travel-Status-DE-HAFAS-6.19 - pathname: D/DE/DERF/Travel-Status-DE-HAFAS-6.19.tar.gz - provides: - Travel::Status::DE::HAFAS 6.19 - Travel::Status::DE::HAFAS::Journey 6.19 - Travel::Status::DE::HAFAS::Location 6.19 - Travel::Status::DE::HAFAS::Message 6.19 - Travel::Status::DE::HAFAS::Polyline 6.19 - Travel::Status::DE::HAFAS::Product 6.19 - Travel::Status::DE::HAFAS::Services 6.19 - Travel::Status::DE::HAFAS::Stop 6.19 - Travel::Status::DE::HAFAS::StopFinder 6.19 + Travel-Status-DE-HAFAS-6.20 + pathname: D/DE/DERF/Travel-Status-DE-HAFAS-6.20.tar.gz + provides: + Travel::Status::DE::HAFAS 6.20 + Travel::Status::DE::HAFAS::Journey 6.20 + Travel::Status::DE::HAFAS::Location 6.20 + Travel::Status::DE::HAFAS::Message 6.20 + Travel::Status::DE::HAFAS::Polyline 6.20 + Travel::Status::DE::HAFAS::Product 6.20 + Travel::Status::DE::HAFAS::Services 6.20 + Travel::Status::DE::HAFAS::Stop 6.20 + Travel::Status::DE::HAFAS::StopFinder 6.20 requirements: Carp 0 Class::Accessor 0.16 diff --git a/lib/Travelynx.pm b/lib/Travelynx.pm index ac45be6..ac64390 100755 --- a/lib/Travelynx.pm +++ b/lib/Travelynx.pm @@ -953,8 +953,7 @@ sub startup { } if ( not $user->{checked_in} and not $user->{cancelled} ) { - return $promise->resolve( 0, - 'You are not checked in' ); + return $promise->resolve( 0, 'You are not checked in' ); } if ( $dep_eva and $dep_eva != $user->{dep_eva} ) { @@ -2068,7 +2067,7 @@ sub startup { comment => $status->{comment}, backend => { id => $status->{backend_id}, - type => $status->{ds_dbris} ? 'DBRIS' + type => $status->{is_dbris} ? 'DBRIS' : $status->{is_hafas} ? 'HAFAS' : 'IRIS-TTS', name => $status->{backend_name}, diff --git a/lib/Travelynx/Command/work.pm b/lib/Travelynx/Command/work.pm index e131533..259043f 100644 --- a/lib/Travelynx/Command/work.pm +++ b/lib/Travelynx/Command/work.pm @@ -35,7 +35,8 @@ sub run { $self->app->log->debug("Removed ${num_incomplete} incomplete checkins"); } - my $errors = 0; + my $errors = 0; + my $dbris_rate_limited = 0; for my $entry ( $self->app->in_transit->get_all_active ) { @@ -53,10 +54,17 @@ sub run { eval { - $self->app->dbris->get_journey_p( trip_id => $train_id )->then( + Mojo::Promise->timer( $dbris_rate_limited ? 4.5 : 1.0 )->then( + sub { + return $self->app->dbris->get_journey_p( + trip_id => $train_id ); + } + )->then( sub { my ($journey) = @_; + $dbris_rate_limited = 0; + my $found_dep; my $found_arr; for my $stop ( $journey->route ) { @@ -131,6 +139,9 @@ sub run { $self->app->log->error( "work($uid) @ DBRIS $entry->{backend_name}: journey: $err" ); + if ( $err =~ m{HTTP 429} ) { + $dbris_rate_limited = 1; + } } )->wait; diff --git a/lib/Travelynx/Controller/Api.pm b/lib/Travelynx/Controller/Api.pm index f31195a..9fe72b2 100755 --- a/lib/Travelynx/Controller/Api.pm +++ b/lib/Travelynx/Controller/Api.pm @@ -21,6 +21,9 @@ sub sanitize { if ( not defined $value ) { return undef; } + if ( not defined $type ) { + return $value ? ( '' . $value ) : undef; + } if ( $type eq '' ) { return '' . $value; } @@ -184,8 +187,12 @@ sub travel_v1 { my $from_station = sanitize( q{}, $payload->{fromStation} ); my $to_station = sanitize( q{}, $payload->{toStation} ); my $train_id; + my $dbris = sanitize( undef, $payload->{dbris} ); my $hafas = sanitize( undef, $payload->{hafas} ); - $hafas //= exists $payload->{train}{journeyID} ? 'DB' : undef; + + if ( not $hafas and exists $payload->{train}{journeyID} ) { + $dbris //= 'bahn.de'; + } if ( not( @@ -209,6 +216,7 @@ sub travel_v1 { } if ( not $hafas + and not $dbris and not $self->stations->search( $from_station, backend_id => 1 ) ) { $self->render( @@ -225,6 +233,7 @@ sub travel_v1 { if ( $to_station and not $hafas + and not $dbris and not $self->stations->search( $to_station, backend_id => 1 ) ) { $self->render( @@ -288,6 +297,7 @@ sub travel_v1 { train_id => $train_id, uid => $uid, hafas => $hafas, + dbris => $dbris, ); } )->then( diff --git a/lib/Travelynx/Model/InTransit.pm b/lib/Travelynx/Model/InTransit.pm index 9f02aba..34c78f7 100644 --- a/lib/Travelynx/Model/InTransit.pm +++ b/lib/Travelynx/Model/InTransit.pm @@ -136,7 +136,7 @@ sub add { } ); } - elsif ( $journey and $stop and $journey->can('id') ) { + elsif ( $journey and $stop and $journey->can('product') ) { # HAFAS my @route; @@ -203,13 +203,14 @@ sub add { $j_stop->name, $j_stop->eva, { - sched_arr => _epoch( $j_stop->sched_arr ), - sched_dep => _epoch( $j_stop->sched_dep ), - rt_arr => _epoch( $j_stop->rt_arr ), - rt_dep => _epoch( $j_stop->rt_dep ), - arr_delay => $j_stop->arr_delay, - dep_delay => $j_stop->dep_delay, - load => { + sched_arr => _epoch( $j_stop->sched_arr ), + sched_dep => _epoch( $j_stop->sched_dep ), + rt_arr => _epoch( $j_stop->rt_arr ), + rt_dep => _epoch( $j_stop->rt_dep ), + isCancelled => $j_stop->is_cancelled, + arr_delay => $j_stop->arr_delay, + dep_delay => $j_stop->dep_delay, + load => { FIRST => $j_stop->occupancy_first, SECOND => $j_stop->occupancy_second }, @@ -902,13 +903,14 @@ sub update_arrival_dbris { $j_stop->name, $j_stop->eva, { - sched_arr => _epoch( $j_stop->sched_arr ), - sched_dep => _epoch( $j_stop->sched_dep ), - rt_arr => _epoch( $j_stop->rt_arr ), - rt_dep => _epoch( $j_stop->rt_dep ), - arr_delay => $j_stop->arr_delay, - dep_delay => $j_stop->dep_delay, - load => { + sched_arr => _epoch( $j_stop->sched_arr ), + sched_dep => _epoch( $j_stop->sched_dep ), + rt_arr => _epoch( $j_stop->rt_arr ), + rt_dep => _epoch( $j_stop->rt_dep ), + isCancelled => $j_stop->is_cancelled, + arr_delay => $j_stop->arr_delay, + dep_delay => $j_stop->dep_delay, + load => { FIRST => $j_stop->occupancy_first, SECOND => $j_stop->occupancy_second }, diff --git a/templates/api_documentation.html.ep b/templates/api_documentation.html.ep index 4453286..099474c 100644 --- a/templates/api_documentation.html.ep +++ b/templates/api_documentation.html.ep @@ -129,12 +129,13 @@ {<br/> "token" : "<%= $uid %>-<%= $token->{travel} // 'TOKEN' %>",<br/> "action" : "checkin",<br/> - "hafas" : "DB", (HAFAS-Instanz – Default: Deutsche Bahn)<br/> + "dbris" : "bahn.de", (DBRIS-Instanz – Default: bahn.de)<br/> + "hafas" : null, (HAFAS-Instanz, falls verwendet, sonste null)<br/> "train" : {<br/> - "journeyID" : "1|1426396|4|80|19082023",<br/> + "journeyID" : "2|#VN#1#ST#1742845592#PI#0#ZI#315136#TA#0#DA#270325#1S#8000080#1T#1841#LS#8006486#LT#2024#PU#80#RT#1#CA#RE#ZE#10773#ZB#RE10773#PC#3#FR#8000080#FT#1841#TO#8006486#TT#2024#",<br/> }<br/> - "fromStation" : 651806, (Name oder EVA-Nummer)<br/> - "toStation" : 654645, (optional, Name oder EVA-Nummer)<br/> + "fromStation" : 8000080, (Name oder EVA-Nummer – bei bahn.de nur EVA-Nummer)<br/> + "toStation" : 8006486, (optional, Name oder EVA-Nummer – bei bahn.de nur EVA-Nummer)<br/> "comment" : "Beliebiger Text" (optional, überschreibt vorherigen Kommentar)<br/> } </p> |