diff --git a/src/WTF.txt b/src/WTF.txt deleted file mode 100644 index e9c9c56..0000000 --- a/src/WTF.txt +++ /dev/null @@ -1,1286 +0,0 @@ -Running OwlBoard Diagram Parser in local mode -Working directory: /home/fred.boniface/git/owlboard/diagram-parser/src -Found 1 DOCX files in directory -20240221_file.docx -Reading 956 tables from 20240221_file.docx -Found 493 PIS Codes in documents -Removed 323 duplicate codes -Searching for 170 PIS codes -['testing', 'main', 'published'] -200 -Branch: testing, PIS Codes: 1244 -200 -Branch: main, PIS Codes: 1243 -200 -Branch: published, PIS Codes: 1227 -Total unique codes: 1236 -PIS Code 5924 not found in existing data -PIS Code 5216 not found in existing data -PIS Code 5257 not found in existing data -PIS Code 6229 not found in existing data -PIS Code 5124 not found in existing data -PIS Code 6062 not found in existing data -PIS Code 5179 not found in existing data -PIS Code 6231 not found in existing data -PIS Code 6129 not found in existing data -PIS Code 5181 not found in existing data -PIS Code 6287 not found in existing data -PIS Code 5449 not found in existing data -PIS Code 5870 not found in existing data -PIS Code 5803 not found in existing data -PIS Code 5232 not found in existing data -PIS Code 5126 not found in existing data -PIS Code 6220 not found in existing data -PIS Code 6150 not found in existing data -PIS Code 5866 not found in existing data -PIS Code 6153 not found in existing data -PIS Code 5793 not found in existing data -PIS Code 5055 not found in existing data -PIS Code 5704 not found in existing data -PIS Code 5278 not found in existing data -PIS Code 5318 not found in existing data -PIS Code 5305 not found in existing data -PIS Code 5307 not found in existing data -PIS Code 6270 not found in existing data -PIS Code 5281 not found in existing data -PIS Code 5310 not found in existing data -PIS Code 5290 not found in existing data -PIS Code 5274 not found in existing data -PIS Code 5315 not found in existing data -PIS Code 5272 not found in existing data -PIS Code 5316 not found in existing data -PIS Code 5314 not found in existing data -PIS Code 5273 not found in existing data -PIS Code 5334 not found in existing data -PIS Code 5304 not found in existing data -PIS Code 5306 not found in existing data -PIS Code 5283 not found in existing data -PIS Code 5792 not found in existing data -PIS Code 5286 not found in existing data -PIS Code 5607 not found in existing data -PIS Code 5346 not found in existing data -PIS Code 5675 not found in existing data -PIS Code 5674 not found in existing data -PIS Code 5300 not found in existing data -PIS Code 5728 not found in existing data -PIS Code 6238 not found in existing data -PIS Code 5214 not found in existing data -PIS Code 5208 not found in existing data -PIS Code 6272 not found in existing data -PIS Code 6067 not found in existing data -PIS Code 6167 not found in existing data -PIS Code 5248 not found in existing data -PIS Code 5215 not found in existing data -PIS Code 5149 not found in existing data -PIS Code 6269 not found in existing data -PIS Code 6216 not found in existing data -PIS Code 6222 not found in existing data -PIS Code 6288 not found in existing data -PIS Code 6070 not found in existing data -PIS Code 5776 not found in existing data -PIS Code 5775 not found in existing data -PIS Code 6193 not found in existing data -PIS Code 5127 not found in existing data -PIS Code 5237 not found in existing data -PIS Code 5165 not found in existing data -PIS Code 5238 not found in existing data -PIS Code 6273 not found in existing data -PIS Code 6250 not found in existing data -PIS Code 5205 not found in existing data -PIS Code 5189 not found in existing data -PIS Code 6232 not found in existing data -PIS Code 6069 not found in existing data -PIS Code 5502 not found in existing data -PIS Code 5523 not found in existing data -PIS Code 6079 not found in existing data -PIS Code 5151 not found in existing data -PIS Code 6083 not found in existing data -PIS Code 6084 not found in existing data -PIS Code 5128 not found in existing data -PIS Code 5809 not found in existing data -PIS Code 6085 not found in existing data -PIS Code 5101 not found in existing data -PIS Code 5245 not found in existing data -PIS Code 6225 not found in existing data -PIS Code 6257 not found in existing data -PIS Code 5243 not found in existing data -PIS Code 6081 not found in existing data -PIS Code 5438 not found in existing data -PIS Code 5056 not found in existing data -PIS Code 6274 not found in existing data -PIS Code 6267 not found in existing data -PIS Code 6230 not found in existing data -PIS Code 5242 not found in existing data -PIS Code 6289 not found in existing data -PIS Code 6221 not found in existing data -PIS Code 5703 not found in existing data -PIS Code 5765 not found in existing data -PIS Code 6068 not found in existing data -PIS Code 6226 not found in existing data -PIS Code 6236 not found in existing data -PIS Code 6253 not found in existing data -PIS Code 5640 not found in existing data -PIS Code 6208 not found in existing data -PIS Code 5225 not found in existing data -PIS Code 6233 not found in existing data -PIS Code 5180 not found in existing data -PIS Code 6277 not found in existing data -PIS Code 5032 not found in existing data -PIS Code 5254 not found in existing data -PIS Code 6278 not found in existing data -PIS Code 5719 not found in existing data -PIS Code 5824 not found in existing data -PIS Code 6182 not found in existing data -PIS Code 5429 not found in existing data -PIS Code 5075 not found in existing data -PIS Code 5718 not found in existing data -PIS Code 6184 not found in existing data -PIS Code 6189 not found in existing data -PIS Code 5380 not found in existing data -PIS Code 5417 not found in existing data -PIS Code 5418 not found in existing data -PIS Code 6262 not found in existing data -PIS Code 5821 not found in existing data -PIS Code 5822 not found in existing data -PIS Code 6258 not found in existing data -PIS Code 5724 not found in existing data -PIS Code 6052 not found in existing data -PIS Code 6046 not found in existing data -PIS Code 5293 not found in existing data -PIS Code 6051 not found in existing data -PIS Code 6050 not found in existing data -PIS Code 6047 not found in existing data -PIS Code 6089 not found in existing data -PIS Code 5351 not found in existing data -PIS Code 5829 not found in existing data -PIS Code 6152 not found in existing data -PIS Code 6293 not found in existing data -PIS Code 6260 not found in existing data -PIS Code 6285 not found in existing data -PIS Code 5426 not found in existing data -PIS Code 5003 not found in existing data -PIS Code 6266 not found in existing data -PIS Code 5431 not found in existing data -PIS Code 6264 not found in existing data -PIS Code 5376 not found in existing data -PIS Code 5330 not found in existing data -PIS Code 6283 not found in existing data -PIS Code 5362 not found in existing data -PIS Code 6243 not found in existing data -PIS Code 6187 not found in existing data -PIS Code 5379 not found in existing data -PIS Code 6205 not found in existing data -PIS Code 5381 not found in existing data -PIS Code 5832 not found in existing data -PIS Code 5394 not found in existing data -PIS Code 5352 not found in existing data -PIS Code 5408 not found in existing data -PIS Code 6159 not found in existing data -PIS Code 6292 not found in existing data -PIS Code 6048 not found in existing data -PIS Code 6053 not found in existing data -PIS Code 6158 not found in existing data -PIS Code 6160 not found in existing data -PIS Code 6161 not found in existing data -PIS Code 5488 not found in existing data -PIS Code 6091 not found in existing data -170 missing PIS codes in OwlBoard data -{'job_head': 'Fratton\t\t04.50\t2V52 55942', 'headcode': '2V52', 'pis': '5924', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2V52 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2v52 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t\t14.45\t2C15 31465', 'headcode': '2C15', 'pis': '5216', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2C15 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2c15 -Found 1 valid GWR Service -{'job_head': 'WestburyE\t\t08.41\t2C84 47157', 'headcode': '2C84', 'pis': '5257', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2C84 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2c84 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t11.57\t12.03\t2O76 69142', 'headcode': '2O76', 'pis': '6229', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2O76 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2o76 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t15.15\t15.22\t1F21 07392', 'headcode': '1F21', 'pis': '5124', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1F21 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1f21 -Found 1 valid GWR Service -{'job_head': 'Pmth Hbr\t\t06.01\t1F06 82232', 'headcode': '1F06', 'pis': '6062', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1F06 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1f06 -Found 1 valid GWR Service -{'job_head': 'Fratton\t13.30\t13.31\t1F20 72374', 'headcode': '1F20', 'pis': '5179', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1F20 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1f20 -Found 1 valid GWR Service -{'job_head': 'Gloucestr\t\t18.10\t2C25 11568', 'headcode': '2C25', 'pis': '6231', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2C25 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2c25 -Found 1 valid GWR Service -{'job_head': 'Fratton\t18.44\t18.46\t1F23 57406', 'headcode': '1F23', 'pis': '6129', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1F23 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1f23 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t17.52\t17.57\t1F24 82413', 'headcode': '1F24', 'pis': '5181', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1F24 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1f24 -Found 1 valid GWR Service -{'job_head': 'WestburyE\t19.02\t19.05\t1F27 67445', 'headcode': '1F27', 'pis': '6287', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1F27 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1f27 -Found 1 valid GWR Service -{'job_head': 'Cardiff C\t\t18.30\t1F29 27470', 'headcode': '1F29', 'pis': '5449', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1F29 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1f29 -Found 1 valid GWR Service -{'job_head': 'Warminstr\t\t18.29\t2D94 08268', 'headcode': '2D94', 'pis': '5870', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2D94 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2d94 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t\t18.40\t2E73 04063', 'headcode': '2E73', 'pis': '5803', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2E73 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2e73 -Found 1 valid GWR Service -{'job_head': 'Woster SH\t\t17.55\t2T50 43912', 'headcode': '2T50', 'pis': '5232', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2T50 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2t50 -Found 1 valid GWR Service -{'job_head': 'Cardiff C\t\t19.30\t1D91 86075', 'headcode': '1D91', 'pis': '5126', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1D91 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1d91 -Found 1 valid GWR Service -{'job_head': 'Fratton\t16.30\t16.31\t1F26 42438', 'headcode': '1F26', 'pis': '6220', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1F26 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1f26 -Found 1 valid GWR Service -{'job_head': 'WestburyE\t19.25\t19.35\t2O09 13475', 'headcode': '2O09', 'pis': '6150', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2O09 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2o09 -Found 1 valid GWR Service -{'job_head': 'Salisbury\t\t19.13\t2V96 Wbry 76382', 'headcode': '2V96', 'pis': '5866', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2V96 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2v96 -Found 1 valid GWR Service -{'job_head': 'Cardiff C\t\t20.30\t1F33 37509', 'headcode': '1F33', 'pis': '6153', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1F33 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1f33 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t19D52\t19.57\t1F28 02463', 'headcode': '9D52', 'pis': '5793', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 9D52 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/9d52 -Found 0 valid GWR Service -{'job_head': 'BristolTM\t\t20.50\t2D79 83108', 'headcode': '2D79', 'pis': '5055', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2D79 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2d79 -Found 1 valid GWR Service -{'job_head': 'Btl Pkway\t\t21.21\t1F35 87523', 'headcode': '1F35', 'pis': '5704', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1F35 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1f35 -Found 1 valid GWR Service -{'job_head': 'Par\t\t20.29\t2N14 67513', 'headcode': '2N14', 'pis': '5278', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2N14 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2n14 -Found 2 valid GWR Service -{'job_head': 'Newquay\t\t21.26\t2N15 02531', 'headcode': '2N15', 'pis': '5318', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2N15 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2n15 -Found 1 valid GWR Service -{'job_head': 'Truro\t\t19.06\t2F90 50234', 'headcode': '2F90', 'pis': '5305', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2F90 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2f90 -Found 1 valid GWR Service -{'job_head': 'Falmth Dk\t\t14.45\t2T81 09228', 'headcode': '2T81', 'pis': '5307', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2T81 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2t81 -Found 1 valid GWR Service -{'job_head': 'Par\t\t06.19\t2P01 64394', 'headcode': '2P01', 'pis': '6270', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2P01 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2p01 -Found 2 valid GWR Service -{'job_head': 'Plymouth\t\t10.28\t2G77 66107', 'headcode': '2G77', 'pis': '5281', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2G77 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2g77 -Found 1 valid GWR Service -{'job_head': 'Gunislake\t\t11.19\t2G78 01125', 'headcode': '2G78', 'pis': '5310', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2G78 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2g78 -Found 1 valid GWR Service -{'job_head': 'PC\tPlymouth\t\t15.47\t2C29 21607', 'headcode': '2C29', 'pis': '5290', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2C29 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2c29 -Found 1 valid GWR Service -{'job_head': 'Liskeard\t\t21.05\t2L97 21342', 'headcode': '2L97', 'pis': '5274', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2L97 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2l97 -Found 1 valid GWR Service -{'job_head': 'Looe\t\t07.54\t2L72 26090', 'headcode': '2L72', 'pis': '5315', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2L72 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2l72 -Found 1 valid GWR Service -{'job_head': 'Liskeard\t15.46\t15.50\t2L87 41239', 'headcode': '2L87', 'pis': '5272', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2L87 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2l87 -Found 1 valid GWR Service -{'job_head': 'Looe\t\t21.37\t2L98 46349', 'headcode': '2L98', 'pis': '5316', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2L98 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2l98 -Found 1 valid GWR Service -{'job_head': 'Looe\t\t20.37\t2L96 86324', 'headcode': '2L96', 'pis': '5314', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2L96 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2l96 -Found 1 valid GWR Service -{'job_head': 'Liskeard\t18.55\t19.00\t2L93 11303', 'headcode': '2L93', 'pis': '5273', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2L93 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2l93 -Found 1 valid GWR Service -{'job_head': 'PC\tPenzance\t\t13.15\t2P16 79543', 'headcode': '2P16', 'pis': '5334', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2P16 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2p16 -Found 1 valid GWR Service -{'job_head': 'Truro\t\t15.45\t2F84 80170', 'headcode': '2F84', 'pis': '5304', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2F84 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2f84 -Found 1 valid GWR Service -{'job_head': 'Falmth Dk\t\t16.15\t2T84 84249', 'headcode': '2T84', 'pis': '5306', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2T84 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2t84 -Found 1 valid GWR Service -{'job_head': 'Plymouth\t\t17.00\t2C33 31646', 'headcode': '2C33', 'pis': '5283', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2C33 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2c33 -Found 1 valid GWR Service -{'job_head': 'Liskeard\t\t17.56\t2P22 49607', 'headcode': '2P22', 'pis': '5792', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2P22 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2p22 -Found 1 valid GWR Service -{'job_head': 'Par\t19.33\t19.35\t2C36 16678', 'headcode': '2C36', 'pis': '5286', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2C36 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2c36 -Found 2 valid GWR Service -{'job_head': 'Penzance\t\t18.15\t2E26 88580', 'headcode': '2E26', 'pis': '5607', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2E26 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2e26 -Found 1 valid GWR Service -{'job_head': 'St.Erth\t12.14\t12.18\t2A19 79488', 'headcode': '2A19', 'pis': '5346', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2A19 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2a19 -Found 2 valid GWR Service -{'job_head': 'St.Ives\t\t14.03\t2A26 74559', 'headcode': '2A26', 'pis': '5675', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2A26 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2a26 -Found 2 valid GWR Service -{'job_head': 'St.Erth\t\t13.48\t2A25 49552', 'headcode': '2A25', 'pis': '5674', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2A25 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2a25 -Found 2 valid GWR Service -{'job_head': 'St.Ives\t\t13.03\t2A22 64520', 'headcode': '2A22', 'pis': '5300', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2A22 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2a22 -Found 2 valid GWR Service -{'job_head': 'Falmth Dk\t\t19.41\t2P90 40292', 'headcode': '2P90', 'pis': '5728', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2P90 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2p90 -Found 2 valid GWR Service -{'job_head': 'Weymouth\t\t06.38\t2V54 15967', 'headcode': '2V54', 'pis': '6238', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2V54 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2v54 -Found 1 valid GWR Service -{'job_head': 'WestburyE\t\t16.23\t2M21 Melk 81576', 'headcode': '2M21', 'pis': '5214', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2M21 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2m21 -Found 1 valid GWR Service -{'job_head': 'Swindon\t\t17.36\t2M30 Melk 36672', 'headcode': '2M30', 'pis': '5208', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2M30 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2m30 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t09.49\t10.07\t2V57 Charf 00999', 'headcode': '2V57', 'pis': '6272', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2V57 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2v57 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t14.16\t14.25\t2Y31 13753', 'headcode': '2Y31', 'pis': '6067', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2Y31 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2y31 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t15.44\t15.46\t2K42 14784', 'headcode': '2K42', 'pis': '6167', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2K42 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2k42 -Found 2 valid GWR Service -{'job_head': 'Weymouth\t\t20.14\t2V82 86240', 'headcode': '2V82', 'pis': '5248', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2V82 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2v82 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t\t20.50\t2O98 79362', 'headcode': '2O98', 'pis': '5215', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2O98 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2o98 -Found 1 valid GWR Service -{'job_head': 'WestburyE\t\t05.23\t2O01 83386', 'headcode': '2O01', 'pis': '5149', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2O01 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2o01 -Found 1 valid GWR Service -{'job_head': 'Salisbury\t\t06.35\t2M81 52183', 'headcode': '2M81', 'pis': '6269', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2M81 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2m81 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t\t10.45\t2O08 78457', 'headcode': '2O08', 'pis': '6216', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2O08 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2o08 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t\t11.41\t2O10 38482', 'headcode': '2O10', 'pis': '6222', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2O10 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2o10 -Found 1 valid GWR Service -{'job_head': 'Yeovil Pe\t\t06.18\t2V69 31116', 'headcode': '2V69', 'pis': '6288', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2V69 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2v69 -Found 1 valid GWR Service -{'job_head': 'SevernBch\t\t22.10\t2K65 50011', 'headcode': '2K65', 'pis': '6070', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2K65 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2k65 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t\t05.01\t1F01 47186', 'headcode': '1F01', 'pis': '5776', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1F01 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1f01 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t\t06.57\t1F02 72193', 'headcode': '1F02', 'pis': '5775', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1F02 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1f02 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t07.18\t07.22\t1F05 57225', 'headcode': '1F05', 'pis': '6193', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1F05 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1f05 -Found 1 valid GWR Service -{'job_head': 'Cardiff C\t\t09.28\t1F11 27289', 'headcode': '1F11', 'pis': '5127', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1F11 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1f11 -Found 1 valid GWR Service -{'job_head': 'WestburyE\t\t06.25\t2C13 71440', 'headcode': '2C13', 'pis': '5237', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2C13 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2c13 -Found 1 valid GWR Service -{'job_head': 'Frome\t\t06.42\t1F04 32218', 'headcode': '1F04', 'pis': '5165', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1F04 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1f04 -Found 1 valid GWR Service -{'job_head': 'WestburyE\t\t06.50\t2O70 09089', 'headcode': '2O70', 'pis': '5238', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2O70 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2o70 -Found 1 valid GWR Service -{'job_head': 'Weymouth\t\t13.28\t2V68 06109', 'headcode': '2V68', 'pis': '6273', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2V68 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2v68 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t\t15.45\t2F14 39471', 'headcode': '2F14', 'pis': '6250', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2F14 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2f14 -Found 2 valid GWR Service -{'job_head': 'WestburyE\t06.52\t06.55\t2O19 83567', 'headcode': '2O19', 'pis': '5205', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2O19 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2o19 -Found 1 valid GWR Service -{'job_head': 'SthmptonC\t\t08.23\t2V58 26006', 'headcode': '2V58', 'pis': '5189', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2V58 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2v58 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t(14.46)\t15.08\t2E66 Charf 08992', 'headcode': '2E66', 'pis': '6232', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2E66 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2e66 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t\t21.20\t2K66 75018', 'headcode': '2K66', 'pis': '6069', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2K66 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2k66 -Found 2 valid GWR Service -{'job_head': 'BristolTM\t\t20.04\t2H78 72122', 'headcode': '2H78', 'pis': '5502', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2H78 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2h78 -Found 1 valid GWR Service -{'job_head': 'Filton AW\t\t20.51\t2H79 07140', 'headcode': '2H79', 'pis': '5523', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2H79 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2h79 -Found 1 valid GWR Service -{'job_head': 'Cardiff C\t\t21.30\t1J37 61569', 'headcode': '1J37', 'pis': '6079', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1J37 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1j37 -Found 1 valid GWR Service -{'job_head': 'WestburyE\t\t15.12\t2F94 60273', 'headcode': '2F94', 'pis': '5151', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2F94 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2f94 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t\t19.14\t2K56 04926', 'headcode': '2K56', 'pis': '6083', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2K56 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2k56 -Found 2 valid GWR Service -{'job_head': 'Westn-s-M\t\t20.10\t2K64 25004', 'headcode': '2K64', 'pis': '6084', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2K64 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2k64 -Found 2 valid GWR Service -{'job_head': 'Cardiff C\t\t08.28\t1F09 67264', 'headcode': '1F09', 'pis': '5128', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1F09 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1f09 -Found 1 valid GWR Service -{'job_head': 'WestburyE\t23.30\t23.36\t2M95 42325', 'headcode': '2M95', 'pis': '5809', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2M95 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2m95 -Found 1 valid GWR Service -{'job_head': 'Avonmouth\t\t21.13\t2K62 64979', 'headcode': '2K62', 'pis': '6085', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2K62 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2k62 -Found 2 valid GWR Service -{'job_head': 'BristolTM\t\t19.47\t2C30 46614', 'headcode': '2C30', 'pis': '5101', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2C30 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2c30 -Found 1 valid GWR Service -{'job_head': 'Frome\t\t20.58\t2A87 70173', 'headcode': '2A87', 'pis': '5245', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2A87 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2a87 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t\t08.06\t2E52 18850', 'headcode': '2E52', 'pis': '6225', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2E52 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2e52 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t14.58\t15.03\t2C17 81479', 'headcode': '2C17', 'pis': '6257', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2C17 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2c17 -Found 1 valid GWR Service -{'job_head': 'Frome\t\t16.26\t2C88 57196', 'headcode': '2C88', 'pis': '5243', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2C88 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2c88 -Found 1 valid GWR Service -{'job_head': 'SevernBch\t\t07.33\t2Y07 43508', 'headcode': '2Y07', 'pis': '6081', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2Y07 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2y07 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t\t05.51\t1F03 07211', 'headcode': '1F03', 'pis': '5438', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1F03 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1f03 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t\t05.53\t2U00 34416', 'headcode': '2U00', 'pis': '5056', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2U00 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2u00 -Found 1 valid GWR Service -{'job_head': 'Cardiff C\t\t07.28\t1F07 17250', 'headcode': '1F07', 'pis': '6274', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1F07 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1f07 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t\t08.03\t2O72 59103', 'headcode': '2O72', 'pis': '6267', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2O72 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2o72 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t13.51\t14.09\t2V64 86059', 'headcode': '2V64', 'pis': '6230', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2V64 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2v64 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t\t15.38\t2E69 84013', 'headcode': '2E69', 'pis': '5242', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2E69 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2e69 -Found 1 valid GWR Service -{'job_head': 'Bath Spa\t\t07.04\t2R54 01946', 'headcode': '2R54', 'pis': '6289', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2R54 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2r54 -Found 2 valid GWR Service -{'job_head': 'Warminstr\t\t09.51\t2E58 78903', 'headcode': '2E58', 'pis': '6221', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2E58 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2e58 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t\t10.38\t2E57 Charf 53896', 'headcode': '2E57', 'pis': '5703', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2E57 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2e57 -Found 1 valid GWR Service -{'job_head': 'Woster FS\t\t12.53\t2T45 08866', 'headcode': '2T45', 'pis': '5765', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2T45 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2t45 -Found 1 valid GWR Service -{'job_head': 'Westn-s-M\t\t14.10\t2K38 04745', 'headcode': '2K38', 'pis': '6068', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2K38 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2k38 -Found 2 valid GWR Service -{'job_head': 'Gloucestr\t\t19.12\t2T30 83706', 'headcode': '2T30', 'pis': '6226', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2T30 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2t30 -Found 3 valid GWR Service -{'job_head': 'Gloucestr\t\t17.10\t2O84 89220', 'headcode': '2O84', 'pis': '6236', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2O84 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2o84 -Found 1 valid GWR Service -{'job_head': 'WestburyE\t\t21.33\t2O21 43592', 'headcode': '2O21', 'pis': '6253', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2O21 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2o21 -Found 1 valid GWR Service -{'job_head': 'Pmth Hbr\t\t20.24\t1F34 62516', 'headcode': '1F34', 'pis': '5640', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1F34 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1f34 -Found 1 valid GWR Service -{'job_head': 'Avonmouth\t\t19.46\t2K55 69908', 'headcode': '2K55', 'pis': '6208', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2K55 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2k55 -Found 2 valid GWR Service -{'job_head': 'Gloucestr\t22.09\t22.13\t2T53 28944', 'headcode': '2T53', 'pis': '5225', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2T53 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2t53 -Found 1 valid GWR Service -{'job_head': 'Gloucestr\t\t16.10\t2O82 39206', 'headcode': '2O82', 'pis': '6233', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2O82 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2o82 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t21.50\t21.56\t1F32 12502', 'headcode': '1F32', 'pis': '5180', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 1F32 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/1f32 -Found 1 valid GWR Service -{'job_head': 'SevernBch\t\t17.01\t2O16 08546', 'headcode': '2O16', 'pis': '6277', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2O16 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2o16 -Found 1 valid GWR Service -{'job_head': 'Cardiff C\t\t23.30\t2C98 37299', 'headcode': '2C98', 'pis': '5032', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2C98 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2c98 -Found 1 valid GWR Service -{'job_head': 'Weymouth\t\t21.28\t2V84 46265', 'headcode': '2V84', 'pis': '5254', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2V84 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2v84 -Found 1 valid GWR Service -{'job_head': 'Taunton\t06.16\t06.17\t2C72 17040', 'headcode': '2C72', 'pis': '6278', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2C72 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2c72 -Found 1 valid GWR Service -{'job_head': 'ExeterStD\t\t07.07\t2B72 36032', 'headcode': '2B72', 'pis': '5719', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2B72 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2b72 -Found 2 valid GWR Service -{'job_head': 'Brnstaple\t\t06.25\t2R80 22205', 'headcode': '2R80', 'pis': '5824', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2R80 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2r80 -Found 2 valid GWR Service -{'job_head': 'ExeterStD\t15.24\t15.29\t2T23 88635', 'headcode': '2T23', 'pis': '6182', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2T23 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2t23 -Found 2 valid GWR Service -{'job_head': 'ExeterStD\t13.47\t13.51\t2F19 74517', 'headcode': '2F19', 'pis': '5429', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2F19 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2f19 -Found 1 valid GWR Service -{'job_head': 'Taunton\t\t05.14\t2M02 WSM 56388', 'headcode': '2M02', 'pis': '5075', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2M02 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2m02 -Found 2 valid GWR Service -{'job_head': 'ExeterStD\t\t05.22\t2B70 76007', 'headcode': '2B70', 'pis': '5718', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2B70 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2b70 -Found 2 valid GWR Service -{'job_head': 'Paignton\t\t17.19\t2F28 29613', 'headcode': '2F28', 'pis': '6184', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2F28 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2f28 -Found 1 valid GWR Service -{'job_head': 'Exmouth\t\t17.26\t2T28 33692', 'headcode': '2T28', 'pis': '6189', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2T28 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2t28 -Found 2 valid GWR Service -{'job_head': 'Exmouth\t\t14.23\t2T22 63628', 'headcode': '2T22', 'pis': '5380', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2T22 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2t22 -Found 2 valid GWR Service -{'job_head': 'ExeterStD\t\t05.20\t2F02 09354', 'headcode': '2F02', 'pis': '5417', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2F02 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2f02 -Found 1 valid GWR Service -{'job_head': 'ExeterStD\t\t23.40\t2F38 09716', 'headcode': '2F38', 'pis': '5418', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2F38 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2f38 -Found 1 valid GWR Service -{'job_head': 'ExeterStD\t09.50\t09.53\t2F11 54439', 'headcode': '2F11', 'pis': '6262', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2F11 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2f11 -Found 1 valid GWR Service -{'job_head': 'ExeterCtl\t\t20.19\t2B85 01167', 'headcode': '2B85', 'pis': '5821', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2B85 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2b85 -Found 2 valid GWR Service -{'job_head': 'Brnstaple\t\t12.35\t2R86 82258', 'headcode': '2R86', 'pis': '5822', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2R86 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2r86 -Found 1 valid GWR Service -{'job_head': 'Paignton\t\t18.18\t2F30 79627', 'headcode': '2F30', 'pis': '6258', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2F30 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2f30 -Found 1 valid GWR Service -{'job_head': 'ExeterStD\t\t06.25\t2C04 26355', 'headcode': '2C04', 'pis': '5724', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2C04 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2c04 -Found 2 valid GWR Service -{'job_head': 'ExeterStD\t18.27\t18.45\t2K13 09493', 'headcode': '2K13', 'pis': '6052', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2K13 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2k13 -Found 2 valid GWR Service -{'job_head': 'OkehamptB\t\t15.25\t2R59 36992', 'headcode': '2R59', 'pis': '6046', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2R59 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2r59 -Found 1 valid GWR Service -{'job_head': 'PC\tPlymouth\t\t10.42\t2C65 21969', 'headcode': '2C65', 'pis': '5293', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2C65 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2c65 -Found 1 valid GWR Service -{'job_head': 'ExeterStD\t13.34\t13.38\t2K08 64436', 'headcode': '2K08', 'pis': '6051', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2K08 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2k08 -Found 2 valid GWR Service -{'job_head': 'ExeterCtl\t\t16.32\t2K11 49468', 'headcode': '2K11', 'pis': '6050', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2K11 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2k11 -Found 1 valid GWR Service -{'job_head': 'OkehamptB\t\t19.31\t2R63 47031', 'headcode': '2R63', 'pis': '6047', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2R63 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2r63 -Found 1 valid GWR Service -{'job_head': 'Exmouth\t\t17.56\t2T29 58699', 'headcode': '2T29', 'pis': '6089', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2T29 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2t29 -Found 2 valid GWR Service -{'job_head': 'ExeterStD\t19.19\t19.22\t2B84 66149', 'headcode': '2B84', 'pis': '5351', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2B84 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2b84 -Found 1 valid GWR Service -{'job_head': 'Brnstaple\t\t20.41\t2E94 79265', 'headcode': '2E94', 'pis': '5829', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2E94 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2e94 -Found 1 valid GWR Service -{'job_head': 'Brnstaple\t\t16.31\t2L92 76285', 'headcode': '2L92', 'pis': '6152', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2L92 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2l92 -Found 2 valid GWR Service -{'job_head': 'Exmouth\t\t18.56\t2T31 18724', 'headcode': '2T31', 'pis': '6293', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2T31 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2t31 -Found 2 valid GWR Service -{'job_head': 'Paignton\t\t20.55\t2F35 24684', 'headcode': '2F35', 'pis': '6260', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2F35 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2f35 -Found 1 valid GWR Service -{'job_head': 'Brnstaple\t\t19.42\t2T34 03756', 'headcode': '2T34', 'pis': '6285', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2T34 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2t34 -Found 2 valid GWR Service -{'job_head': 'Paignton\t\t18.50\t2E31 33637', 'headcode': '2E31', 'pis': '5426', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2E31 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2e31 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t\t22.00\t2C99 WSM 62306', 'headcode': '2C99', 'pis': '5003', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2C99 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2c99 -Found 1 valid GWR Service -{'job_head': 'Paignton\t\t23.20\t2E40 78722', 'headcode': '2E40', 'pis': '6266', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2E40 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2e40 -Found 1 valid GWR Service -{'job_head': 'Paignton\t\t16.40\t2F27 04606', 'headcode': '2F27', 'pis': '5431', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2F27 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2f27 -Found 1 valid GWR Service -{'job_head': 'Paignton\t\t20.28\t2F34 89666', 'headcode': '2F34', 'pis': '6264', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2F34 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2f34 -Found 1 valid GWR Service -{'job_head': 'Exmouth\t\t00.19\t2E41 13740', 'headcode': '2E41', 'pis': '5376', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2E41 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2e41 -Found 1 valid GWR Service -{'job_head': 'Penzance\t\t21.00\t2P30 69685', 'headcode': '2P30', 'pis': '5330', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2P30 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2p30 -Found 1 valid GWR Service -{'job_head': 'Paignton\t\t21.08\t2M73 32105', 'headcode': '2M73', 'pis': '6283', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2M73 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2m73 -Found 1 valid GWR Service -{'job_head': 'ExeterStD\t\t04.58\t2T01 78415', 'headcode': '2T01', 'pis': '5362', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2T01 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2t01 -Found 1 valid GWR Service -{'job_head': 'Exmouth\t\t05.51\t2T05 88454', 'headcode': '2T05', 'pis': '6243', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2T05 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2t05 -Found 3 valid GWR Service -{'job_head': 'ExeterStD\t\t05.34\t2T02 13433', 'headcode': '2T02', 'pis': '6187', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2T02 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2t02 -Found 1 valid GWR Service -{'job_head': 'Exmouth\t\t09.24\t2T12 83525', 'headcode': '2T12', 'pis': '5379', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2T12 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2t12 -Found 2 valid GWR Service -{'job_head': 'ExeterStD\t\t05.58\t2T04 63447', 'headcode': '2T04', 'pis': '6205', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2T04 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2t04 -Found 2 valid GWR Service -{'job_head': 'ExeterStD\t1655\t17.04\t2T26 73667', 'headcode': '2T26', 'pis': '5381', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2T26 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2t26 -Found 2 valid GWR Service -{'job_head': 'ExeterStD\t13.14\t13.19\t2B78 06096', 'headcode': '2B78', 'pis': '5832', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2B78 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2b78 -Found 1 valid GWR Service -{'job_head': 'Brnstaple\t\t14.35\t2R88 42283', 'headcode': '2R88', 'pis': '5394', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2R88 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2r88 -Found 1 valid GWR Service -{'job_head': 'ExeterStD\t17.17\t17.19\t2B82 16135', 'headcode': '2B82', 'pis': '5352', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2B82 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2b82 -Found 1 valid GWR Service -{'job_head': 'Brnstaple\t\t18.38\t2F31 14645', 'headcode': '2F31', 'pis': '5408', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2F31 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2f31 -Found 1 valid GWR Service -{'job_head': 'ExeterStD\t20.55\t21.00\t2U34 WSM 74753', 'headcode': '2U34', 'pis': '6159', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2U34 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2u34 -Found 1 valid GWR Service -{'job_head': 'ExeterStD\t(20.04)\t20.15\t2F32 39652', 'headcode': '2F32', 'pis': '6292', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2F32 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2f32 -Found 1 valid GWR Service -{'job_head': 'OkehamptB\t\t22.19\t2E65 73974', 'headcode': '2E65', 'pis': '6048', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2E65 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2e65 -Found 1 valid GWR Service -{'job_head': 'ExeterStD\t\t21.17\t2K15 59507', 'headcode': '2K15', 'pis': '6053', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2K15 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2k15 -Found 1 valid GWR Service -{'job_head': 'Exmouth\t\t19.56\t2T33 68738', 'headcode': '2T33', 'pis': '6158', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2T33 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2t33 -Found 2 valid GWR Service -{'job_head': 'Exmouth\t\t20.54\t2B86 26174', 'headcode': '2B86', 'pis': '6160', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2B86 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2b86 -Found 1 valid GWR Service -{'job_head': 'Brnstaple\t\t22.41\t2E96 39290', 'headcode': '2E96', 'pis': '6161', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2E96 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2e96 -Found 1 valid GWR Service -{'job_head': 'BristolTM\t22.54\t23.05\t2C97 WSM 12292', 'headcode': '2C97', 'pis': '5488', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2C97 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2c97 -Found 1 valid GWR Service -{'job_head': 'Brnstaple\t\t21.41\t2E95 14283', 'headcode': '2E95', 'pis': '6091', 'source_file': '20240221_file.docx', 'date': datetime.datetime(2024, 2, 21, 0, 0)} -Finding GWR service: 2E95 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21/headcode/2e95 -Found 1 valid GWR Service -Getting GWR service details: L66920 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66920 -Getting GWR service details: L65948 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65948 -Getting GWR service details: L65980 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65980 -Getting GWR service details: L66674 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66674 -Getting GWR service details: L65468 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65468 -Getting GWR service details: L65453 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65453 -Getting GWR service details: L65467 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65467 -Getting GWR service details: L65951 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65951 -Getting GWR service details: L65470 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65470 -Getting GWR service details: L65471 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65471 -Getting GWR service details: L65474 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65474 -Getting GWR service details: L65476 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65476 -Getting GWR service details: L66006 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66006 -Getting GWR service details: L66039 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66039 -Getting GWR service details: L66853 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66853 -Getting GWR service details: L65446 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65446 -Getting GWR service details: L65473 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65473 -Getting GWR service details: L66660 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66660 -Getting GWR service details: L66942 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66942 -Getting GWR service details: L65480 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65480 -Getting GWR service details: L66002 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66002 -Getting GWR service details: L65483 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65483 -Getting GWR service details: L66628 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66628 -Getting GWR service details: L66629 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66629 -Getting GWR service details: L66630 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66630 -Getting GWR service details: L66118 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66118 -Getting GWR service details: L66878 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66878 -Getting GWR service details: L66682 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66682 -Getting GWR service details: L66681 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66681 -Getting GWR service details: L66195 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66195 -Getting GWR service details: L66196 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66196 -Getting GWR service details: L65955 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65955 -Getting GWR service details: L66575 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66575 -Getting GWR service details: L66547 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66547 -Getting GWR service details: L66563 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66563 -Getting GWR service details: L66576 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66576 -Getting GWR service details: L66574 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66574 -Getting GWR service details: L66571 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66571 -Getting GWR service details: L66691 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66691 -Getting GWR service details: L66112 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66112 -Getting GWR service details: L66881 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66881 -Getting GWR service details: L65958 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65958 -Getting GWR service details: L66695 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66695 -Getting GWR service details: L65960 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65960 -Getting GWR service details: L65959 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65959 -Getting GWR service details: L66010 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66010 -Getting GWR service details: L65766 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65766 -Getting GWR service details: L65767 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65767 -Getting GWR service details: L65780 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65780 -Getting GWR service details: L65781 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65781 -Getting GWR service details: L65778 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65778 -Getting GWR service details: L65779 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65779 -Getting GWR service details: L65772 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65772 -Getting GWR service details: L65773 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65773 -Getting GWR service details: L66728 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66728 -Getting GWR service details: L66729 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66729 -Getting GWR service details: L66922 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66922 -Getting GWR service details: L66585 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66585 -Getting GWR service details: L66593 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66593 -Getting GWR service details: L66923 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66923 -Getting GWR service details: L67009 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L67009 -Getting GWR service details: L66453 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66453 -Getting GWR service details: L66454 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66454 -Getting GWR service details: L66936 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66936 -Getting GWR service details: L66679 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66679 -Getting GWR service details: L66655 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66655 -Getting GWR service details: L66607 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66607 -Getting GWR service details: L66659 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66659 -Getting GWR service details: L66661 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66661 -Getting GWR service details: L66931 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66931 -Getting GWR service details: L66494 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66494 -Getting GWR service details: L65448 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65448 -Getting GWR service details: L65449 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65449 -Getting GWR service details: L65452 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65452 -Getting GWR service details: L65458 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65458 -Getting GWR service details: L65947 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65947 -Getting GWR service details: L65451 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65451 -Getting GWR service details: L66671 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66671 -Getting GWR service details: L66930 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66930 -Getting GWR service details: L66067 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66067 -Getting GWR service details: L66068 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66068 -Getting GWR service details: L66665 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66665 -Getting GWR service details: L66924 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66924 -Getting GWR service details: L66033 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66033 -Getting GWR service details: L66495 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66495 -Getting GWR service details: L66496 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66496 -Getting GWR service details: L66306 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66306 -Getting GWR service details: L66307 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66307 -Getting GWR service details: L65504 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65504 -Getting GWR service details: L66121 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66121 -Getting GWR service details: L66477 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66477 -Getting GWR service details: L66478 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66478 -Getting GWR service details: L66492 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66492 -Getting GWR service details: L66493 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66493 -Getting GWR service details: L65456 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65456 -Getting GWR service details: L66608 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66608 -Getting GWR service details: L66489 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66489 -Getting GWR service details: L66490 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66490 -Getting GWR service details: L65956 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65956 -Getting GWR service details: L65844 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65844 -Getting GWR service details: L66023 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66023 -Getting GWR service details: L65949 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65949 -Getting GWR service details: L65984 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65984 -Getting GWR service details: L67003 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L67003 -Getting GWR service details: L65450 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65450 -Getting GWR service details: L66892 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66892 -Getting GWR service details: L65454 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65454 -Getting GWR service details: L66672 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66672 -Getting GWR service details: L66927 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66927 -Getting GWR service details: L66035 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66035 -Getting GWR service details: L66739 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66739 -Getting GWR service details: L66740 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66740 -Getting GWR service details: L66027 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66027 -Getting GWR service details: L66026 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66026 -Getting GWR service details: L66848 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66848 -Getting GWR service details: L66446 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66446 -Getting GWR service details: L66447 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66447 -Getting GWR service details: L66827 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66827 -Getting GWR service details: L66828 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66828 -Getting GWR service details: L66829 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66829 -Getting GWR service details: L66678 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66678 -Getting GWR service details: L66664 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66664 -Getting GWR service details: L65481 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65481 -Getting GWR service details: L66474 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66474 -Getting GWR service details: L66476 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66476 -Getting GWR service details: L66856 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66856 -Getting GWR service details: L66677 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66677 -Getting GWR service details: L65478 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65478 -Getting GWR service details: L66663 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66663 -Getting GWR service details: L65994 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65994 -Getting GWR service details: L66937 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66937 -Getting GWR service details: L65973 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65973 -Getting GWR service details: L65909 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65909 -Getting GWR service details: L65910 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65910 -Getting GWR service details: L66751 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66751 -Getting GWR service details: L66752 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66752 -Getting GWR service details: L66813 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66813 -Getting GWR service details: L66814 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66814 -Getting GWR service details: L66074 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66074 -Getting GWR service details: L66577 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66577 -Getting GWR service details: L66578 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66578 -Getting GWR service details: L65906 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65906 -Getting GWR service details: L65905 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65905 -Getting GWR service details: L66083 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66083 -Getting GWR service details: L66823 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66823 -Getting GWR service details: L66824 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66824 -Getting GWR service details: L66811 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66811 -Getting GWR service details: L66812 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66812 -Getting GWR service details: L66053 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66053 -Getting GWR service details: L66092 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66092 -Getting GWR service details: L66063 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66063 -Getting GWR service details: L65927 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65927 -Getting GWR service details: L65928 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65928 -Getting GWR service details: L66761 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66761 -Getting GWR service details: L66085 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66085 -Getting GWR service details: L65938 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65938 -Getting GWR service details: L65937 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65937 -Getting GWR service details: L66408 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66408 -Getting GWR service details: L66409 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66409 -Getting GWR service details: L66745 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66745 -Getting GWR service details: C02091 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/C02091 -Getting GWR service details: L66399 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66399 -Getting GWR service details: L66400 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66400 -Getting GWR service details: L66405 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66405 -Getting GWR service details: L66748 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66748 -Getting GWR service details: L66825 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66825 -Getting GWR service details: L66826 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66826 -Getting GWR service details: L65926 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65926 -Getting GWR service details: L66048 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66048 -Getting GWR service details: L66569 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66569 -Getting GWR service details: L66570 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66570 -Getting GWR service details: L66830 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66830 -Getting GWR service details: L66832 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66832 -Getting GWR service details: L66090 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66090 -Getting GWR service details: L66839 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66839 -Getting GWR service details: L66838 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66838 -Getting GWR service details: L66013 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66013 -Getting GWR service details: L65996 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65996 -Getting GWR service details: L66017 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66017 -Getting GWR service details: L66082 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66082 -Getting GWR service details: L66089 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66089 -Getting GWR service details: L66018 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66018 -Getting GWR service details: V57268 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/V57268 -Getting GWR service details: L66603 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66603 -Getting GWR service details: L66770 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66770 -Getting GWR service details: L66776 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66776 -Getting GWR service details: L66777 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66777 -Getting GWR service details: L66775 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66775 -Getting GWR service details: L66771 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66771 -Getting GWR service details: L66791 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66791 -Getting GWR service details: L66792 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66792 -Getting GWR service details: L66774 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66774 -Getting GWR service details: L66773 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66773 -Getting GWR service details: L66819 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66819 -Getting GWR service details: L66820 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66820 -Getting GWR service details: L65920 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65920 -Getting GWR service details: L66763 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66763 -Getting GWR service details: L65924 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65924 -Getting GWR service details: L66086 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66086 -Getting GWR service details: L66909 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66909 -Getting GWR service details: L66087 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66087 -Getting GWR service details: L66032 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66032 -Getting GWR service details: L66412 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66412 -Getting GWR service details: L66836 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66836 -Getting GWR service details: L66837 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66837 -Getting GWR service details: L65929 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65929 -Getting GWR service details: L66050 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66050 -Getting GWR service details: L65993 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L65993 -Getting GWR service details: L66049 , 2024-02-21 00:00:00 -http://localhost:8460/api/v2/timetable/train/2024-02-21T00:00:00/byTrainUid/L66049 -[{'pis': '5924', 'services': [{'stops': ['FRATTON', 'COSHAM', 'PCHESTR', 'FAREHAM', 'SOTON', 'ROMSEY', 'SLSBRY', 'WRMNSTR', 'DILTONM', 'WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'AVNCLFF', 'FRESHFD', 'BATHSPA', 'OLDFLDP', 'KEYNSHM', 'BRSTLTM'], 'existingPis': False, 'vstp': False}]}, {'pis': '5216', 'services': [{'stops': ['BRSTLTM', 'KEYNSHM', 'OLDFLDP', 'BATHSPA', 'FRESHFD', 'AVNCLFF', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW'], 'existingPis': False, 'vstp': False}]}, {'pis': '5257', 'services': [{'stops': ['WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'AVNCLFF', 'FRESHFD', 'BATHSPA', 'OLDFLDP', 'KEYNSHM', 'BRSTLTM'], 'existingPis': False, 'vstp': False}]}, {'pis': '6229', 'services': [{'stops': ['GLOSTER', 'YATE', 'BRSTPWY', 'FILTNEW', 'BRSTLTM', 'KEYNSHM', 'OLDFLDP', 'BATHSPA', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'FROME', 'BRUTON', 'CCARY', 'YOVILPM', 'THFORD', 'YTMNSTR', 'CHETNOL', 'MDNNWTN', 'DRCHW', 'UPWEY', 'WEYMTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '5124', 'services': [{'stops': ['CRDFCEN', 'NWPTRTG', 'FILTNEW', 'BRSTLTM', 'BATHSPA', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'WRMNSTR', 'SLSBRY', 'ROMSEY', 'SOTON', 'FAREHAM', 'COSHAM', 'FRATTON', 'PSEA', 'PHBR'], 'existingPis': False, 'vstp': False}]}, {'pis': '6062', 'services': [{'stops': ['PHBR', 'PSEA', 'FRATTON', 'COSHAM', 'FAREHAM', 'SOTON', 'ROMSEY', 'SLSBRY', 'WRMNSTR', 'DILTONM', 'WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'FRESHFD', 'BATHSPA', 'OLDFLDP', 'KEYNSHM', 'BRSTLTM', 'FILTNEW', 'SEVTNLJ', 'NWPTRTG', 'CRDFCEN'], 'existingPis': False, 'vstp': False}]}, {'pis': '5179', 'services': [{'stops': ['PHBR', 'PSEA', 'FRATTON', 'COSHAM', 'FAREHAM', 'SOTON', 'ROMSEY', 'SLSBRY', 'WRMNSTR', 'WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'BATHSPA', 'BRSTLTM', 'FILTNEW', 'NWPTRTG', 'CRDFCEN'], 'existingPis': False, 'vstp': False}]}, {'pis': '6231', 'services': [{'stops': ['GLOSTER', 'YATE', 'BRSTPWY', 'FILTNEW', 'BRSTLTM', 'KEYNSHM', 'OLDFLDP', 'BATHSPA', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW'], 'existingPis': False, 'vstp': False}]}, {'pis': '6129', 'services': [{'stops': ['CRDFCEN', 'NWPTRTG', 'FILTNEW', 'BRSTLTM', 'BATHSPA', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'WRMNSTR', 'SLSBRY', 'ROMSEY', 'SOTON', 'FAREHAM', 'COSHAM', 'FRATTON', 'PSEA', 'PHBR'], 'existingPis': False, 'vstp': False}]}, {'pis': '5181', 'services': [{'stops': ['PHBR', 'PSEA', 'FRATTON', 'COSHAM', 'FAREHAM', 'SOTON', 'ROMSEY', 'SLSBRY', 'WRMNSTR', 'WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'BATHSPA', 'BRSTLTM', 'FILTNEW', 'SEVTNLJ', 'NWPTRTG', 'CRDFCEN'], 'existingPis': False, 'vstp': False}]}, {'pis': '6287', 'services': [{'stops': ['CRDFCEN', 'NWPTRTG', 'SEVTNLJ', 'FILTNEW', 'BRSTLTM', 'KEYNSHM', 'BATHSPA', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'WRMNSTR', 'SLSBRY', 'ROMSEY', 'SOTON', 'FAREHAM', 'FRATTON', 'PSEA', 'PHBR'], 'existingPis': False, 'vstp': False}]}, {'pis': '5449', 'services': [{'stops': ['CRDFCEN', 'NWPTRTG', 'SEVTNLJ', 'FILTNEW', 'BRSTLTM', 'BATHSPA', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'WRMNSTR', 'SLSBRY', 'ROMSEY', 'SOTON', 'FAREHAM', 'FRATTON', 'PSEA', 'PHBR'], 'existingPis': False, 'vstp': False}]}, {'pis': '5870', 'services': [{'stops': ['WRMNSTR', 'DILTONM', 'WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'AVNCLFF', 'FRESHFD', 'BATHSPA', 'OLDFLDP', 'KEYNSHM', 'BRSTLTM'], 'existingPis': False, 'vstp': False}]}, {'pis': '5803', 'services': [{'stops': ['BRSTLTM', 'FILTNEW', 'BRSTPWY', 'YATE', 'DURSLEY', 'GLOSTER', 'CHLTNHM', 'ASHCHRC', 'WORCSSH', 'WORCSFS', 'MLVRNLK', 'GTMLVRN'], 'existingPis': False, 'vstp': False}]}, {'pis': '5232', 'services': [{'stops': ['WORCSSH', 'ASHCHRC', 'CHLTNHM', 'GLOSTER', 'DURSLEY', 'YATE', 'BRSTPWY', 'FILTNEW', 'BRSTLTM'], 'existingPis': False, 'vstp': False}]}, {'pis': '5126', 'services': [{'stops': ['CRDFCEN', 'NWPTRTG', 'FILTNEW', 'BRSTLTM', 'BATHSPA', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'WRMNSTR', 'SLSBRY', 'ROMSEY', 'SOTON', 'SOTPKWY', 'ELGH', 'HEDGEND', 'BOTLEY', 'FAREHAM', 'FRATTON', 'PSEA', 'PHBR'], 'existingPis': False, 'vstp': False}]}, {'pis': '6220', 'services': [{'stops': ['PHBR', 'PSEA', 'FRATTON', 'COSHAM', 'FAREHAM', 'SOTON', 'ROMSEY', 'SLSBRY', 'WRMNSTR', 'WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'BATHSPA', 'KEYNSHM', 'BRSTLTM', 'FILTNEW', 'SEVTNLJ', 'NWPTRTG', 'CRDFCEN'], 'existingPis': False, 'vstp': False}]}, {'pis': '6150', 'services': [{'stops': ['GLOSTER', 'STNHSE', 'STRUD', 'KEMBLE', 'SDON', 'CHIPNHM', 'MELKSHM', 'TRWBRDG', 'WSTBRYW', 'DILTONM', 'WRMNSTR', 'SLSBRY'], 'existingPis': False, 'vstp': False}]}, {'pis': '5866', 'services': [{'stops': ['SLSBRY', 'WRMNSTR', 'DILTONM', 'WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'AVNCLFF', 'FRESHFD', 'BATHSPA', 'OLDFLDP', 'KEYNSHM', 'BRSTLTM'], 'existingPis': False, 'vstp': False}]}, {'pis': '6153', 'services': [{'stops': ['CRDFCEN', 'NWPTRTG', 'SEVTNLJ', 'FILTNEW', 'BRSTLTM', 'BATHSPA', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'DILTONM', 'WRMNSTR', 'SLSBRY', 'ROMSEY', 'SOTON', 'FAREHAM', 'FRATTON', 'PSEA', 'PHBR'], 'existingPis': False, 'vstp': False}]}, {'pis': '5793', 'services': []}, {'pis': '5055', 'services': [{'stops': ['BRSTLTM', 'LAWRNCH', 'STPLTNR', 'FILTNEW', 'BRSTPWY'], 'existingPis': False, 'vstp': False}]}, {'pis': '5704', 'services': [{'stops': ['BRSTPWY', 'FILTNEW', 'STPLTNR', 'LAWRNCH', 'BRSTLTM', 'KEYNSHM', 'OLDFLDP', 'BATHSPA', 'FRESHFD', 'AVNCLFF', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'WRMNSTR', 'SLSBRY', 'ROMSEY', 'SOTON', 'FAREHAM', 'FRATTON', 'PSEA'], 'existingPis': False, 'vstp': False}]}, {'pis': '5278', 'services': [{'stops': ['PARR', 'LUXULYN', 'BUGLE', 'RCHE', 'STCLMBR', 'QNTRLDW', 'NEWQUAY'], 'existingPis': False, 'vstp': False}, {'stops': ['PADTON', 'SLOUGH', 'MDNHEAD', 'TWYFORD', 'RDNGSTN', 'TILHRST', 'PANGBRN', 'GORASTR', 'CHOLSEY', 'DIDCOTP'], 'existingPis': False, 'vstp': False}]}, {'pis': '5318', 'services': [{'stops': ['NEWQUAY', 'QNTRLDW', 'STCLMBR', 'RCHE', 'BUGLE', 'LUXULYN', 'PARR'], 'existingPis': False, 'vstp': False}]}, {'pis': '5305', 'services': [{'stops': ['TRURO', 'PERANWL', 'PRYN', 'PENMERE', 'FALMTHT', 'FALMTHD'], 'existingPis': False, 'vstp': False}]}, {'pis': '5307', 'services': [{'stops': ['FALMTHD', 'FALMTHT', 'PENMERE', 'PRYN', 'TRURO'], 'existingPis': False, 'vstp': False}]}, {'pis': '6270', 'services': [{'stops': ['PARR', 'LSTWTHL', 'BODMNPW', 'LISKARD', 'MENHENT', 'STGRMNS', 'SASH', 'STBDXFR', 'KEYHAM', 'DOCKYDP', 'DEVNPRT', 'PLYMTH'], 'existingPis': False, 'vstp': False}, {'stops': ['RDNGSTN', 'TWYFORD', 'MDNHEAD', 'SLOUGH', 'WDRYTON', 'HAYESAH', 'STHALL', 'EALINGB', 'PADTON'], 'existingPis': False, 'vstp': False}]}, {'pis': '5281', 'services': [{'stops': ['PLYMTH', 'DEVNPRT', 'DOCKYDP', 'KEYHAM', 'STBDXVR', 'BEREFRS', 'BEREALS', 'CALSTCK', 'GUNISLK'], 'existingPis': False, 'vstp': False}]}, {'pis': '5310', 'services': [{'stops': ['GUNISLK', 'CALSTCK', 'BEREALS', 'BEREFRS', 'STBDXVR', 'KEYHAM', 'DOCKYDP', 'DEVNPRT', 'PLYMTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '5290', 'services': [{'stops': ['PLYMTH', 'SASH', 'STGRMNS', 'LISKARD', 'BODMNPW', 'LSTWTHL', 'PARR', 'STAUSTL', 'TRURO', 'REDRUTH', 'CBORNE', 'HAYLE', 'STERTH', 'PENZNCE'], 'existingPis': False, 'vstp': False}]}, {'pis': '5274', 'services': [{'stops': ['LISKARD', 'STKEYNE', 'CAUSLND', 'SDPLACE', 'LOOE'], 'existingPis': False, 'vstp': False}]}, {'pis': '5315', 'services': [{'stops': ['LOOE', 'SDPLACE', 'CAUSLND', 'STKEYNE', 'COOMBE', 'LISKARD'], 'existingPis': False, 'vstp': False}]}, {'pis': '5272', 'services': [{'stops': ['LISKARD', 'COOMBE', 'STKEYNE', 'CAUSLND', 'SDPLACE', 'LOOE'], 'existingPis': False, 'vstp': False}]}, {'pis': '5316', 'services': [{'stops': ['LOOE', 'SDPLACE', 'CAUSLND', 'STKEYNE', 'LISKARD'], 'existingPis': False, 'vstp': False}]}, {'pis': '5314', 'services': [{'stops': ['LOOE', 'LISKARD'], 'existingPis': False, 'vstp': False}]}, {'pis': '5273', 'services': [{'stops': ['LISKARD', 'LOOE'], 'existingPis': False, 'vstp': False}]}, {'pis': '5334', 'services': [{'stops': ['PENZNCE', 'STERTH', 'HAYLE', 'CBORNE', 'REDRUTH', 'TRURO', 'STAUSTL', 'PARR', 'LSTWTHL', 'BODMNPW', 'LISKARD', 'STGRMNS', 'SASH', 'PLYMTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '5304', 'services': [{'stops': ['TRURO', 'PRYN', 'PENMERE', 'FALMTHT', 'FALMTHD'], 'existingPis': False, 'vstp': False}]}, {'pis': '5306', 'services': [{'stops': ['FALMTHD', 'FALMTHT', 'PENMERE', 'PRYN', 'PERANWL', 'TRURO'], 'existingPis': False, 'vstp': False}]}, {'pis': '5283', 'services': [{'stops': ['PLYMTH', 'DEVNPRT', 'DOCKYDP', 'KEYHAM', 'STBDXFR', 'SASH', 'STGRMNS', 'MENHENT', 'LISKARD'], 'existingPis': False, 'vstp': False}]}, {'pis': '5792', 'services': [{'stops': ['LISKARD', 'SASH', 'STBDXFR', 'PLYMTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '5286', 'services': [{'stops': ['BRSTLTM', 'KEYNSHM', 'OLDFLDP', 'BATHSPA', 'FRESHFD', 'AVNCLFF', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW'], 'existingPis': False, 'vstp': False}, {'stops': ['PLYMTH', 'DEVNPRT', 'DOCKYDP', 'KEYHAM', 'STBDXFR', 'SASH', 'STGRMNS', 'MENHENT', 'LISKARD', 'BODMNPW', 'LSTWTHL', 'PARR', 'STAUSTL', 'TRURO', 'REDRUTH', 'CBORNE', 'HAYLE', 'STERTH', 'PENZNCE'], 'existingPis': False, 'vstp': False}]}, {'pis': '5607', 'services': [{'stops': ['PENZNCE', 'STERTH', 'HAYLE', 'CBORNE', 'REDRUTH', 'TRURO', 'STAUSTL', 'PARR', 'LSTWTHL', 'BODMNPW', 'LISKARD', 'STGRMNS', 'SASH', 'PLYMTH', 'IVYBDGE', 'TOTNES', 'NABT', 'TEINMTH', 'DAWLISH', 'DAWLSHW', 'EXETRSD'], 'existingPis': False, 'vstp': False}]}, {'pis': '5346', 'services': [{'stops': ['STERTH', 'LELANT', 'CARBISB', 'STIVES'], 'existingPis': False, 'vstp': False}, {'stops': ['WINDSEC', 'SLOUGH'], 'existingPis': False, 'vstp': False}]}, {'pis': '5675', 'services': [{'stops': ['STIVES', 'CARBISB', 'STERTH'], 'existingPis': False, 'vstp': False}, {'stops': ['WINDSEC', 'SLOUGH'], 'existingPis': False, 'vstp': False}]}, {'pis': '5674', 'services': [{'stops': ['STERTH', 'CARBISB', 'STIVES'], 'existingPis': False, 'vstp': False}, {'stops': ['WINDSEC', 'SLOUGH'], 'existingPis': False, 'vstp': False}]}, {'pis': '5300', 'services': [{'stops': ['STIVES', 'CARBISB', 'LELANT', 'STERTH'], 'existingPis': False, 'vstp': False}, {'stops': ['WINDSEC', 'SLOUGH'], 'existingPis': False, 'vstp': False}]}, {'pis': '5728', 'services': [{'stops': ['FALMTHD', 'FALMTHT', 'PENMERE', 'PRYN', 'PERANWL', 'TRURO', 'STAUSTL', 'PARR'], 'existingPis': False, 'vstp': False}, {'stops': ['DIDCOTP', 'CHOLSEY', 'GORASTR', 'PANGBRN', 'TILHRST', 'RDNGSTN', 'TWYFORD', 'MDNHEAD', 'SLOUGH', 'PADTON'], 'existingPis': False, 'vstp': False}]}, {'pis': '6238', 'services': [{'stops': ['WEYMTH', 'UPWEY', 'DRCHW', 'MDNNWTN', 'CHETNOL', 'YTMNSTR', 'THFORD', 'YOVILPM', 'CCARY', 'BRUTON', 'FROME', 'WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'AVNCLFF', 'FRESHFD', 'BATHSPA', 'OLDFLDP', 'KEYNSHM', 'BRSTLTM', 'FILTNEW', 'BRSTPWY', 'YATE', 'GLOSTER'], 'existingPis': False, 'vstp': False}]}, {'pis': '5214', 'services': [{'stops': ['WSTBRYW', 'TRWBRDG', 'MELKSHM', 'CHIPNHM', 'SDON'], 'existingPis': False, 'vstp': False}]}, {'pis': '5208', 'services': [{'stops': ['SDON', 'CHIPNHM', 'MELKSHM', 'TRWBRDG', 'WSTBRYW'], 'existingPis': False, 'vstp': False}]}, {'pis': '6272', 'services': [{'stops': ['WEYMTH', 'UPWEY', 'DRCHW', 'MDNNWTN', 'CHETNOL', 'YTMNSTR', 'THFORD', 'YOVILPM', 'CCARY', 'FROME', 'WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'FRESHFD', 'BATHSPA', 'OLDFLDP', 'KEYNSHM', 'BRSTLTM', 'FILTNEW', 'BRSTPWY', 'YATE', 'GLOSTER'], 'existingPis': False, 'vstp': False}]}, {'pis': '6067', 'services': [{'stops': ['AVONMTH', 'PTWYPR', 'SHAMPTN', 'SEMILLS', 'CLFDOWN', 'REDLAND', 'MONPELR', 'STPLTNR', 'LAWRNCH', 'BRSTLTM', 'BDMNSTR', 'PARSNST', 'NAILSEA', 'YATTON', 'WORLE', 'WMILTON', 'WSMARE'], 'existingPis': False, 'vstp': False}]}, {'pis': '6167', 'services': [{'stops': ['WSMARE', 'WMILTON', 'WORLE', 'YATTON', 'NAILSEA', 'PARSNST', 'BDMNSTR', 'BRSTLTM', 'LAWRNCH', 'STPLTNR', 'MONPELR', 'REDLAND', 'CLFDOWN', 'SEMILLS', 'SHAMPTN', 'PTWYPR', 'AVONMTH', 'SADWRD', 'SVRNBCH'], 'existingPis': False, 'vstp': False}, {'stops': ['RDNGSTN', 'REDGWST', 'THEALE', 'ALDMSTN', 'MIDGHAM', 'THATCHM', 'NEWBRYR', 'NEWBURY'], 'existingPis': False, 'vstp': False}]}, {'pis': '5248', 'services': [{'stops': ['WEYMTH', 'UPWEY', 'DRCHW', 'MDNNWTN', 'CHETNOL', 'YTMNSTR', 'THFORD', 'YOVILPM', 'CCARY', 'BRUTON', 'FROME', 'WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'AVNCLFF', 'FRESHFD', 'BATHSPA', 'OLDFLDP', 'KEYNSHM', 'BRSTLTM'], 'existingPis': False, 'vstp': False}]}, {'pis': '5215', 'services': [{'stops': ['BRSTLTM', 'KEYNSHM', 'OLDFLDP', 'BATHSPA', 'FRESHFD', 'AVNCLFF', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'FROME', 'BRUTON', 'CCARY', 'YOVILPM', 'THFORD', 'YTMNSTR', 'CHETNOL', 'MDNNWTN', 'DRCHW', 'UPWEY', 'WEYMTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '5149', 'services': [{'stops': ['WSTBRYW', 'WRMNSTR', 'SLSBRY'], 'existingPis': False, 'vstp': False}]}, {'pis': '6269', 'services': [{'stops': ['SLSBRY', 'WRMNSTR', 'WSTBRYW', 'TRWBRDG', 'MELKSHM', 'CHIPNHM', 'SDON', 'KEMBLE', 'STRUD', 'STNHSE', 'GLOSTER', 'CHLTNHM', 'ASHCHRC', 'WORCSSH', 'WORCSFS'], 'existingPis': False, 'vstp': False}]}, {'pis': '6216', 'services': [{'stops': ['BRSTLTM', 'KEYNSHM', 'OLDFLDP', 'BATHSPA', 'FRESHFD', 'AVNCLFF', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'WRMNSTR', 'SLSBRY'], 'existingPis': False, 'vstp': False}]}, {'pis': '6222', 'services': [{'stops': ['BRSTLTM', 'KEYNSHM', 'OLDFLDP', 'BATHSPA', 'FRESHFD', 'AVNCLFF', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'DILTONM', 'WRMNSTR', 'SLSBRY'], 'existingPis': False, 'vstp': False}]}, {'pis': '6288', 'services': [{'stops': ['YOVILPM', 'CCARY', 'BRUTON', 'FROME', 'WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'AVNCLFF', 'FRESHFD', 'BATHSPA', 'OLDFLDP', 'KEYNSHM', 'BRSTLTM', 'LAWRNCH', 'STPLTNR', 'FILTNEW'], 'existingPis': False, 'vstp': False}]}, {'pis': '6070', 'services': [{'stops': ['SVRNBCH', 'SADWRD', 'AVONMTH', 'PTWYPR', 'SHAMPTN', 'SEMILLS', 'CLFDOWN', 'REDLAND', 'MONPELR', 'STPLTNR', 'LAWRNCH', 'BRSTLTM'], 'existingPis': False, 'vstp': False}]}, {'pis': '5776', 'services': [{'stops': ['BRSTLTM', 'BATHSPA', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'WRMNSTR', 'SLSBRY', 'ROMSEY', 'SOTON', 'FAREHAM', 'COSHAM', 'FRATTON', 'PSEA', 'PHBR'], 'existingPis': False, 'vstp': False}]}, {'pis': '5775', 'services': [{'stops': ['WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'AVNCLFF', 'FRESHFD', 'BATHSPA', 'OLDFLDP', 'KEYNSHM', 'BRSTLTM', 'LAWRNCH', 'STPLTNR', 'FILTNEW', 'SEVTNLJ', 'NWPTRTG', 'CRDFCEN'], 'existingPis': False, 'vstp': False}]}, {'pis': '6193', 'services': [{'stops': ['CRDFCEN', 'NWPTRTG', 'SEVTNLJ', 'PATCHWY', 'FILTNEW', 'BRSTLTM', 'BATHSPA', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'DILTONM', 'WRMNSTR', 'SLSBRY', 'ROMSEY', 'SOTON', 'FAREHAM', 'COSHAM', 'FRATTON', 'PSEA', 'PHBR'], 'existingPis': False, 'vstp': False}]}, {'pis': '5127', 'services': [{'stops': ['CRDFCEN', 'NWPTRTG', 'SEVTNLJ', 'FILTNEW', 'BRSTLTM', 'BATHSPA', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'DILTONM', 'WRMNSTR', 'SLSBRY', 'ROMSEY', 'SOTON', 'FAREHAM', 'COSHAM', 'FRATTON', 'PSEA', 'PHBR'], 'existingPis': False, 'vstp': False}]}, {'pis': '5237', 'services': [{'stops': ['WSTBRYW', 'FROME'], 'existingPis': False, 'vstp': False}]}, {'pis': '5165', 'services': [{'stops': ['FROME', 'WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'AVNCLFF', 'FRESHFD', 'BATHSPA', 'OLDFLDP', 'KEYNSHM', 'BRSTLTM', 'FILTNEW', 'PATCHWY', 'SEVTNLJ', 'NWPTRTG', 'CRDFCEN'], 'existingPis': False, 'vstp': False}]}, {'pis': '5238', 'services': [{'stops': ['WSTBRYW', 'FROME', 'BRUTON', 'CCARY', 'YOVILPM', 'THFORD', 'YTMNSTR', 'CHETNOL', 'MDNNWTN', 'DRCHW', 'UPWEY', 'WEYMTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '6273', 'services': [{'stops': ['WEYMTH', 'UPWEY', 'DRCHW', 'MDNNWTN', 'CHETNOL', 'YTMNSTR', 'THFORD', 'YOVILPM', 'CCARY', 'BRUTON', 'FROME', 'WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'BATHSPA', 'OLDFLDP', 'KEYNSHM', 'BRSTLTM', 'FILTNEW', 'BRSTPWY', 'YATE', 'GLOSTER'], 'existingPis': False, 'vstp': False}]}, {'pis': '6250', 'services': [{'stops': ['PAIGNTN', 'TORQUAY', 'TORRE', 'NABT', 'TEINMTH', 'DAWLISH', 'MSBTN', 'EXETRSD', 'EXETERC', 'STJAMSP', 'POLSBDG', 'DIGBY', 'NWCOURT', 'TOPSHAM', 'EXTON', 'LYMPSTC', 'LYMPSTN', 'EXMOUTH'], 'existingPis': False, 'vstp': False}, {'stops': ['BRSTLTM', 'KEYNSHM', 'OLDFLDP', 'BATHSPA', 'FRESHFD', 'AVNCLFF', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'DILTONM', 'WRMNSTR'], 'existingPis': False, 'vstp': False}]}, {'pis': '5205', 'services': [{'stops': ['GLOSTER', 'STNHSE', 'STRUD', 'KEMBLE', 'SDON', 'CHIPNHM', 'MELKSHM', 'TRWBRDG', 'WSTBRYW', 'DILTONM', 'WRMNSTR', 'SLSBRY', 'ROMSEY', 'SOTON'], 'existingPis': False, 'vstp': False}]}, {'pis': '5189', 'services': [{'stops': ['SOTON', 'ROMSEY', 'SLSBRY', 'WRMNSTR', 'DILTONM', 'WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'AVNCLFF', 'FRESHFD', 'BATHSPA', 'OLDFLDP', 'KEYNSHM', 'BRSTLTM'], 'existingPis': False, 'vstp': False}]}, {'pis': '6232', 'services': [{'stops': ['WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'BATHSPA', 'OLDFLDP', 'KEYNSHM', 'BRSTLTM', 'FILTNEW', 'BRSTPWY', 'YATE', 'GLOSTER'], 'existingPis': False, 'vstp': False}]}, {'pis': '6069', 'services': [{'stops': ['BRSTLTM', 'LAWRNCH', 'STPLTNR', 'MONPELR', 'REDLAND', 'CLFDOWN', 'SEMILLS', 'SHAMPTN', 'PTWYPR', 'AVONMTH', 'SADWRD', 'SVRNBCH'], 'existingPis': False, 'vstp': False}, {'stops': ['RDNGSTN', 'REDGWST', 'THEALE', 'ALDMSTN', 'MIDGHAM', 'THATCHM', 'NEWBRYR', 'NEWBURY'], 'existingPis': False, 'vstp': False}]}, {'pis': '5502', 'services': [{'stops': ['BRSTLTM', 'LAWRNCH', 'STPLTNR', 'FILTNEW'], 'existingPis': False, 'vstp': False}]}, {'pis': '5523', 'services': [{'stops': ['FILTNEW', 'STPLTNR', 'LAWRNCH', 'BRSTLTM'], 'existingPis': False, 'vstp': False}]}, {'pis': '6079', 'services': [{'stops': ['CRDFCEN', 'NWPTRTG', 'SEVTNLJ', 'FILTNEW', 'BRSTLTM', 'KEYNSHM', 'BATHSPA', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'FROME'], 'existingPis': False, 'vstp': False}]}, {'pis': '5151', 'services': [{'stops': ['WSTBRYW', 'DILTONM', 'WRMNSTR'], 'existingPis': False, 'vstp': False}]}, {'pis': '6083', 'services': [{'stops': ['BRSTLTM', 'LAWRNCH', 'STPLTNR', 'MONPELR', 'REDLAND', 'CLFDOWN', 'SEMILLS', 'SHAMPTN', 'PTWYPR', 'AVONMTH'], 'existingPis': False, 'vstp': False}, {'stops': ['RDNGSTN', 'REDGWST', 'THEALE', 'ALDMSTN', 'MIDGHAM', 'THATCHM', 'NEWBRYR', 'NEWBURY'], 'existingPis': False, 'vstp': False}]}, {'pis': '6084', 'services': [{'stops': ['WSMARE', 'WMILTON', 'WORLE', 'YATTON', 'NAILSEA', 'PARSNST', 'BDMNSTR', 'BRSTLTM', 'LAWRNCH', 'STPLTNR', 'MONPELR', 'REDLAND', 'CLFDOWN'], 'existingPis': False, 'vstp': False}, {'stops': ['RDNGSTN', 'REDGWST', 'THEALE', 'ALDMSTN', 'MIDGHAM', 'THATCHM', 'NEWBRYR', 'NEWBURY'], 'existingPis': False, 'vstp': False}]}, {'pis': '5128', 'services': [{'stops': ['CRDFCEN', 'NWPTRTG', 'SEVTNLJ', 'FILTNEW', 'BRSTLTM', 'BATHSPA', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'WRMNSTR', 'SLSBRY', 'ROMSEY', 'SOTON', 'FAREHAM', 'COSHAM', 'FRATTON', 'PSEA', 'PHBR'], 'existingPis': False, 'vstp': False}]}, {'pis': '5809', 'services': [{'stops': ['PHBR', 'PSEA', 'FRATTON', 'FAREHAM', 'ELGH', 'SOTPKWY', 'SOTON', 'ROMSEY', 'SLSBRY', 'WRMNSTR', 'DILTONM', 'WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'BATHSPA', 'BRSTLTM'], 'existingPis': False, 'vstp': False}]}, {'pis': '6085', 'services': [{'stops': ['AVONMTH', 'SADWRD', 'SVRNBCH'], 'existingPis': False, 'vstp': False}, {'stops': ['RDNGSTN', 'REDGWST', 'THEALE', 'ALDMSTN', 'MIDGHAM', 'THATCHM', 'NEWBRYR', 'NEWBURY'], 'existingPis': False, 'vstp': False}]}, {'pis': '5101', 'services': [{'stops': ['BRSTLTM', 'KEYNSHM', 'OLDFLDP', 'BATHSPA', 'FRESHFD', 'AVNCLFF', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'FROME'], 'existingPis': False, 'vstp': False}]}, {'pis': '5245', 'services': [{'stops': ['FROME', 'WSTBRYW'], 'existingPis': False, 'vstp': False}]}, {'pis': '6225', 'services': [{'stops': ['BRSTLTM', 'FILTNEW', 'BRSTPWY', 'YATE', 'GLOSTER'], 'existingPis': False, 'vstp': False}]}, {'pis': '6257', 'services': [{'stops': ['GLOSTER', 'YATE', 'BRSTPWY', 'FILTNEW', 'BRSTLTM', 'KEYNSHM', 'OLDFLDP', 'BATHSPA', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'FROME'], 'existingPis': False, 'vstp': False}]}, {'pis': '5243', 'services': [{'stops': ['FROME', 'WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'AVNCLFF', 'FRESHFD', 'BATHSPA', 'OLDFLDP', 'KEYNSHM', 'BRSTLTM'], 'existingPis': False, 'vstp': False}]}, {'pis': '6081', 'services': [{'stops': ['SVRNBCH', 'SADWRD', 'AVONMTH', 'PTWYPR', 'SHAMPTN', 'SEMILLS', 'CLFDOWN', 'REDLAND', 'MONPELR', 'STPLTNR', 'LAWRNCH', 'BRSTLTM', 'BDMNSTR', 'PARSNST', 'NAILSEA', 'YATTON', 'WORLE', 'WMILTON', 'WSMARE'], 'existingPis': False, 'vstp': False}]}, {'pis': '5438', 'services': [{'stops': ['BRSTLTM', 'KEYNSHM', 'OLDFLDP', 'BATHSPA', 'FRESHFD', 'AVNCLFF', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'WRMNSTR', 'SLSBRY', 'ROMSEY', 'SOTON', 'FAREHAM', 'COSHAM', 'FRATTON', 'PSEA', 'PHBR'], 'existingPis': False, 'vstp': False}]}, {'pis': '5056', 'services': [{'stops': ['BRSTLTM', 'FILTNEW', 'PATCHWY', 'SEVTNLJ', 'NWPTRTG', 'CRDFCEN'], 'existingPis': False, 'vstp': False}]}, {'pis': '6274', 'services': [{'stops': ['CRDFCEN', 'NWPTRTG', 'SEVTNLJ', 'FILTNEW', 'BRSTLTM', 'KEYNSHM', 'OLDFLDP', 'BATHSPA', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'WRMNSTR', 'SLSBRY', 'ROMSEY', 'SOTON', 'FAREHAM', 'COSHAM', 'FRATTON', 'PSEA', 'PHBR'], 'existingPis': False, 'vstp': False}]}, {'pis': '6267', 'services': [{'stops': ['BRSTLTM', 'KEYNSHM', 'OLDFLDP', 'BATHSPA', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'FROME', 'BRUTON', 'CCARY', 'YOVILPM', 'THFORD', 'YTMNSTR', 'CHETNOL', 'MDNNWTN', 'DRCHW', 'UPWEY', 'WEYMTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '6230', 'services': [{'stops': ['WEYMTH', 'UPWEY', 'DRCHW', 'MDNNWTN', 'CHETNOL', 'YTMNSTR', 'THFORD', 'YOVILPM', 'CCARY', 'BRUTON', 'FROME', 'WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'BATHSPA', 'OLDFLDP', 'KEYNSHM', 'BRSTLTM', 'FILTNEW', 'BRSTPWY', 'YATE', 'GLOSTER'], 'existingPis': False, 'vstp': False}]}, {'pis': '5242', 'services': [{'stops': ['BRSTLTM', 'FILTNEW', 'BRSTPWY', 'YATE', 'DURSLEY', 'GLOSTER', 'CHLTNHM', 'ASHCHRC', 'WORCSSH'], 'existingPis': False, 'vstp': False}]}, {'pis': '6289', 'services': [{'stops': ['OKHMPTN', 'CREDITN', 'NSTCYRE', 'EXETRSD', 'EXETERC'], 'existingPis': False, 'vstp': False}, {'stops': ['BATHSPA', 'OLDFLDP', 'KEYNSHM', 'LAWRNCH', 'STPLTNR', 'FILTNEW'], 'existingPis': False, 'vstp': False}]}, {'pis': '6221', 'services': [{'stops': ['WRMNSTR', 'DILTONM', 'WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'BATHSPA', 'OLDFLDP', 'KEYNSHM', 'BRSTLTM', 'FILTNEW', 'BRSTPWY', 'YATE', 'GLOSTER'], 'existingPis': False, 'vstp': False}]}, {'pis': '5703', 'services': [{'stops': ['BRSTLTM', 'FILTNEW', 'BRSTPWY', 'YATE', 'DURSLEY', 'GLOSTER', 'CHLTNHM', 'ASHCHRC', 'WORCSSH', 'WORCSFS'], 'existingPis': False, 'vstp': False}]}, {'pis': '5765', 'services': [{'stops': ['WORCSFS', 'WORCSSH', 'ASHCHRC', 'CHLTNHM', 'GLOSTER', 'DURSLEY', 'YATE', 'BRSTPWY', 'FILTNEW', 'BRSTLTM'], 'existingPis': False, 'vstp': False}]}, {'pis': '6068', 'services': [{'stops': ['WSMARE', 'WMILTON', 'WORLE', 'YATTON', 'NAILSEA', 'PARSNST', 'BDMNSTR', 'BRSTLTM', 'LAWRNCH', 'STPLTNR', 'MONPELR', 'REDLAND', 'CLFDOWN', 'SEMILLS', 'SHAMPTN', 'PTWYPR', 'AVONMTH'], 'existingPis': False, 'vstp': False}, {'stops': ['RDNGSTN', 'REDGWST', 'THEALE', 'ALDMSTN', 'MIDGHAM', 'THATCHM', 'NEWBRYR', 'NEWBURY'], 'existingPis': False, 'vstp': False}]}, {'pis': '6226', 'services': [{'stops': ['EXMOUTH', 'LYMPSTN', 'LYMPSTC', 'EXTON', 'TOPSHAM', 'NWCOURT', 'DIGBY', 'POLSBDG', 'STJAMSP', 'EXETERC', 'EXETRSD', 'EXETRST', 'MSBTN', 'STRCROS', 'DAWLSHW', 'DAWLISH', 'TEINMTH', 'NABT', 'TORRE', 'TORQUAY', 'PAIGNTN'], 'existingPis': False, 'vstp': False}, {'stops': ['BEDYN', 'HUNGRFD', 'KNTBRY', 'NEWBURY'], 'existingPis': False, 'vstp': False}, {'stops': ['GLOSTER', 'YATE', 'BRSTPWY', 'FILTNEW', 'BRSTLTM'], 'existingPis': False, 'vstp': False}]}, {'pis': '6236', 'services': [{'stops': ['GLOSTER', 'YATE', 'BRSTPWY', 'FILTNEW', 'BRSTLTM', 'KEYNSHM', 'OLDFLDP', 'BATHSPA', 'FRESHFD', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'FROME', 'BRUTON', 'CCARY', 'YOVILPM', 'THFORD', 'YTMNSTR', 'CHETNOL', 'MDNNWTN', 'DRCHW', 'UPWEY', 'WEYMTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '6253', 'services': [{'stops': ['WSTBRYW', 'DILTONM', 'WRMNSTR', 'SLSBRY'], 'existingPis': False, 'vstp': False}]}, {'pis': '5640', 'services': [{'stops': ['PHBR', 'PSEA', 'FRATTON', 'FAREHAM', 'SOTON', 'ROMSEY', 'SLSBRY', 'WRMNSTR', 'WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'BATHSPA', 'BRSTLTM', 'FILTNEW', 'PATCHWY', 'SEVTNLJ', 'NWPTRTG', 'CRDFCEN'], 'existingPis': False, 'vstp': False}]}, {'pis': '6208', 'services': [{'stops': ['AVONMTH', 'PTWYPR', 'SHAMPTN', 'SEMILLS', 'CLFDOWN', 'REDLAND', 'MONPELR', 'STPLTNR', 'LAWRNCH', 'BRSTLTM'], 'existingPis': False, 'vstp': False}, {'stops': ['NEWBURY', 'NEWBRYR', 'THATCHM', 'MIDGHAM', 'ALDMSTN', 'THEALE', 'REDGWST', 'RDNGSTN'], 'existingPis': False, 'vstp': False}]}, {'pis': '5225', 'services': [{'stops': ['GTMLVRN', 'MLVRNLK', 'WORCSFS', 'WORCSSH', 'ASHCHRC', 'CHLTNHM', 'GLOSTER', 'DURSLEY', 'YATE', 'BRSTPWY', 'FILTNEW', 'BRSTLTM'], 'existingPis': False, 'vstp': False}]}, {'pis': '6233', 'services': [{'stops': ['GLOSTER', 'YATE', 'BRSTPWY', 'FILTNEW', 'BRSTLTM', 'KEYNSHM', 'OLDFLDP', 'BATHSPA', 'FRESHFD', 'AVNCLFF', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'FROME', 'BRUTON', 'CCARY', 'YOVILPM', 'YTMNSTR', 'MDNNWTN', 'DRCHW', 'UPWEY', 'WEYMTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '5180', 'services': [{'stops': ['PHBR', 'PSEA', 'FRATTON', 'COSHAM', 'FAREHAM', 'SOTON', 'ROMSEY', 'SLSBRY', 'WRMNSTR', 'WSTBRYW', 'TRWBRDG', 'BRDFDOA', 'BATHSPA', 'BRSTLTM', 'FILTNEW', 'PATCHWY', 'SEVTNLJ', 'NWPTRTG', 'CRDFCEN'], 'existingPis': False, 'vstp': False}]}, {'pis': '6277', 'services': [{'stops': ['SVRNBCH', 'SADWRD', 'AVONMTH', 'PTWYPR', 'SHAMPTN', 'SEMILLS', 'CLFDOWN', 'REDLAND', 'MONPELR', 'STPLTNR', 'LAWRNCH', 'BRSTLTM', 'KEYNSHM', 'OLDFLDP', 'BATHSPA', 'FRESHFD', 'AVNCLFF', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW', 'DILTONM', 'WRMNSTR', 'SLSBRY'], 'existingPis': False, 'vstp': False}]}, {'pis': '5032', 'services': [{'stops': ['CRDFCEN', 'NWPTRTG', 'SEVTNLJ', 'PATCHWY', 'FILTNEW', 'STPLTNR', 'LAWRNCH', 'BRSTLTM'], 'existingPis': False, 'vstp': False}]}, {'pis': '5254', 'services': [{'stops': ['WEYMTH', 'UPWEY', 'DRCHW', 'MDNNWTN', 'CHETNOL', 'YTMNSTR', 'THFORD', 'YOVILPM', 'CCARY', 'BRUTON', 'FROME', 'WSTBRYW'], 'existingPis': False, 'vstp': False}]}, {'pis': '6278', 'services': [{'stops': ['BRSTLTM', 'WSMARE', 'HGHBRDG', 'BRDGWTR', 'TAUNTON', 'EXETRSD'], 'existingPis': False, 'vstp': False}]}, {'pis': '5719', 'services': [{'stops': ['EXETRSD', 'CREDITN', 'YEOFORD', 'COPLSTN', 'MOCHARD', 'LAPFORD', 'EGGESFD', 'KNYMPTN', 'PRTSMTA', 'UMBRLGH', 'CHAPLTN', 'BRNSTPL'], 'existingPis': False, 'vstp': False}, {'stops': ['MDNHEAD', 'FURZEP', 'COOKHAM', 'BORNEND', 'MARLOW'], 'existingPis': False, 'vstp': False}]}, {'pis': '5824', 'services': [{'stops': ['BRNSTPL', 'UMBRLGH', 'EGGESFD', 'LAPFORD', 'MOCHARD', 'COPLSTN', 'YEOFORD', 'CREDITN', 'EXETRSD', 'EXETERC'], 'existingPis': False, 'vstp': False}, {'stops': ['PADTON', 'EALINGB', 'STHALL', 'HAYESAH', 'WDRYTON', 'IVER', 'LANGLEY', 'SLOUGH', 'BNHAM', 'TAPLOW', 'MDNHEAD', 'TWYFORD', 'RDNGSTN'], 'existingPis': False, 'vstp': False}]}, {'pis': '6182', 'services': [{'stops': ['EXMOUTH', 'LYMPSTN', 'TOPSHAM', 'NWCOURT', 'DIGBY', 'EXETERC', 'EXETRSD', 'EXETRST', 'MSBTN', 'STRCROS', 'DAWLSHW', 'DAWLISH', 'TEINMTH', 'NABT', 'TORRE', 'TORQUAY', 'PAIGNTN'], 'existingPis': False, 'vstp': False}, {'stops': ['NEWBURY', 'KNTBRY', 'HUNGRFD', 'BEDYN'], 'existingPis': False, 'vstp': False}]}, {'pis': '5429', 'services': [{'stops': ['PAIGNTN', 'TORQUAY', 'TORRE', 'NABT', 'TEINMTH', 'DAWLISH', 'DAWLSHW', 'STRCROS', 'EXETRST', 'EXETRSD', 'EXETERC', 'DIGBY', 'NWCOURT', 'TOPSHAM', 'LYMPSTN', 'EXMOUTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '5075', 'services': [{'stops': ['TAUNTON', 'BRDGWTR', 'HGHBRDG', 'WSMARE', 'WMILTON', 'WORLE', 'YATTON', 'NAILSEA', 'PARSNST', 'BDMNSTR', 'BRSTLTM'], 'existingPis': False, 'vstp': False}, {'stops': ['OXFD', 'TACKLEY', 'HEYFORD', 'KINSSTN', 'BNBR'], 'existingPis': False, 'vstp': False}]}, {'pis': '5718', 'services': [{'stops': ['MDNHEAD', 'FURZEP', 'COOKHAM', 'BORNEND', 'MARLOW'], 'existingPis': False, 'vstp': False}, {'stops': ['EXETRSD', 'CREDITN', 'EGGESFD', 'UMBRLGH', 'BRNSTPL'], 'existingPis': False, 'vstp': False}]}, {'pis': '6184', 'services': [{'stops': ['PAIGNTN', 'TORQUAY', 'TORRE', 'NABT', 'TEINMTH', 'DAWLISH', 'DAWLSHW', 'STRCROS', 'MSBTN', 'EXETRST', 'EXETRSD', 'EXETERC', 'STJAMSP', 'POLSBDG', 'DIGBY', 'NWCOURT', 'TOPSHAM', 'EXTON', 'LYMPSTC', 'LYMPSTN', 'EXMOUTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '6189', 'services': [{'stops': ['EXMOUTH', 'LYMPSTN', 'LYMPSTC', 'EXTON', 'TOPSHAM', 'NWCOURT', 'DIGBY', 'POLSBDG', 'STJAMSP', 'EXETERC', 'EXETRSD', 'EXETRST', 'MSBTN', 'STRCROS', 'DAWLSHW', 'DAWLISH', 'TEINMTH', 'NABT', 'TORRE', 'TORQUAY', 'PAIGNTN'], 'existingPis': False, 'vstp': False}, {'stops': ['BEDYN', 'HUNGRFD', 'KNTBRY', 'NEWBURY'], 'existingPis': False, 'vstp': False}]}, {'pis': '5380', 'services': [{'stops': ['EXMOUTH', 'LYMPSTN', 'LYMPSTC', 'EXTON', 'TOPSHAM', 'NWCOURT', 'DIGBY', 'POLSBDG', 'STJAMSP', 'EXETERC', 'EXETRSD', 'DAWLISH', 'TEINMTH', 'NABT', 'TORRE', 'TORQUAY', 'PAIGNTN'], 'existingPis': False, 'vstp': False}, {'stops': ['BEDYN', 'HUNGRFD', 'KNTBRY', 'NEWBURY'], 'existingPis': False, 'vstp': False}]}, {'pis': '5417', 'services': [{'stops': ['EXETRSD', 'EXETERC', 'DIGBY', 'NWCOURT', 'TOPSHAM', 'LYMPSTN', 'EXMOUTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '5418', 'services': [{'stops': ['EXETRSD', 'EXETERC', 'STJAMSP', 'POLSBDG', 'DIGBY', 'NWCOURT', 'TOPSHAM', 'EXTON', 'LYMPSTC', 'LYMPSTN', 'EXMOUTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '6262', 'services': [{'stops': ['PAIGNTN', 'TORQUAY', 'TORRE', 'NABT', 'TEINMTH', 'DAWLISH', 'DAWLSHW', 'MSBTN', 'EXETRSD', 'EXETERC', 'DIGBY', 'NWCOURT', 'TOPSHAM', 'LYMPSTN', 'EXMOUTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '5821', 'services': [{'stops': ['EXETERC', 'EXETRSD', 'CREDITN', 'YEOFORD', 'COPLSTN', 'MOCHARD', 'EGGESFD', 'UMBRLGH', 'BRNSTPL'], 'existingPis': False, 'vstp': False}, {'stops': ['MDNHEAD', 'FURZEP', 'COOKHAM', 'BORNEND', 'MARLOW'], 'existingPis': False, 'vstp': False}]}, {'pis': '5822', 'services': [{'stops': ['BRNSTPL', 'UMBRLGH', 'KNYMPTN', 'EGGESFD', 'MOCHARD', 'COPLSTN', 'YEOFORD', 'CREDITN', 'EXETRSD', 'EXETERC'], 'existingPis': False, 'vstp': False}]}, {'pis': '6258', 'services': [{'stops': ['PAIGNTN', 'TORQUAY', 'TORRE', 'NABT', 'TEINMTH', 'DAWLISH', 'MSBTN', 'EXETRSD', 'EXETERC', 'STJAMSP', 'POLSBDG', 'DIGBY', 'NWCOURT', 'TOPSHAM', 'EXTON', 'LYMPSTC', 'LYMPSTN', 'EXMOUTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '5724', 'services': [{'stops': ['BRSTPWY', 'FILTNEW', 'STPLTNR', 'LAWRNCH', 'BRSTLTM', 'KEYNSHM', 'OLDFLDP', 'BATHSPA', 'FRESHFD', 'AVNCLFF', 'BRDFDOA', 'TRWBRDG', 'WSTBRYW'], 'existingPis': False, 'vstp': False}, {'stops': ['EXETRSD', 'DAWLISH', 'TEINMTH', 'NABT', 'TOTNES', 'IVYBDGE', 'PLYMTH', 'SASH', 'STGRMNS', 'LISKARD', 'BODMNPW', 'LSTWTHL', 'PARR', 'STAUSTL', 'TRURO', 'REDRUTH', 'CBORNE', 'HAYLE', 'STERTH', 'PENZNCE'], 'existingPis': False, 'vstp': False}]}, {'pis': '6052', 'services': [{'stops': ['SVRNBCH', 'SADWRD', 'AVONMTH', 'PTWYPR', 'SHAMPTN', 'SEMILLS', 'CLFDOWN', 'REDLAND', 'MONPELR', 'STPLTNR', 'LAWRNCH', 'BRSTLTM'], 'existingPis': False, 'vstp': False}, {'stops': ['EXETRSD', 'CREDITN', 'OKHMPTN'], 'existingPis': False, 'vstp': False}]}, {'pis': '6046', 'services': [{'stops': ['OKHMPTN', 'CREDITN', 'EXETRSD', 'EXETERC'], 'existingPis': False, 'vstp': False}]}, {'pis': '5293', 'services': [{'stops': ['PLYMTH', 'STBDXFR', 'SASH', 'STGRMNS', 'LISKARD', 'BODMNPW', 'LSTWTHL', 'PARR', 'STAUSTL', 'TRURO', 'REDRUTH', 'CBORNE', 'HAYLE', 'STERTH', 'PENZNCE'], 'existingPis': False, 'vstp': False}]}, {'pis': '6051', 'services': [{'stops': ['BRSTLTM', 'LAWRNCH', 'STPLTNR', 'MONPELR', 'REDLAND', 'CLFDOWN', 'SEMILLS', 'SHAMPTN', 'PTWYPR', 'AVONMTH', 'SADWRD', 'SVRNBCH'], 'existingPis': False, 'vstp': False}, {'stops': ['EXETERC', 'EXETRSD', 'NSTCYRE', 'CREDITN', 'OKHMPTN'], 'existingPis': False, 'vstp': False}]}, {'pis': '6050', 'services': [{'stops': ['EXETERC', 'EXETRSD', 'CREDITN', 'OKHMPTN'], 'existingPis': False, 'vstp': False}]}, {'pis': '6047', 'services': [{'stops': ['OKHMPTN', 'CREDITN', 'NSTCYRE', 'EXETRSD', 'EXETERC'], 'existingPis': False, 'vstp': False}]}, {'pis': '6089', 'services': [{'stops': ['EXMOUTH', 'LYMPSTN', 'LYMPSTC', 'EXTON', 'TOPSHAM', 'NWCOURT', 'DIGBY', 'POLSBDG', 'STJAMSP', 'EXETERC', 'EXETRSD', 'EXETRST', 'STRCROS', 'DAWLSHW', 'DAWLISH', 'TEINMTH', 'NABT', 'TORRE', 'TORQUAY', 'PAIGNTN'], 'existingPis': False, 'vstp': False}, {'stops': ['NEWBURY', 'KNTBRY', 'HUNGRFD', 'BEDYN'], 'existingPis': False, 'vstp': False}]}, {'pis': '5351', 'services': [{'stops': ['EXETERC', 'EXETRSD', 'NSTCYRE', 'CREDITN', 'YEOFORD', 'COPLSTN', 'MOCHARD', 'EGGESFD', 'UMBRLGH', 'BRNSTPL'], 'existingPis': False, 'vstp': False}]}, {'pis': '5829', 'services': [{'stops': ['BRNSTPL', 'UMBRLGH', 'PRTSMTA', 'EGGESFD', 'MOCHARD', 'COPLSTN', 'YEOFORD', 'CREDITN', 'NSTCYRE', 'EXETRSD'], 'existingPis': False, 'vstp': False}]}, {'pis': '6152', 'services': [{'stops': ['LOOE', 'LISKARD'], 'existingPis': False, 'vstp': False}, {'stops': ['BRNSTPL', 'UMBRLGH', 'KNYMPTN', 'EGGESFD', 'MOCHARD', 'COPLSTN', 'YEOFORD', 'CREDITN', 'EXETRSD', 'EXETERC', 'PINHOE', 'CBRK', 'FENITON', 'HONITON', 'AXMNSTR'], 'existingPis': False, 'vstp': False}]}, {'pis': '6293', 'services': [{'stops': ['EXMOUTH', 'LYMPSTN', 'TOPSHAM', 'NWCOURT', 'DIGBY', 'EXETERC', 'EXETRSD', 'EXETRST', 'MSBTN', 'STRCROS', 'DAWLISH', 'TEINMTH', 'NABT', 'TORRE', 'TORQUAY', 'PAIGNTN'], 'existingPis': False, 'vstp': False}, {'stops': ['NEWBURY', 'KNTBRY', 'HUNGRFD', 'BEDYN'], 'existingPis': False, 'vstp': False}]}, {'pis': '6260', 'services': [{'stops': ['PAIGNTN', 'TORQUAY', 'TORRE', 'NABT', 'TEINMTH', 'DAWLISH', 'DAWLSHW', 'STRCROS', 'MSBTN', 'EXETRST', 'EXETRSD', 'EXETERC', 'STJAMSP', 'DIGBY', 'NWCOURT', 'TOPSHAM', 'LYMPSTN', 'EXMOUTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '6285', 'services': [{'stops': [], 'existingPis': False, 'vstp': False}, {'stops': ['BRNSTPL', 'UMBRLGH', 'EGGESFD', 'MOCHARD', 'COPLSTN', 'YEOFORD', 'CREDITN', 'NSTCYRE', 'EXETRSD', 'EXETRST', 'MSBTN', 'STRCROS', 'DAWLSHW', 'DAWLISH', 'TEINMTH', 'NABT', 'TORRE', 'TORQUAY', 'PAIGNTN'], 'existingPis': False, 'vstp': False}]}, {'pis': '5426', 'services': [{'stops': ['PAIGNTN', 'TORQUAY', 'TORRE', 'NABT', 'TEINMTH', 'DAWLISH', 'DAWLSHW', 'STRCROS', 'EXETRST', 'EXETRSD'], 'existingPis': False, 'vstp': False}]}, {'pis': '5003', 'services': [{'stops': ['BRSTLTM', 'BDMNSTR', 'PARSNST', 'NAILSEA', 'YATTON', 'WORLE', 'WMILTON', 'WSMARE', 'HGHBRDG', 'BRDGWTR', 'TAUNTON', 'TIVIPW', 'EXETRSD'], 'existingPis': False, 'vstp': False}]}, {'pis': '6266', 'services': [{'stops': ['PAIGNTN', 'TORQUAY', 'TORRE', 'NABT', 'TEINMTH', 'DAWLISH', 'DAWLSHW', 'STRCROS', 'MSBTN', 'EXETRST', 'EXETRSD'], 'existingPis': False, 'vstp': False}]}, {'pis': '5431', 'services': [{'stops': ['PAIGNTN', 'TORQUAY', 'TORRE', 'NABT', 'TEINMTH', 'DAWLISH', 'DAWLSHW', 'STRCROS', 'EXETRST', 'EXETRSD', 'EXETERC', 'STJAMSP', 'POLSBDG', 'DIGBY', 'NWCOURT', 'TOPSHAM', 'EXTON', 'LYMPSTC', 'LYMPSTN', 'EXMOUTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '6264', 'services': [{'stops': ['PAIGNTN', 'TORQUAY', 'TORRE', 'NABT', 'TEINMTH', 'DAWLISH', 'MSBTN', 'EXETRSD', 'EXETERC', 'POLSBDG', 'DIGBY', 'NWCOURT', 'TOPSHAM', 'EXTON', 'LYMPSTC', 'LYMPSTN', 'EXMOUTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '5376', 'services': [{'stops': ['EXMOUTH', 'LYMPSTN', 'LYMPSTC', 'EXTON', 'TOPSHAM', 'NWCOURT', 'DIGBY', 'POLSBDG', 'STJAMSP', 'EXETERC', 'EXETRSD'], 'existingPis': False, 'vstp': False}]}, {'pis': '5330', 'services': [{'stops': ['PENZNCE', 'STERTH', 'HAYLE', 'CBORNE', 'REDRUTH', 'TRURO', 'STAUSTL', 'PARR', 'LSTWTHL', 'BODMNPW', 'LISKARD', 'MENHENT', 'STGRMNS', 'SASH', 'PLYMTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '6283', 'services': [{'stops': ['PAIGNTN', 'TORQUAY', 'TORRE', 'NABT', 'TEINMTH', 'DAWLISH', 'DAWLSHW', 'STRCROS', 'EXETRST', 'EXETRSD', 'TIVIPW', 'TAUNTON', 'BRSTLTM'], 'existingPis': False, 'vstp': False}]}, {'pis': '5362', 'services': [{'stops': ['EXETRSD', 'EXETRST', 'STRCROS', 'DAWLSHW', 'DAWLISH', 'TEINMTH', 'NABT', 'TORRE', 'TORQUAY', 'PAIGNTN'], 'existingPis': False, 'vstp': False}]}, {'pis': '6243', 'services': [{'stops': ['NEWBURY', 'KNTBRY', 'HUNGRFD', 'BEDYN'], 'existingPis': False, 'vstp': False}, {'stops': ['CHLTNHM', 'GLOSTER', 'DURSLEY', 'YATE', 'BRSTPWY', 'FILTNEW', 'BRSTLTM'], 'existingPis': False, 'vstp': False}, {'stops': ['EXMOUTH', 'LYMPSTN', 'TOPSHAM', 'NWCOURT', 'DIGBY', 'POLSBDG', 'EXETERC', 'EXETRSD', 'EXETRST', 'MSBTN', 'STRCROS', 'DAWLSHW', 'DAWLISH', 'TEINMTH', 'NABT', 'TORRE', 'TORQUAY', 'PAIGNTN'], 'existingPis': False, 'vstp': False}]}, {'pis': '6187', 'services': [{'stops': ['EXETRSD', 'MSBTN', 'DAWLISH', 'TEINMTH', 'NABT', 'TORRE', 'TORQUAY', 'PAIGNTN'], 'existingPis': False, 'vstp': False}]}, {'pis': '5379', 'services': [{'stops': ['EXMOUTH', 'LYMPSTN', 'LYMPSTC', 'EXTON', 'TOPSHAM', 'NWCOURT', 'DIGBY', 'POLSBDG', 'STJAMSP', 'EXETERC', 'EXETRSD', 'DAWLSHW', 'DAWLISH', 'TEINMTH', 'NABT', 'TORRE', 'TORQUAY', 'PAIGNTN'], 'existingPis': False, 'vstp': False}, {'stops': ['BEDYN', 'HUNGRFD', 'KNTBRY', 'NEWBURY'], 'existingPis': False, 'vstp': False}]}, {'pis': '6205', 'services': [{'stops': ['BEDYN', 'HUNGRFD', 'KNTBRY', 'NEWBURY'], 'existingPis': False, 'vstp': False}, {'stops': ['EXETRSD', 'EXETRST', 'MSBTN', 'STRCROS', 'DAWLSHW', 'DAWLISH', 'TEINMTH', 'NABT', 'TORRE', 'TORQUAY', 'PAIGNTN'], 'existingPis': False, 'vstp': False}]}, {'pis': '5381', 'services': [{'stops': ['EXMOUTH', 'LYMPSTN', 'LYMPSTC', 'EXTON', 'TOPSHAM', 'NWCOURT', 'DIGBY', 'POLSBDG', 'STJAMSP', 'EXETERC', 'EXETRSD', 'EXETRST', 'STRCROS', 'DAWLSHW', 'DAWLISH', 'TEINMTH', 'NABT', 'TORRE', 'TORQUAY', 'PAIGNTN'], 'existingPis': False, 'vstp': False}, {'stops': ['BEDYN', 'HUNGRFD', 'KNTBRY', 'NEWBURY'], 'existingPis': False, 'vstp': False}]}, {'pis': '5832', 'services': [{'stops': ['EXETERC', 'EXETRSD', 'CREDITN', 'YEOFORD', 'COPLSTN', 'MOCHARD', 'EGGESFD', 'KNYMPTN', 'UMBRLGH', 'BRNSTPL'], 'existingPis': False, 'vstp': False}]}, {'pis': '5394', 'services': [{'stops': ['BRNSTPL', 'UMBRLGH', 'EGGESFD', 'MOCHARD', 'COPLSTN', 'YEOFORD', 'CREDITN', 'EXETRSD', 'EXETERC'], 'existingPis': False, 'vstp': False}]}, {'pis': '5352', 'services': [{'stops': ['EXETERC', 'EXETRSD', 'NSTCYRE', 'CREDITN', 'YEOFORD', 'COPLSTN', 'MOCHARD', 'LAPFORD', 'EGGESFD', 'KNYMPTN', 'PRTSMTA', 'UMBRLGH', 'CHAPLTN', 'BRNSTPL'], 'existingPis': False, 'vstp': False}]}, {'pis': '5408', 'services': [{'stops': ['BRNSTPL', 'UMBRLGH', 'KNYMPTN', 'EGGESFD', 'LAPFORD', 'MOCHARD', 'COPLSTN', 'YEOFORD', 'CREDITN', 'EXETRSD', 'EXETERC', 'STJAMSP', 'POLSBDG', 'DIGBY', 'NWCOURT', 'TOPSHAM', 'EXTON', 'LYMPSTC', 'LYMPSTN', 'EXMOUTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '6159', 'services': [{'stops': ['EXMOUTH', 'LYMPSTN', 'LYMPSTC', 'EXTON', 'TOPSHAM', 'NWCOURT', 'DIGBY', 'POLSBDG', 'STJAMSP', 'EXETERC', 'EXETRSD', 'TAUNTON', 'BRDGWTR', 'HGHBRDG', 'WSMARE', 'WORLE', 'YATTON', 'NAILSEA', 'BRSTLTM', 'FILTNEW', 'SEVTNLJ', 'NWPTRTG', 'CRDFCEN'], 'existingPis': False, 'vstp': False}]}, {'pis': '6292', 'services': [{'stops': ['PAIGNTN', 'TORQUAY', 'TORRE', 'NABT', 'TEINMTH', 'DAWLISH', 'DAWLSHW', 'MSBTN', 'EXETRSD', 'EXETERC', 'STJAMSP', 'POLSBDG', 'DIGBY', 'NWCOURT', 'TOPSHAM', 'EXTON', 'LYMPSTC', 'LYMPSTN', 'EXMOUTH'], 'existingPis': False, 'vstp': False}]}, {'pis': '6048', 'services': [{'stops': ['OKHMPTN', 'CREDITN', 'EXETRSD'], 'existingPis': False, 'vstp': False}]}, {'pis': '6053', 'services': [{'stops': ['EXETRSD', 'NSTCYRE', 'CREDITN', 'OKHMPTN'], 'existingPis': False, 'vstp': False}]}, {'pis': '6158', 'services': [{'stops': [], 'existingPis': False, 'vstp': False}, {'stops': ['EXMOUTH', 'LYMPSTN', 'TOPSHAM', 'NWCOURT', 'DIGBY', 'POLSBDG', 'STJAMSP', 'EXETERC', 'EXETRSD', 'EXETRST', 'MSBTN', 'STRCROS', 'DAWLSHW', 'DAWLISH', 'TEINMTH', 'NABT', 'TORRE', 'TORQUAY', 'PAIGNTN'], 'existingPis': False, 'vstp': False}]}, {'pis': '6160', 'services': [{'stops': ['EXMOUTH', 'LYMPSTN', 'LYMPSTC', 'EXTON', 'TOPSHAM', 'NWCOURT', 'DIGBY', 'POLSBDG', 'STJAMSP', 'EXETERC', 'EXETRSD', 'NSTCYRE', 'CREDITN', 'YEOFORD', 'COPLSTN', 'MOCHARD', 'LAPFORD', 'EGGESFD', 'KNYMPTN', 'UMBRLGH', 'BRNSTPL'], 'existingPis': False, 'vstp': False}]}, {'pis': '6161', 'services': [{'stops': ['BRNSTPL', 'UMBRLGH', 'EGGESFD', 'COPLSTN', 'YEOFORD', 'CREDITN', 'NSTCYRE', 'EXETRSD'], 'existingPis': False, 'vstp': False}]}, {'pis': '5488', 'services': [{'stops': ['BRSTLTM', 'BDMNSTR', 'PARSNST', 'NAILSEA', 'YATTON', 'WORLE', 'WMILTON', 'WSMARE', 'HGHBRDG', 'BRDGWTR', 'TAUNTON', 'TIVIPW', 'EXETRSD'], 'existingPis': False, 'vstp': False}]}, {'pis': '6091', 'services': [{'stops': ['BRNSTPL', 'UMBRLGH', 'KNYMPTN', 'EGGESFD', 'MOCHARD', 'COPLSTN', 'YEOFORD', 'CREDITN', 'NSTCYRE', 'EXETRSD'], 'existingPis': False, 'vstp': False}]}] diff --git a/src/formatter.py b/src/formatter.py new file mode 100644 index 0000000..ac09a17 --- /dev/null +++ b/src/formatter.py @@ -0,0 +1,24 @@ +import owlboard_connector + +def humanYaml(pis_list): + additional_pis = '' + manual_review = '' + for pis in pis_list: + if len(pis['services']) == 1: + print(f"Only one valid service for {pis['pis']}") + crs = [] + for stop in pis['services'][0]['stops']: + crs.append(owlboard_connector.convert_tiploc_to_crs(stop)) + additional_pis += f' - code: "{pis["pis"]}"\n' + additional_pis += f' stops: [{",".join(crs)}]\n' + elif len(pis['services']) > 1: + print(f"More than one possible service for {pis['pis']}") + manual_review += f' - code: "{pis["pis"]}"\n' + for service in pis["services"]: + crs = [] + for stop in service['stops']: + crs.append(owlboard_connector.convert_tiploc_to_crs(stop)) + manual_review += f'OR stops:[{",".join(crs)}]\n' + + print(additional_pis) + print(manual_review) \ No newline at end of file diff --git a/src/local_mode.py b/src/local_mode.py index 9bb1c8a..a6771bc 100644 --- a/src/local_mode.py +++ b/src/local_mode.py @@ -1,4 +1,4 @@ -import parse_docx, pis_find, owlboard_connector +import parse_docx, pis_find, owlboard_connector, formatter import os, sys @@ -52,7 +52,8 @@ def start(): details.append(detail) - print(details) + formatted_additions = formatter.humanYaml(details) + print(formatted_additions) diff --git a/src/owlboard_connector.py b/src/owlboard_connector.py index ed037f1..334a784 100644 --- a/src/owlboard_connector.py +++ b/src/owlboard_connector.py @@ -9,8 +9,10 @@ import requests, os #OB_PIS_BASE_URL = "https://owlboard.info/api/v2/pis/byCode/" #OB_TRN_BASE_URL = "https://owlboard.info/api/v2/timetable/train/" +#OB_TIP_BASE_URL = "https://owlboard.info/api/v2/ref/locationCode/tiploc/" OB_PIS_BASE_URL = "http://localhost:8460/api/v2/pis/byCode/" OB_TRN_BASE_URL = "http://localhost:8460/api/v2/timetable/train/" +OB_TIP_BASE_URL = "http://localhost:8460/api/v2/ref/locationCode/tiploc/" OB_TEST_URL = OB_PIS_BASE_URL + "5001" UUID = os.environ.get('DGP_OB_UUID') HEADERS = { @@ -74,4 +76,13 @@ def organise_svc(input): if 'pis' in input and input['pis'].get('skipCount', 0) == 0: existingPis = True - return {'stops': stop_tiplocs, 'existingPis': existingPis, 'vstp': vstp} \ No newline at end of file + return {'stops': stop_tiplocs, 'existingPis': existingPis, 'vstp': vstp} + +def convert_tiploc_to_crs(tiploc): + res = requests.get(OB_TIP_BASE_URL + tiploc.upper(), headers=HEADERS) + if res.status_code == 200: + json_res = res.json() + if json_res: + crs = json_res[0]['3ALPHA'] + print(f"TIPLOC: {tiploc}, CRS: {crs}") + return crs diff --git a/src/pis_fetch.py b/src/pis_fetch.py index 182468a..cc9cb7d 100644 --- a/src/pis_fetch.py +++ b/src/pis_fetch.py @@ -1,6 +1,7 @@ -import os, requests, yaml +## This module downloads and compiles a list of all PIS codes across all branches of the OwlBoard/Data repo. +## The function load_existing_pis() is expected to be used outside of the module. -API_KEY = os.environ.get('DGP_GITEA_KEY') +import os, requests, yaml ## TESTING GIT_URL = 'https://git.fjla.uk' diff --git a/src/pis_find.py b/src/pis_find.py index 35ab90c..8b0030f 100644 --- a/src/pis_find.py +++ b/src/pis_find.py @@ -1,5 +1,7 @@ +## This modile compares discovered PIS codes with existing PIS codes obtained by calling pis_fetch + import pis_fetch -import requests, sys +import sys def run(data_list): deduplicated_data = dedup(data_list) @@ -24,11 +26,10 @@ def find_missing(data_list): if pis_code: code_exists = False for existing_pis in existing_pis_list: - if existing_pis['code'] == pis_code: + if str(existing_pis['code']) == pis_code: code_exists = True break if not code_exists: - print("PIS Code", pis_code, "not found in existing data") missing_data.append(item) return missing_data \ No newline at end of file