[2026-04-27T18:25:55.826Z] Start processing request [2026-04-27T18:25:55.826Z] Fetching mail from https://12306mail.aken.cc ... [2026-04-27T18:25:57.492Z] Mail fetch status: 200 [2026-04-27T18:25:57.492Z] Mail text length: 211 [2026-04-27T18:25:57.492Z] Extracting ticket lines with regex /^谢宁宁[^ ]*/gm [2026-04-27T18:25:57.492Z] Found 3 raw ticket lines [2026-04-27T18:25:57.492Z] Today (Beijing) YMD: 20260428 -> 20260428 [2026-04-27T18:25:57.492Z] --- Processing ticket #1 raw: 谢宁宁,2026年04月28日18:02开,湖州东站-上海松江站,C3796次列车,1车9D号,二等座,成人票,票价51.0元,检票口一层检票口, [2026-04-27T18:25:57.492Z] Parsed REGEX matches => date:true route:true train:true seat:true gate:true [2026-04-27T18:25:57.492Z] Parsed fields -> from: "湖州东" to: "上海松江" train: "C3796" date: 2026-04-28 18:02 seat: "1车9D号" gate: "一层" [2026-04-27T18:25:57.492Z] Event title: "湖州东C3796上海松江一层" [2026-04-27T18:25:57.492Z] Ticket YMD num: 20260428 [2026-04-27T18:25:57.492Z] Fetching schedule: https://checi.aken.cc/?keyword=C3796&date=20260428 [2026-04-27T18:25:58.905Z] Schedule fetch status: 200 [2026-04-27T18:25:58.905Z] Schedule data length: 10 [2026-04-27T18:25:58.905Z] Matched end station?: true (上海松江) [2026-04-27T18:25:58.905Z] DTEND from schedule: 20260428T104000Z (arrive_time=18:40) [2026-04-27T18:25:58.905Z] DTSTART (from ticket): 20260428T100200Z [2026-04-27T18:25:58.905Z] EVENT generated for ticket #1 [2026-04-27T18:25:58.905Z] --- Processing ticket #2 raw: 谢宁宁,2026年04月29日17:07开,上海虹桥站-郑州东站,G1940次列车,6车无座,二等座,成人票,票价470.0元,检票口7A7B, [2026-04-27T18:25:58.905Z] Parsed REGEX matches => date:true route:true train:true seat:true gate:true [2026-04-27T18:25:58.905Z] Parsed fields -> from: "上海虹桥" to: "郑州东" train: "G1940" date: 2026-04-29 17:07 seat: "6车无座" gate: "7A7B" [2026-04-27T18:25:58.905Z] Event title: "上海虹桥G1940郑州东7A7B" [2026-04-27T18:25:58.905Z] Ticket YMD num: 20260429 [2026-04-27T18:25:58.905Z] Fetching schedule: https://checi.aken.cc/?keyword=G1940&date=20260429 [2026-04-27T18:25:59.570Z] Schedule fetch status: 200 [2026-04-27T18:25:59.570Z] Schedule data length: 9 [2026-04-27T18:25:59.570Z] Matched end station?: true (郑州东) [2026-04-27T18:25:59.570Z] DTEND from schedule: 20260429T132200Z (arrive_time=21:22) [2026-04-27T18:25:59.570Z] DTSTART (from ticket): 20260429T090700Z [2026-04-27T18:25:59.570Z] EVENT generated for ticket #2 [2026-04-27T18:25:59.570Z] --- Processing ticket #3 raw: 谢宁宁,2026年04月28日16:48开,溧阳站-湖州东站,C3005次列车,2车3D号,二等座,成人票,票价54.0元, [2026-04-27T18:25:59.570Z] Parsed REGEX matches => date:true route:true train:true seat:true gate:true [2026-04-27T18:25:59.570Z] Parsed fields -> from: "溧阳" to: "湖州东" train: "C3005" date: 2026-04-28 16:48 seat: "2车3D号" gate: "" [2026-04-27T18:25:59.570Z] Event title: "溧阳C3005湖州东" [2026-04-27T18:25:59.570Z] Ticket YMD num: 20260428 [2026-04-27T18:25:59.570Z] Fetching schedule: https://checi.aken.cc/?keyword=C3005&date=20260428 [2026-04-27T18:26:00.187Z] Schedule fetch status: 200 [2026-04-27T18:26:00.187Z] Schedule data length: 8 [2026-04-27T18:26:00.187Z] Matched end station?: true (湖州东) [2026-04-27T18:26:00.187Z] DTEND from schedule: 20260428T092700Z (arrive_time=17:27) [2026-04-27T18:26:00.187Z] DTSTART (from ticket): 20260428T084800Z [2026-04-27T18:26:00.187Z] EVENT generated for ticket #3 [2026-04-27T18:26:00.187Z] Total events generated: 3 [2026-04-27T18:26:00.187Z] ICS content generated (length: 1273) [2026-04-27T18:26:00.454Z] Upload to R2 (chepiao) succeeded. ==== ICS CONTENT ==== BEGIN:VCALENDAR VERSION:2.0 PRODID:-//aken.cc//12306 ICS Generator//EN CALSCALE:GREGORIAN METHOD:PUBLISH BEGIN:VEVENT UID:62305421-2b92-4c23-96e3-9e680272e933 SUMMARY:湖州东C3796上海松江一层 DTSTART:20260428T100200Z DTEND:20260428T104000Z LOCATION:一层,1车9D号 DESCRIPTION:湖州东 到-- 开18:02\n盛泽 到18:16 开18:18\n上海松江 到18:40 开18:42\n上海虹桥 到19:01 开19:08\n常熟 到19:53 开19:55\n南通西 到20:17 开20:19\n如皋南 到20:32 开20:34\n海安 到20:44 开20:46\n盐城 到21:16 开21:18\n连云港 到22:28 开22:28 STATUS:CONFIRMED SEQUENCE:0 TRANSP:OPAQUE END:VEVENT BEGIN:VEVENT UID:f5ae9266-fef8-4650-b6aa-e5c10b244ea2 SUMMARY:上海虹桥G1940郑州东7A7B DTSTART:20260429T090700Z DTEND:20260429T132200Z LOCATION:7A7B,6车无座 DESCRIPTION:上海虹桥 到-- 开17:07\n常州北 到17:48 开17:50\n南京南 到18:21 开18:23\n徐州东 到19:37 开19:44\n商丘 到20:30 开20:32\n郑州东 到21:22 开21:29\n巩义南 到21:56 开21:58\n渑池南 到22:26 开22:32\n西安北 到23:33 开23:33 STATUS:CONFIRMED SEQUENCE:0 TRANSP:OPAQUE END:VEVENT BEGIN:VEVENT UID:b7118ed2-8674-4891-a085-bae16125e85d SUMMARY:溧阳C3005湖州东 DTSTART:20260428T084800Z DTEND:20260428T092700Z LOCATION:2车3D号 DESCRIPTION:南京南 到-- 开16:17\n溧阳 到16:43 开16:48\n宜兴 到17:01 开17:03\n湖州东 到17:27 开17:30\n湖州南浔 到17:40 开17:42\n盛泽 到17:51 开17:53\n苏州南 到18:04 开18:06\n上海南 到18:31 开18:31 STATUS:CONFIRMED SEQUENCE:0 TRANSP:OPAQUE END:VEVENT END:VCALENDAR