2025-04-08 16:21:07.862 | INFO | - | Started server process [11792] 2025-04-08 16:21:07.863 | INFO | - | Waiting for application startup. 2025-04-08 16:21:07.864 | INFO | - | Application startup complete. 2025-04-08 16:21:07.865 | INFO | - | Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) 2025-04-08 16:24:32.721 | INFO | - | Shutting down 2025-04-08 16:24:32.831 | INFO | - | Waiting for application shutdown. 2025-04-08 16:24:32.833 | INFO | - | Application shutdown complete. 2025-04-08 16:24:32.834 | INFO | - | Finished server process [11792] 2025-04-08 16:24:49.453 | INFO | - | Started server process [28056] 2025-04-08 16:24:49.454 | INFO | - | Waiting for application startup. 2025-04-08 16:24:49.455 | INFO | - | Application startup complete. 2025-04-08 16:24:49.456 | INFO | - | Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit) 2025-04-08 16:26:27.923 | INFO | - | Shutting down 2025-04-08 16:26:28.034 | INFO | - | Waiting for application shutdown. 2025-04-08 16:26:28.036 | INFO | - | Application shutdown complete. 2025-04-08 16:26:28.037 | INFO | - | Finished server process [28056] 2025-06-16 16:02:53.941 | INFO | - | Started server process [27484] 2025-06-16 16:02:53.941 | INFO | - | Waiting for application startup. 2025-06-16 16:03:07.532 | INFO | - | Model loaded from app/ner/models/ner 2025-06-16 16:03:08.873 | INFO | - | Model loaded from app/ner/models/ner 2025-06-16 16:03:08.874 | INFO | - | Application startup complete. 2025-06-16 16:03:25.733 | INFO | - | Shutting down 2025-06-16 16:03:25.845 | INFO | - | Waiting for application shutdown. 2025-06-16 16:03:26.062 | INFO | - | Application shutdown complete. 2025-06-16 16:03:26.063 | INFO | - | Finished server process [27484] 2025-06-16 16:03:27.785 | INFO | - | Started server process [19832] 2025-06-16 16:03:27.785 | INFO | - | Waiting for application startup. 2025-06-16 16:03:27.789 | INFO | - | Application startup complete. 2025-06-16 16:04:04.394 | INFO | ca21282589d94dd786850ac555c9ce16 | 127.0.0.1:49342 - "GET /api/chatbot HTTP/1.1" 404 2025-06-16 16:04:04.683 | INFO | 76cc0d679c7c492da6c9d522a75f66c5 | 127.0.0.1:49342 - "GET /favicon.ico HTTP/1.1" 404 2025-06-16 16:04:15.732 | INFO | b9c7803b16584531901cbe368feaebc6 | 127.0.0.1:49343 - "GET /api/v1/ HTTP/1.1" 404 2025-06-16 16:06:16.510 | INFO | - | Shutting down 2025-06-16 16:06:16.624 | INFO | - | Waiting for application shutdown. 2025-06-16 16:06:16.631 | INFO | - | Application shutdown complete. 2025-06-16 16:06:16.632 | INFO | - | Finished server process [19832] 2025-06-16 16:06:17.835 | INFO | - | Started server process [24908] 2025-06-16 16:06:17.835 | INFO | - | Waiting for application startup. 2025-06-16 16:06:17.838 | INFO | - | Application startup complete. 2025-06-16 16:06:41.937 | INFO | - | Shutting down 2025-06-16 16:06:42.040 | INFO | - | Waiting for application shutdown. 2025-06-16 16:06:42.043 | INFO | - | Application shutdown complete. 2025-06-16 16:06:42.045 | INFO | - | Finished server process [24908] 2025-06-16 16:06:43.124 | INFO | - | Started server process [11416] 2025-06-16 16:06:43.124 | INFO | - | Waiting for application startup. 2025-06-16 16:06:43.126 | INFO | - | Application startup complete. 2025-06-16 16:06:48.522 | INFO | 6ef4ff2cb6e344dcb50b6905f966feeb | 127.0.0.1:49406 - "GET /api/v1/ HTTP/1.1" 200 2025-06-16 16:06:56.291 | INFO | 6cea66de248b4fd3bd6377c01d4c9b80 | 127.0.0.1:49407 - "GET /docs HTTP/1.1" 200 2025-06-16 16:06:57.484 | INFO | 5f08ddb3f85b449783e2018da5049990 | 127.0.0.1:49407 - "GET /openapi HTTP/1.1" 200 2025-06-16 16:08:03.735 | INFO | - | Shutting down 2025-06-16 16:08:03.846 | INFO | - | Waiting for application shutdown. 2025-06-16 16:08:03.847 | INFO | - | Application shutdown complete. 2025-06-16 16:08:03.847 | INFO | - | Finished server process [11416] 2025-06-16 16:08:05.073 | INFO | - | Started server process [24284] 2025-06-16 16:08:05.074 | INFO | - | Waiting for application startup. 2025-06-16 16:08:05.075 | INFO | - | Application startup complete. 2025-06-16 16:08:12.054 | INFO | fe6328766e844a7181c9929b3a44dcde | 127.0.0.1:49450 - "GET /docs HTTP/1.1" 200 2025-06-16 16:08:12.414 | INFO | b891b6547f414891be51b397f25199c3 | 127.0.0.1:49450 - "GET /openapi HTTP/1.1" 200 2025-06-16 16:11:50.597 | INFO | 184d60efc380459abf0fbc668b370fad | 14.241.227.54:0 - "GET /api/v1/docs HTTP/1.1" 404 2025-06-16 16:11:50.975 | INFO | 06b7e8f5ead445a7ad6b0716f6f26af1 | 14.241.227.54:0 - "GET /favicon.ico HTTP/1.1" 404 2025-06-16 16:11:56.658 | INFO | 48ae26964b41475f922931494855f77f | 14.241.227.54:0 - "GET /api/v1/ HTTP/1.1" 200 2025-06-16 16:16:47.977 | INFO | 8c599908de5b4deba4cd49e9a0d5a412 | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-16 16:16:48.799 | INFO | 023fd7afe0734e5d8a5cd7c75d9eea3f | 14.241.227.54:0 - "GET /openapi HTTP/1.1" 200 2025-06-16 16:27:08.943 | INFO | 1a26c37756384377a2a1d358205d56e9 | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-16 16:27:09.025 | INFO | - | Shutting down 2025-06-16 16:27:09.137 | INFO | - | Waiting for application shutdown. 2025-06-16 16:27:09.138 | INFO | - | Application shutdown complete. 2025-06-16 16:27:09.139 | INFO | - | Finished server process [24284] 2025-06-16 16:27:10.629 | INFO | - | Started server process [28632] 2025-06-16 16:27:10.629 | INFO | - | Waiting for application startup. 2025-06-16 16:27:10.631 | INFO | - | Application startup complete. 2025-06-16 16:27:10.653 | INFO | 983d23605930405f93f891850a4a1cac | 14.241.227.54:0 - "GET /openapi HTTP/1.1" 200 2025-06-16 17:05:14.349 | INFO | - | Shutting down 2025-06-16 17:05:14.456 | INFO | - | Waiting for application shutdown. 2025-06-16 17:05:14.460 | INFO | - | Application shutdown complete. 2025-06-16 17:05:14.461 | INFO | - | Finished server process [28632] 2025-06-16 17:05:15.821 | INFO | - | Started server process [14200] 2025-06-16 17:05:15.822 | INFO | - | Waiting for application startup. 2025-06-16 17:05:15.824 | INFO | - | Application startup complete. 2025-06-16 17:08:58.833 | INFO | d6c5f0f3df8041aeb52c265a8eea4710 | 74.125.215.8:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 422 2025-06-16 17:12:15.299 | INFO | 483cd688310c47eab8fe55a139c77243 | 74.125.215.11:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 422 2025-06-16 17:13:55.184 | INFO | 9b3e39ca66cc496aaf08f5f721a6c37e | 74.125.215.11:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 422 2025-06-16 17:14:47.511 | INFO | c3402a5637d9463b856ec4bd71563b1d | 74.125.215.3:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 422 2025-06-16 17:15:47.833 | INFO | 7319bfe4292646fcb1a90e507cfd4841 | 74.125.215.8:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 422 2025-06-17 09:27:20.331 | INFO | - | Started server process [19392] 2025-06-17 09:27:20.332 | INFO | - | Waiting for application startup. 2025-06-17 09:27:20.334 | INFO | - | Application startup complete. 2025-06-17 09:28:17.911 | INFO | 341cf37d14b444bf95103a183c7190ba | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-17 09:28:18.507 | INFO | b046bd461e2442dca0fa76a319eef4dd | 14.241.227.54:0 - "GET /openapi HTTP/1.1" 200 2025-06-17 09:32:00.714 | INFO | fb6f8e42c434402aa0b041cb9fbd55f2 | 74.125.215.166:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 422 2025-06-17 09:50:43.569 | INFO | 4abc0abf911e40b58e995e849a073e27 | 74.125.215.165:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 422 2025-06-17 09:51:00.615 | INFO | 0ac07b41a8f5406db0e1ea40294d10e5 | 74.125.215.165:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 422 2025-06-17 09:54:04.629 | INFO | - | Shutting down 2025-06-17 09:54:04.739 | INFO | - | Waiting for application shutdown. 2025-06-17 09:54:04.742 | INFO | - | Application shutdown complete. 2025-06-17 09:54:04.744 | INFO | - | Finished server process [19392] 2025-06-17 09:54:06.169 | INFO | - | Started server process [30860] 2025-06-17 09:54:06.170 | INFO | - | Waiting for application startup. 2025-06-17 09:54:06.172 | INFO | - | Application startup complete. 2025-06-17 09:55:46.635 | INFO | fd3f3d3b84b94122bcbd10f9e3396e5c | 74.125.215.165:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 422 2025-06-17 09:55:48.444 | INFO | e841b1f2738245cc93558d789e1c4a94 | 74.125.215.165:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 422 2025-06-17 09:58:00.273 | INFO | - | Shutting down 2025-06-17 09:58:00.382 | INFO | - | Waiting for application shutdown. 2025-06-17 09:58:00.383 | INFO | - | Application shutdown complete. 2025-06-17 09:58:00.384 | INFO | - | Finished server process [30860] 2025-06-17 09:58:01.617 | INFO | - | Started server process [18704] 2025-06-17 09:58:01.618 | INFO | - | Waiting for application startup. 2025-06-17 09:58:01.620 | INFO | - | Application startup complete. 2025-06-17 10:00:29.360 | INFO | - | Shutting down 2025-06-17 10:00:29.469 | INFO | - | Waiting for application shutdown. 2025-06-17 10:00:29.471 | INFO | - | Application shutdown complete. 2025-06-17 10:00:29.472 | INFO | - | Finished server process [18704] 2025-06-17 10:00:30.773 | INFO | - | Started server process [24664] 2025-06-17 10:00:30.774 | INFO | - | Waiting for application startup. 2025-06-17 10:00:30.775 | INFO | - | Application startup complete. 2025-06-17 10:00:43.329 | INFO | b7f9ccf4e05d437c83fd3c508d12228f | 74.125.215.165:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 422 2025-06-17 10:00:44.547 | INFO | 6bb8d4d48f174f8e8e326d2319be39a9 | 74.125.215.165:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 422 2025-06-17 10:01:58.728 | INFO | - | Shutting down 2025-06-17 10:01:58.839 | INFO | - | Waiting for application shutdown. 2025-06-17 10:01:58.842 | INFO | - | Application shutdown complete. 2025-06-17 10:01:58.843 | INFO | - | Finished server process [24664] 2025-06-17 10:02:00.008 | INFO | - | Started server process [18996] 2025-06-17 10:02:00.009 | INFO | - | Waiting for application startup. 2025-06-17 10:02:00.011 | INFO | - | Application startup complete. 2025-06-17 10:02:37.133 | INFO | 1ed1a948ccb942a5a590ba4cde9d3e59 | 74.125.215.167:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 422 2025-06-17 10:02:39.064 | INFO | 182713c2f7a1458c9dbf3f9feb93a706 | 74.125.215.167:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 422 2025-06-17 10:04:26.541 | INFO | - | Shutting down 2025-06-17 10:04:26.650 | INFO | - | Waiting for application shutdown. 2025-06-17 10:04:26.653 | INFO | - | Application shutdown complete. 2025-06-17 10:04:26.654 | INFO | - | Finished server process [18996] 2025-06-17 10:04:28.381 | INFO | - | Started server process [26556] 2025-06-17 10:04:28.382 | INFO | - | Waiting for application startup. 2025-06-17 10:04:28.384 | INFO | - | Application startup complete. 2025-06-17 10:04:38.875 | INFO | - | Shutting down 2025-06-17 10:04:38.985 | INFO | - | Waiting for application shutdown. 2025-06-17 10:04:38.988 | INFO | - | Application shutdown complete. 2025-06-17 10:04:38.989 | INFO | - | Finished server process [26556] 2025-06-17 10:04:40.088 | INFO | - | Started server process [24384] 2025-06-17 10:04:40.089 | INFO | - | Waiting for application startup. 2025-06-17 10:04:40.092 | INFO | - | Application startup complete. 2025-06-17 10:04:46.014 | INFO | - | Shutting down 2025-06-17 10:04:46.124 | INFO | - | Waiting for application shutdown. 2025-06-17 10:04:46.127 | INFO | - | Application shutdown complete. 2025-06-17 10:04:46.129 | INFO | - | Finished server process [24384] 2025-06-17 10:04:47.275 | INFO | - | Started server process [23468] 2025-06-17 10:04:47.275 | INFO | - | Waiting for application startup. 2025-06-17 10:04:47.277 | INFO | - | Application startup complete. 2025-06-17 10:05:24.435 | INFO | 052fe2b5fbe240bfa3ec0b11a61f6841 | 74.125.215.165:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 422 2025-06-17 10:05:25.195 | INFO | 261dd6db40d64f82b0abf63c075a9f13 | 74.125.215.165:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 422 2025-06-17 10:09:46.426 | INFO | - | Shutting down 2025-06-17 10:09:46.535 | INFO | - | Waiting for application shutdown. 2025-06-17 10:09:46.536 | INFO | - | Application shutdown complete. 2025-06-17 10:09:46.536 | INFO | - | Finished server process [23468] 2025-06-17 10:09:47.726 | INFO | - | Started server process [19840] 2025-06-17 10:09:47.726 | INFO | - | Waiting for application startup. 2025-06-17 10:09:47.728 | INFO | - | Application startup complete. 2025-06-17 10:14:46.741 | INFO | - | Shutting down 2025-06-17 10:14:46.850 | INFO | - | Waiting for application shutdown. 2025-06-17 10:14:46.851 | INFO | - | Application shutdown complete. 2025-06-17 10:14:46.851 | INFO | - | Finished server process [19840] 2025-06-17 10:14:49.827 | INFO | - | Started server process [9916] 2025-06-17 10:14:49.827 | INFO | - | Waiting for application startup. 2025-06-17 10:14:49.830 | INFO | - | Application startup complete. 2025-06-17 10:14:51.299 | INFO | - | Started server process [10704] 2025-06-17 10:14:51.300 | INFO | - | Waiting for application startup. 2025-06-17 10:14:51.303 | INFO | - | Application startup complete. 2025-06-17 10:14:52.658 | INFO | - | Started server process [31304] 2025-06-17 10:14:52.658 | INFO | - | Waiting for application startup. 2025-06-17 10:14:52.660 | INFO | - | Application startup complete. 2025-06-17 10:16:41.110 | INFO | - | Shutting down 2025-06-17 10:16:41.219 | INFO | - | Waiting for application shutdown. 2025-06-17 10:16:41.220 | INFO | - | Application shutdown complete. 2025-06-17 10:16:41.221 | INFO | - | Finished server process [31304] 2025-06-17 10:16:42.440 | INFO | - | Started server process [27600] 2025-06-17 10:16:42.441 | INFO | - | Waiting for application startup. 2025-06-17 10:16:42.442 | INFO | - | Application startup complete. 2025-06-17 10:16:49.901 | INFO | c96ad4bf52c540a4878f13fe7338793a | 74.125.215.164:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 400 2025-06-17 10:16:51.039 | INFO | 92231e5c2d464189b3cfd1ba15784875 | 74.125.215.165:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 500 2025-06-17 10:16:51.646 | INFO | 2492cd91cfa64e1a98a79bf3dded461b | 74.125.215.166:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 500 2025-06-17 10:19:20.756 | INFO | - | Shutting down 2025-06-17 10:19:20.866 | INFO | - | Waiting for application shutdown. 2025-06-17 10:19:20.868 | INFO | - | Application shutdown complete. 2025-06-17 10:19:20.869 | INFO | - | Finished server process [27600] 2025-06-17 10:19:22.142 | INFO | - | Started server process [20556] 2025-06-17 10:19:22.143 | INFO | - | Waiting for application startup. 2025-06-17 10:19:22.145 | INFO | - | Application startup complete. 2025-06-17 10:19:38.195 | INFO | 50ef121baf82495c831c161c17823ac3 | 74.125.215.165:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 400 2025-06-17 10:19:57.012 | INFO | 942376c351ef4d30a8523183189800ff | 74.125.215.167:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 500 2025-06-17 10:19:57.566 | INFO | a9b5fa5fd8154648bc872e2bbf86da65 | 74.125.215.164:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 500 2025-06-17 10:20:55.488 | INFO | - | Shutting down 2025-06-17 10:20:55.597 | INFO | - | Waiting for application shutdown. 2025-06-17 10:20:55.599 | INFO | - | Application shutdown complete. 2025-06-17 10:20:55.602 | INFO | - | Finished server process [20556] 2025-06-17 10:20:56.730 | INFO | - | Started server process [20932] 2025-06-17 10:20:56.731 | INFO | - | Waiting for application startup. 2025-06-17 10:20:56.732 | INFO | - | Application startup complete. 2025-06-17 10:21:01.525 | INFO | c18d19b7c1a84e3191f07062dc760367 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0} 2025-06-17 10:21:01.526 | INFO | c18d19b7c1a84e3191f07062dc760367 | 74.125.215.167:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 400 2025-06-17 10:21:02.545 | INFO | 2c98273197ea4131984d18533f2f388b | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 10:21:02.546 | INFO | 2c98273197ea4131984d18533f2f388b | 74.125.215.162:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 500 2025-06-17 10:21:03.134 | INFO | 2f2d80ac035648adbe369ee52912e4b6 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 10:21:03.134 | INFO | 2f2d80ac035648adbe369ee52912e4b6 | 74.125.215.165:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 500 2025-06-17 10:23:11.837 | INFO | - | Shutting down 2025-06-17 10:23:11.947 | INFO | - | Waiting for application shutdown. 2025-06-17 10:23:11.948 | INFO | - | Application shutdown complete. 2025-06-17 10:23:11.949 | INFO | - | Finished server process [20932] 2025-06-17 10:23:12.970 | INFO | - | Started server process [30580] 2025-06-17 10:23:12.972 | INFO | - | Waiting for application startup. 2025-06-17 10:23:12.973 | INFO | - | Application startup complete. 2025-06-17 10:23:19.382 | INFO | 7a6fa55301fa48be882be2b77141c025 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0} 2025-06-17 10:23:19.382 | INFO | 7a6fa55301fa48be882be2b77141c025 | Time selection: None 2025-06-17 10:23:19.385 | INFO | 7a6fa55301fa48be882be2b77141c025 | 74.125.215.164:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 400 2025-06-17 10:23:20.556 | INFO | e27271951f214664912fe67005323b17 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 10:23:20.557 | INFO | e27271951f214664912fe67005323b17 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 10:23:20.558 | INFO | e27271951f214664912fe67005323b17 | 74.125.215.164:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 10:23:21.140 | INFO | 9ba06d3c46924d2f92aafc7858da5af1 | 74.125.215.167:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 500 2025-06-17 10:28:12.111 | INFO | - | Shutting down 2025-06-17 10:28:12.220 | INFO | - | Waiting for application shutdown. 2025-06-17 10:28:12.221 | INFO | - | Application shutdown complete. 2025-06-17 10:28:12.222 | INFO | - | Finished server process [30580] 2025-06-17 10:28:13.330 | INFO | - | Started server process [13640] 2025-06-17 10:28:13.332 | INFO | - | Waiting for application startup. 2025-06-17 10:28:13.334 | INFO | - | Application startup complete. 2025-06-17 10:29:13.547 | INFO | - | Shutting down 2025-06-17 10:29:13.657 | INFO | - | Waiting for application shutdown. 2025-06-17 10:29:13.660 | INFO | - | Application shutdown complete. 2025-06-17 10:29:13.662 | INFO | - | Finished server process [13640] 2025-06-17 10:29:14.888 | INFO | - | Started server process [7568] 2025-06-17 10:29:14.889 | INFO | - | Waiting for application startup. 2025-06-17 10:29:28.520 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 10:29:29.903 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 10:29:29.904 | INFO | - | Application startup complete. 2025-06-17 10:29:32.444 | INFO | - | Started server process [15520] 2025-06-17 10:29:32.444 | INFO | - | Waiting for application startup. 2025-06-17 10:29:41.638 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 10:29:42.933 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 10:29:42.935 | INFO | - | Application startup complete. 2025-06-17 10:29:49.810 | INFO | - | Shutting down 2025-06-17 10:29:49.919 | INFO | - | Waiting for application shutdown. 2025-06-17 10:29:50.117 | INFO | - | Application shutdown complete. 2025-06-17 10:29:50.119 | INFO | - | Finished server process [15520] 2025-06-17 10:29:51.726 | INFO | - | Started server process [20172] 2025-06-17 10:29:51.727 | INFO | - | Waiting for application startup. 2025-06-17 10:30:00.049 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 10:30:01.182 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 10:30:01.182 | INFO | - | NER model loaded successfully. 2025-06-17 10:30:01.183 | INFO | - | Application startup complete. 2025-06-17 10:31:29.782 | INFO | 7bc57aaa57b54a0ead234592caa5c1ec | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0} 2025-06-17 10:31:29.783 | INFO | 7bc57aaa57b54a0ead234592caa5c1ec | Time selection: None 2025-06-17 10:31:29.784 | INFO | 7bc57aaa57b54a0ead234592caa5c1ec | 74.125.215.165:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 400 2025-06-17 10:31:30.883 | INFO | 961cfe291f354c7dbcd66820460d5d36 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 10:31:30.885 | INFO | 961cfe291f354c7dbcd66820460d5d36 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 10:31:30.889 | INFO | 961cfe291f354c7dbcd66820460d5d36 | 74.125.215.165:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 10:31:31.468 | INFO | b13128b201cb4342b29acdf111dac217 | 74.125.215.167:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 500 2025-06-17 10:31:32.014 | INFO | 64bbaf3cf4bb4f679641d511208d560d | 74.125.215.167:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 500 2025-06-17 10:33:51.091 | INFO | - | Shutting down 2025-06-17 10:33:51.207 | INFO | - | Waiting for application shutdown. 2025-06-17 10:33:51.208 | INFO | - | Cleaning up NER model... 2025-06-17 10:33:51.413 | INFO | - | Application shutdown complete. 2025-06-17 10:33:51.415 | INFO | - | Finished server process [20172] 2025-06-17 10:33:53.004 | INFO | - | Started server process [10848] 2025-06-17 10:33:53.004 | INFO | - | Waiting for application startup. 2025-06-17 10:34:02.145 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 10:34:03.416 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 10:34:03.417 | INFO | - | NER model loaded successfully. 2025-06-17 10:34:03.418 | INFO | - | Application startup complete. 2025-06-17 10:34:03.452 | INFO | 3ef17655190e43a99f1f6ba8b873052b | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0} 2025-06-17 10:34:03.453 | INFO | 3ef17655190e43a99f1f6ba8b873052b | Time selection: None 2025-06-17 10:34:03.454 | INFO | 3ef17655190e43a99f1f6ba8b873052b | 74.125.215.165:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 400 2025-06-17 10:34:05.458 | INFO | 50763e2ed931471ca99c8ae91dce8de3 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 10:34:05.459 | INFO | 50763e2ed931471ca99c8ae91dce8de3 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 10:34:05.460 | INFO | 50763e2ed931471ca99c8ae91dce8de3 | 74.125.215.164:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 10:34:06.029 | INFO | 60636d189a294b0387cdb374424d6dd4 | 74.125.215.163:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 10:35:44.797 | INFO | 84fb9577a16d45e1bfe26be9d82fcf81 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 10:35:44.798 | INFO | 84fb9577a16d45e1bfe26be9d82fcf81 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 10:35:44.800 | INFO | 84fb9577a16d45e1bfe26be9d82fcf81 | 74.125.215.163:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 10:38:52.145 | INFO | - | Shutting down 2025-06-17 10:38:52.255 | INFO | - | Waiting for application shutdown. 2025-06-17 10:38:52.257 | INFO | - | Cleaning up NER model... 2025-06-17 10:38:52.463 | INFO | - | Application shutdown complete. 2025-06-17 10:38:52.463 | INFO | - | Finished server process [10848] 2025-06-17 10:39:27.274 | INFO | - | Started server process [13296] 2025-06-17 10:39:27.274 | INFO | - | Waiting for application startup. 2025-06-17 10:39:37.092 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 10:39:38.048 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 10:39:38.048 | INFO | - | NER model loaded successfully. 2025-06-17 10:39:38.049 | INFO | - | Application startup complete. 2025-06-17 10:39:39.897 | INFO | - | Started server process [27576] 2025-06-17 10:39:39.897 | INFO | - | Waiting for application startup. 2025-06-17 10:39:48.633 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 10:39:49.455 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 10:39:49.455 | INFO | - | NER model loaded successfully. 2025-06-17 10:39:49.456 | INFO | - | Application startup complete. 2025-06-17 10:44:38.830 | INFO | - | Shutting down 2025-06-17 10:44:38.937 | INFO | - | Waiting for application shutdown. 2025-06-17 10:44:38.937 | INFO | - | Cleaning up NER model... 2025-06-17 10:44:39.013 | INFO | - | Application shutdown complete. 2025-06-17 10:44:39.013 | INFO | - | Finished server process [27576] 2025-06-17 10:44:40.795 | INFO | - | Started server process [30084] 2025-06-17 10:44:40.796 | INFO | - | Waiting for application startup. 2025-06-17 10:44:49.211 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 10:44:50.084 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 10:44:50.084 | INFO | - | NER model loaded successfully. 2025-06-17 10:44:50.085 | INFO | - | Application startup complete. 2025-06-17 10:49:39.681 | INFO | - | Shutting down 2025-06-17 10:49:39.789 | INFO | - | Waiting for application shutdown. 2025-06-17 10:49:39.789 | INFO | - | Cleaning up NER model... 2025-06-17 10:49:39.872 | INFO | - | Application shutdown complete. 2025-06-17 10:49:39.874 | INFO | - | Finished server process [30084] 2025-06-17 11:05:49.029 | INFO | - | Started server process [19920] 2025-06-17 11:05:49.030 | INFO | - | Waiting for application startup. 2025-06-17 11:05:58.083 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:05:59.325 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:05:59.325 | INFO | - | NER model loaded successfully. 2025-06-17 11:05:59.327 | INFO | - | Application startup complete. 2025-06-17 11:05:59.347 | INFO | 0a123e21d856448bbbd499b4a38b017b | 14.241.227.54:0 - "GET /api/v1 HTTP/1.1" 307 2025-06-17 11:05:59.348 | INFO | 11ecd204d5134b85a58c08bb3d9acd9d | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-17 11:05:59.349 | INFO | 4f6005d69a254d6d858b104409e1c58a | 14.241.227.54:0 - "GET / HTTP/1.1" 404 2025-06-17 11:05:59.350 | INFO | 4b18e6cacc664f109d205caba4372429 | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-17 11:14:56.642 | INFO | - | Started server process [28104] 2025-06-17 11:14:56.642 | INFO | - | Waiting for application startup. 2025-06-17 11:15:05.274 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:15:06.456 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:15:06.456 | INFO | - | NER model loaded successfully. 2025-06-17 11:15:06.457 | INFO | - | Application startup complete. 2025-06-17 11:15:28.030 | INFO | 1f7128afbb4442ffa6b54d2850cea901 | 14.241.227.54:0 - "GET / HTTP/1.1" 404 2025-06-17 11:15:28.332 | INFO | ee5a6db8e5d5451082bf323549973dda | 14.241.227.54:0 - "GET /favicon.ico HTTP/1.1" 404 2025-06-17 11:15:31.135 | INFO | bd722c72afc34c58baa84d6edb62b99e | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-17 11:15:53.119 | INFO | f9b8bf8a706d4a889b61b9345544a9f9 | 14.241.227.54:0 - "GET /openapi HTTP/1.1" 200 2025-06-17 11:17:56.153 | INFO | 41caf773c17e4c1f8b57e6b1e7929e5d | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-17 11:17:56.235 | INFO | - | Shutting down 2025-06-17 11:17:56.344 | INFO | - | Waiting for application shutdown. 2025-06-17 11:17:56.345 | INFO | - | Cleaning up NER model... 2025-06-17 11:17:56.456 | INFO | - | Application shutdown complete. 2025-06-17 11:17:56.457 | INFO | - | Finished server process [28104] 2025-06-17 11:17:58.192 | INFO | - | Started server process [16132] 2025-06-17 11:17:58.192 | INFO | - | Waiting for application startup. 2025-06-17 11:18:07.806 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:18:09.259 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:18:09.268 | INFO | - | NER model loaded successfully. 2025-06-17 11:18:09.270 | INFO | - | Application startup complete. 2025-06-17 11:18:09.281 | INFO | 6bd54e79addb43d6a9ef003f07f67b87 | 14.241.227.54:0 - "GET /openapi HTTP/1.1" 200 2025-06-17 11:20:07.326 | INFO | afbd313f3e0947de98b431590cc7c2cb | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0} 2025-06-17 11:20:07.326 | INFO | afbd313f3e0947de98b431590cc7c2cb | Time selection: None 2025-06-17 11:20:07.328 | INFO | afbd313f3e0947de98b431590cc7c2cb | 66.102.6.233:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 400 2025-06-17 11:20:08.941 | INFO | 6fbac65ba0174abdbb76462b75239131 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 11:20:08.942 | INFO | 6fbac65ba0174abdbb76462b75239131 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:20:08.944 | INFO | 6fbac65ba0174abdbb76462b75239131 | 66.102.6.226:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:20:09.290 | INFO | 247087a711044c7eb99b528b198e7820 | 66.102.6.226:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 11:20:10.325 | INFO | 1212aa6224fb4a1e9174c9751b16a1b5 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:20:10.326 | INFO | 1212aa6224fb4a1e9174c9751b16a1b5 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 11:20:10.328 | INFO | 1212aa6224fb4a1e9174c9751b16a1b5 | 66.102.6.226:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:20:10.928 | INFO | c0214b48e2654460829eeccc57026225 | 66.102.6.230:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 400 2025-06-17 11:20:41.611 | INFO | - | Shutting down 2025-06-17 11:20:41.722 | INFO | - | Waiting for application shutdown. 2025-06-17 11:20:41.724 | INFO | - | Cleaning up NER model... 2025-06-17 11:20:41.892 | INFO | - | Application shutdown complete. 2025-06-17 11:20:41.893 | INFO | - | Finished server process [16132] 2025-06-17 11:20:43.866 | INFO | - | Started server process [19412] 2025-06-17 11:20:43.867 | INFO | - | Waiting for application startup. 2025-06-17 11:20:52.888 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:20:54.067 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:20:54.068 | INFO | - | NER model loaded successfully. 2025-06-17 11:20:54.069 | INFO | - | Application startup complete. 2025-06-17 11:21:51.521 | INFO | - | Shutting down 2025-06-17 11:21:51.630 | INFO | - | Waiting for application shutdown. 2025-06-17 11:21:51.631 | INFO | - | Cleaning up NER model... 2025-06-17 11:21:51.914 | INFO | - | Application shutdown complete. 2025-06-17 11:21:51.915 | INFO | - | Finished server process [19412] 2025-06-17 11:21:53.710 | INFO | - | Started server process [28776] 2025-06-17 11:21:53.712 | INFO | - | Waiting for application startup. 2025-06-17 11:22:03.064 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:22:04.065 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:22:04.066 | INFO | - | NER model loaded successfully. 2025-06-17 11:22:04.067 | INFO | - | Application startup complete. 2025-06-17 11:22:10.284 | INFO | 516e787b5e6e4bf7b673501316e21a75 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0} 2025-06-17 11:22:10.285 | INFO | 516e787b5e6e4bf7b673501316e21a75 | Time selection: None 2025-06-17 11:22:10.287 | INFO | 516e787b5e6e4bf7b673501316e21a75 | 66.102.6.231:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 400 2025-06-17 11:22:11.429 | INFO | 463ed78b7ea94d92a9e4b5a41e204ebc | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 11:22:11.431 | INFO | 463ed78b7ea94d92a9e4b5a41e204ebc | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:22:11.436 | INFO | 463ed78b7ea94d92a9e4b5a41e204ebc | 66.102.6.232:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:22:12.000 | INFO | ced0fb3b852a4b6294d28fe31a927e5a | 66.102.6.226:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 11:22:13.068 | INFO | 5a33fbd1d65a4e87be7455e9c259bef7 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:22:13.070 | INFO | 5a33fbd1d65a4e87be7455e9c259bef7 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 11:22:13.072 | INFO | 5a33fbd1d65a4e87be7455e9c259bef7 | 66.102.6.230:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:22:13.648 | INFO | 8f9622d4936e47b2b83dc5c728c43104 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:22:13.654 | INFO | 8f9622d4936e47b2b83dc5c728c43104 | 66.102.6.231:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 400 2025-06-17 11:26:17.640 | INFO | - | Shutting down 2025-06-17 11:26:17.749 | INFO | - | Waiting for application shutdown. 2025-06-17 11:26:17.750 | INFO | - | Cleaning up NER model... 2025-06-17 11:26:17.918 | INFO | - | Application shutdown complete. 2025-06-17 11:26:17.919 | INFO | - | Finished server process [28776] 2025-06-17 11:26:19.947 | INFO | - | Started server process [15240] 2025-06-17 11:26:19.947 | INFO | - | Waiting for application startup. 2025-06-17 11:26:28.597 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:26:29.635 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:26:29.636 | INFO | - | NER model loaded successfully. 2025-06-17 11:26:29.637 | INFO | - | Application startup complete. 2025-06-17 11:26:37.742 | INFO | 7e823e85e0f94cbdb5ec38917d904a86 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0} 2025-06-17 11:26:37.744 | INFO | 7e823e85e0f94cbdb5ec38917d904a86 | Time selection: None 2025-06-17 11:26:37.748 | INFO | 7e823e85e0f94cbdb5ec38917d904a86 | 66.102.6.232:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 400 2025-06-17 11:26:38.751 | INFO | 04dd279f74f64fac9154f434a4b0a755 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 11:26:38.751 | INFO | 04dd279f74f64fac9154f434a4b0a755 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:26:38.752 | INFO | 04dd279f74f64fac9154f434a4b0a755 | 66.102.6.226:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:26:39.322 | INFO | 7c2b8a971bd140ff8053d473cfdce9b0 | 66.102.6.234:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 11:26:40.415 | INFO | fd7e9c7519a945dda1c4c299a6800711 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:26:40.415 | INFO | fd7e9c7519a945dda1c4c299a6800711 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 11:26:40.416 | INFO | fd7e9c7519a945dda1c4c299a6800711 | 66.102.6.225:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:26:41.002 | INFO | 8ee9bec3c44646b583b14b084b273283 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:26:41.004 | INFO | 8ee9bec3c44646b583b14b084b273283 | 66.102.6.224:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 400 2025-06-17 11:29:28.963 | INFO | - | Shutting down 2025-06-17 11:29:29.073 | INFO | - | Waiting for application shutdown. 2025-06-17 11:29:29.074 | INFO | - | Cleaning up NER model... 2025-06-17 11:29:29.233 | INFO | - | Application shutdown complete. 2025-06-17 11:29:29.234 | INFO | - | Finished server process [15240] 2025-06-17 11:29:31.068 | INFO | - | Started server process [24112] 2025-06-17 11:29:31.069 | INFO | - | Waiting for application startup. 2025-06-17 11:29:39.839 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:29:40.902 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:29:40.903 | INFO | - | NER model loaded successfully. 2025-06-17 11:29:40.903 | INFO | - | Application startup complete. 2025-06-17 11:29:49.283 | INFO | 53640cae6c734e6f9200a0a2e49e5378 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0} 2025-06-17 11:29:49.283 | INFO | 53640cae6c734e6f9200a0a2e49e5378 | Time selection: None 2025-06-17 11:29:49.284 | INFO | 53640cae6c734e6f9200a0a2e49e5378 | 66.102.6.232:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 400 2025-06-17 11:29:50.252 | INFO | 89c24a1a21c1459ca1f97fed19546876 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 11:29:50.253 | INFO | 89c24a1a21c1459ca1f97fed19546876 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:29:50.255 | INFO | 89c24a1a21c1459ca1f97fed19546876 | 66.102.6.225:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:29:50.819 | INFO | caaa301a3c4e460782455c5f20df3b4a | 66.102.6.232:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 11:29:51.871 | INFO | f87f90a536164797982481ae9bace82e | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:29:51.874 | INFO | f87f90a536164797982481ae9bace82e | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 11:29:51.876 | INFO | f87f90a536164797982481ae9bace82e | 66.102.6.231:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:29:52.411 | INFO | e0b4718ee76345bc833aa70fd080079e | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:29:52.414 | INFO | e0b4718ee76345bc833aa70fd080079e | 66.102.6.231:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 400 2025-06-17 11:33:03.114 | INFO | - | Shutting down 2025-06-17 11:33:03.223 | INFO | - | Waiting for application shutdown. 2025-06-17 11:33:03.224 | INFO | - | Cleaning up NER model... 2025-06-17 11:33:03.315 | INFO | - | Application shutdown complete. 2025-06-17 11:33:03.315 | INFO | - | Finished server process [24112] 2025-06-17 11:33:05.392 | INFO | - | Started server process [26776] 2025-06-17 11:33:05.393 | INFO | - | Waiting for application startup. 2025-06-17 11:33:15.563 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:33:16.989 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:33:16.990 | INFO | - | NER model loaded successfully. 2025-06-17 11:33:16.990 | INFO | - | Application startup complete. 2025-06-17 11:34:16.793 | INFO | e1eed19659c04f54bda55dfff4593ebd | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0} 2025-06-17 11:34:16.794 | INFO | e1eed19659c04f54bda55dfff4593ebd | Time selection: None 2025-06-17 11:34:16.796 | INFO | e1eed19659c04f54bda55dfff4593ebd | 66.102.6.224:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 400 2025-06-17 11:34:17.881 | INFO | 373982e2c6444034ae70afd788ea0f65 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 11:34:17.882 | INFO | 373982e2c6444034ae70afd788ea0f65 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:34:17.884 | INFO | 373982e2c6444034ae70afd788ea0f65 | 66.102.6.224:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:34:18.457 | INFO | 4ada0fa8f7e6471da2ce9cb5f6f8928f | 66.102.6.225:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 11:34:19.534 | INFO | 9f5d5fbbc80b477a8eae1839743a6c31 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:34:19.538 | INFO | 9f5d5fbbc80b477a8eae1839743a6c31 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 11:34:19.541 | INFO | 9f5d5fbbc80b477a8eae1839743a6c31 | 66.102.6.225:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:34:20.233 | INFO | 743735d1f9354b0d9c6c2b6570e4174c | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:34:20.240 | INFO | 743735d1f9354b0d9c6c2b6570e4174c | 66.102.6.232:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 11:34:20.844 | INFO | 81f1219e43364eba8b250834b3a54957 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:34:20.846 | INFO | 81f1219e43364eba8b250834b3a54957 | 66.102.6.226:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 11:38:04.275 | INFO | - | Shutting down 2025-06-17 11:38:04.386 | INFO | - | Waiting for application shutdown. 2025-06-17 11:38:04.387 | INFO | - | Cleaning up NER model... 2025-06-17 11:38:04.501 | INFO | - | Application shutdown complete. 2025-06-17 11:38:04.502 | INFO | - | Finished server process [26776] 2025-06-17 11:38:06.212 | INFO | - | Started server process [20144] 2025-06-17 11:38:06.212 | INFO | - | Waiting for application startup. 2025-06-17 11:38:15.698 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:38:16.778 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:38:16.778 | INFO | - | NER model loaded successfully. 2025-06-17 11:38:16.779 | INFO | - | Application startup complete. 2025-06-17 11:38:26.860 | INFO | 9184a886abfe4fcfbaaf84a798f3753c | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0} 2025-06-17 11:38:26.862 | INFO | 9184a886abfe4fcfbaaf84a798f3753c | Time selection: None 2025-06-17 11:38:26.869 | INFO | 9184a886abfe4fcfbaaf84a798f3753c | 66.102.6.226:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 400 2025-06-17 11:38:27.885 | INFO | 077a8e19a3e24ae8972a5b22416f8986 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 11:38:27.886 | INFO | 077a8e19a3e24ae8972a5b22416f8986 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:38:27.887 | INFO | 077a8e19a3e24ae8972a5b22416f8986 | 66.102.6.233:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:38:28.238 | INFO | b02f47b262ca4f93af58a394ce74bd46 | 66.102.6.226:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 11:38:29.249 | INFO | 8f64d14abbd04e6abade56857c521528 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:38:29.252 | INFO | 8f64d14abbd04e6abade56857c521528 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 11:38:29.259 | INFO | 8f64d14abbd04e6abade56857c521528 | 66.102.6.231:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:38:29.829 | INFO | 797b90a1dd9b4dbebfdbff331f2df5e9 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:38:29.831 | INFO | 797b90a1dd9b4dbebfdbff331f2df5e9 | 66.102.6.232:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 11:38:30.345 | INFO | 8d65a56e1d5e4d7f8d8cb07a76dc937e | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:38:30.346 | INFO | 8d65a56e1d5e4d7f8d8cb07a76dc937e | 66.102.6.230:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 11:41:25.588 | INFO | - | Shutting down 2025-06-17 11:41:25.695 | INFO | - | Waiting for application shutdown. 2025-06-17 11:41:25.698 | INFO | - | Cleaning up NER model... 2025-06-17 11:41:25.835 | INFO | - | Application shutdown complete. 2025-06-17 11:41:25.836 | INFO | - | Finished server process [20144] 2025-06-17 11:41:27.426 | INFO | - | Started server process [27680] 2025-06-17 11:41:27.427 | INFO | - | Waiting for application startup. 2025-06-17 11:41:36.107 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:41:36.978 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:41:36.979 | INFO | - | NER model loaded successfully. 2025-06-17 11:41:36.979 | INFO | - | Application startup complete. 2025-06-17 11:42:47.834 | INFO | 9f436e013385433c9d5240194e293624 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0} 2025-06-17 11:42:47.836 | INFO | 9f436e013385433c9d5240194e293624 | Time selection: None 2025-06-17 11:42:47.841 | INFO | 9f436e013385433c9d5240194e293624 | 66.102.6.226:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 400 2025-06-17 11:42:48.967 | INFO | dad9916a59564f98bb10ebb349a636a3 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 11:42:48.968 | INFO | dad9916a59564f98bb10ebb349a636a3 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:42:48.970 | INFO | dad9916a59564f98bb10ebb349a636a3 | 66.102.6.224:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:42:49.568 | INFO | 7634555d260840d885353cd5ec1de7e4 | 66.102.6.234:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 11:42:50.218 | INFO | 74b5cb7ab0ed457aa7b06842c27f3b16 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:42:50.219 | INFO | 74b5cb7ab0ed457aa7b06842c27f3b16 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 11:42:50.220 | INFO | 74b5cb7ab0ed457aa7b06842c27f3b16 | 66.102.6.226:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:42:50.592 | INFO | 5fe892d015654941a0e90974e9fcceb4 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:42:50.594 | INFO | 5fe892d015654941a0e90974e9fcceb4 | 66.102.6.234:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 11:43:20.338 | INFO | - | Shutting down 2025-06-17 11:43:20.446 | INFO | - | Waiting for application shutdown. 2025-06-17 11:43:20.448 | INFO | - | Cleaning up NER model... 2025-06-17 11:43:20.658 | INFO | - | Application shutdown complete. 2025-06-17 11:43:20.659 | INFO | - | Finished server process [27680] 2025-06-17 11:43:22.310 | INFO | - | Started server process [29564] 2025-06-17 11:43:22.310 | INFO | - | Waiting for application startup. 2025-06-17 11:43:30.369 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:43:31.202 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:43:31.202 | INFO | - | NER model loaded successfully. 2025-06-17 11:43:31.203 | INFO | - | Application startup complete. 2025-06-17 11:43:46.937 | INFO | 0faf37deff23479aa0b2d3bc1606042c | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0} 2025-06-17 11:43:46.939 | INFO | 0faf37deff23479aa0b2d3bc1606042c | Time selection: None 2025-06-17 11:43:46.944 | INFO | 0faf37deff23479aa0b2d3bc1606042c | 66.102.6.225:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 400 2025-06-17 11:43:48.873 | INFO | 1b2574293b624cd4bf35037bb764d977 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 11:43:48.874 | INFO | 1b2574293b624cd4bf35037bb764d977 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:43:48.875 | INFO | 1b2574293b624cd4bf35037bb764d977 | 66.102.6.230:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:43:49.434 | INFO | 4f7491de55544734857e3d811d554f4e | 66.102.6.233:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 11:43:51.210 | INFO | e3b7ecc5b0cf4eada3b0ede41bca6bf1 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:43:51.212 | INFO | e3b7ecc5b0cf4eada3b0ede41bca6bf1 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 11:43:51.213 | INFO | e3b7ecc5b0cf4eada3b0ede41bca6bf1 | 66.102.6.225:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:43:51.620 | INFO | d79d2b12afd84ab7b8cf431e626d243e | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:43:51.621 | INFO | d79d2b12afd84ab7b8cf431e626d243e | 66.102.6.233:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 11:43:52.192 | INFO | a53fa2391ad74ab9bc2f4fd7d5499d48 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:43:52.193 | INFO | a53fa2391ad74ab9bc2f4fd7d5499d48 | 66.102.6.224:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 11:44:18.526 | INFO | - | Shutting down 2025-06-17 11:44:18.636 | INFO | - | Waiting for application shutdown. 2025-06-17 11:44:18.639 | INFO | - | Cleaning up NER model... 2025-06-17 11:44:18.791 | INFO | - | Application shutdown complete. 2025-06-17 11:44:18.792 | INFO | - | Finished server process [29564] 2025-06-17 11:44:20.369 | INFO | - | Started server process [26644] 2025-06-17 11:44:20.369 | INFO | - | Waiting for application startup. 2025-06-17 11:44:28.813 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:44:29.692 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:44:29.693 | INFO | - | NER model loaded successfully. 2025-06-17 11:44:29.693 | INFO | - | Application startup complete. 2025-06-17 11:44:50.554 | INFO | 0eb872b459174224af46ecac709bee9e | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0} 2025-06-17 11:44:50.559 | INFO | 0eb872b459174224af46ecac709bee9e | Time selection: None 2025-06-17 11:44:50.564 | INFO | 0eb872b459174224af46ecac709bee9e | 66.102.6.232:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 400 2025-06-17 11:44:51.727 | INFO | 382be682f90d493e8ee378eda7f3c7ab | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 11:44:51.728 | INFO | 382be682f90d493e8ee378eda7f3c7ab | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:44:51.733 | INFO | 382be682f90d493e8ee378eda7f3c7ab | 66.102.6.231:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:44:52.278 | INFO | 9d504226a9fa4c6ea008eaedfdf7de7e | 66.102.6.226:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 11:44:53.391 | INFO | 47c9966b30c4473388014482cadabc2f | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:44:53.392 | INFO | 47c9966b30c4473388014482cadabc2f | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 11:44:53.393 | INFO | 47c9966b30c4473388014482cadabc2f | 66.102.6.234:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:44:53.991 | INFO | 9b48b6d827d543cdb4a9a0440e55b33d | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:44:54.032 | INFO | 9b48b6d827d543cdb4a9a0440e55b33d | 66.102.6.232:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 11:46:20.987 | INFO | - | Shutting down 2025-06-17 11:46:21.098 | INFO | - | Waiting for application shutdown. 2025-06-17 11:46:21.100 | INFO | - | Cleaning up NER model... 2025-06-17 11:46:21.283 | INFO | - | Application shutdown complete. 2025-06-17 11:46:21.284 | INFO | - | Finished server process [26644] 2025-06-17 11:46:23.140 | INFO | - | Started server process [15128] 2025-06-17 11:46:23.141 | INFO | - | Waiting for application startup. 2025-06-17 11:46:31.509 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:46:32.360 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:46:32.361 | INFO | - | NER model loaded successfully. 2025-06-17 11:46:32.361 | INFO | - | Application startup complete. 2025-06-17 11:46:57.343 | INFO | 499e898f1b1c4379ad9658770e1ea825 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0} 2025-06-17 11:46:57.343 | INFO | 499e898f1b1c4379ad9658770e1ea825 | Time selection: None 2025-06-17 11:46:57.346 | INFO | 499e898f1b1c4379ad9658770e1ea825 | 66.102.6.225:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 400 2025-06-17 11:46:58.513 | INFO | a708909222f7469080af4df4681b7c1a | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 11:46:58.514 | INFO | a708909222f7469080af4df4681b7c1a | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:46:58.515 | INFO | a708909222f7469080af4df4681b7c1a | 66.102.6.230:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:46:59.015 | INFO | 0b28f8bc4bcc443f9adc616ecce02d28 | 66.102.6.226:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 11:46:59.923 | INFO | 53f9ca9bc2f94632974e60d76a855096 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:46:59.924 | INFO | 53f9ca9bc2f94632974e60d76a855096 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 11:46:59.925 | INFO | 53f9ca9bc2f94632974e60d76a855096 | 66.102.6.232:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:47:00.639 | INFO | b2cfcf9bc74b4a84a16bf46753c121e8 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:47:00.640 | INFO | b2cfcf9bc74b4a84a16bf46753c121e8 | 66.102.6.233:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 11:47:20.438 | INFO | 0f2dd9bee10d47e8a119c062849dad2a | 66.102.6.226:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:21.227 | INFO | a8fe4b2b177f402aaa8b061921c1d20b | 66.102.6.230:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:21.774 | INFO | fe36215c81264d84b25ef185981af4d7 | 66.102.6.225:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:22.328 | INFO | 2a25d86c52b14159889e89426e09ab83 | 66.102.6.232:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:22.890 | INFO | 1c41244777db4980af9ddd7ae1af3067 | 66.102.6.224:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:23.390 | INFO | b402c64a9da44306ba28d79dab31fe72 | 66.102.6.233:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:23.663 | INFO | c058a0d1fd364379af78d9ca49b654dd | 66.102.6.230:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:23.945 | INFO | 911b670372364a62874e8a7775fa2883 | 66.102.6.224:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:24.225 | INFO | 851c7eddc7f24589867ae1467c1c769a | 66.102.6.232:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:24.570 | INFO | 5d510e528a254b7daf83ee4ce0be8348 | 66.102.6.232:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:25.075 | INFO | 43a58de39bc64e58891780984c5b2b69 | 66.102.6.232:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:25.695 | INFO | 2c1b9c12c5ac45468327c52d7f1c2f11 | 66.102.6.226:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:26.251 | INFO | 7a74b8ab0444406a9d24c9cedc59ba79 | 66.102.6.232:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:26.765 | INFO | e72b10b7c139461d9e1573a631d3f8fd | 66.102.6.231:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:27.262 | INFO | 7207278348214bb7a3ce8b8896bbf79c | 66.102.6.225:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:27.565 | INFO | a77026315a9d42eda5e6a1b6b3cd9be9 | 66.102.6.226:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:27.857 | INFO | dd0f25565ede4cb9bbfca4299219a0fa | 66.102.6.230:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:28.149 | INFO | 3b91d469225349b8a1a9ac4065b50116 | 66.102.6.231:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:28.431 | INFO | be9a41b097de48feb7639b036267901f | 66.102.6.230:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:28.959 | INFO | de3fb4cde11048b182948c079c013e83 | 66.102.6.231:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:29.519 | INFO | 12609f5b987046a9bdc97c162af125ed | 66.102.6.224:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:29.830 | INFO | bcf929d03bb94568a9f73954f41079f5 | 66.102.6.230:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:30.108 | INFO | 168530df0db342cba1370af8093de5dd | 66.102.6.230:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:30.595 | INFO | 69f8b24d16da43f4a73101a259a27ff5 | 66.102.6.233:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:30.872 | INFO | 36f3467ab0bb4123b851b0e0a735f18b | 66.102.6.233:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:31.623 | INFO | a5cb00bfa67040b1b980087a749b0bea | 66.102.6.232:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:32.194 | INFO | 7211f957ebc24351817d0b2478c92bdb | 66.102.6.231:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:32.475 | INFO | 012e1af3a20c4fc78ab548ff4bc5d146 | 66.102.6.231:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:32.830 | INFO | 3dc1332f3c3046c5901a580ca0cd62c6 | 66.102.6.231:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:33.117 | INFO | c4ef7673f3cc475c96edd4d09c8723c1 | 66.102.6.232:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:33.394 | INFO | 7053af83f547451ab2d76432a060fdb2 | 66.102.6.230:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:33.689 | INFO | 1aa2bb3248674ff581d1d68d88dd8266 | 66.102.6.231:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:34.041 | INFO | d2c3fc6641e34ee498fb6a45db6ecd9c | 66.102.6.232:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:34.650 | INFO | 2a150133552a46e2bf9e3f1005145e6e | 66.102.6.225:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:34.932 | INFO | fb5471a9ac7b46a09755a2a97a4d32e9 | 66.102.6.230:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:35.264 | INFO | 9337faa8fb9e483a902ec4dbf9c93152 | 66.102.6.232:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:35.761 | INFO | 62a70825ddb14338a48fa1465d204154 | 66.102.6.226:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:36.455 | INFO | 1af0be482cfc40b091272eb986436904 | 66.102.6.233:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:37.118 | INFO | c0d4fef83e5d4f13b306aa1b4d0b9531 | 66.102.6.233:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:37.729 | INFO | 29b0c2465d9d4eaa9778881a3a62a30a | 66.102.6.226:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:38.028 | INFO | bca74468227041baa5534cc70178aa56 | 66.102.6.226:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:38.578 | INFO | 3a787789ce1d4f6f9593d93e94044478 | 66.102.6.231:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:39.103 | INFO | bb7f0cf0371f40ceb989ad112415dab4 | 66.102.6.231:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:39.492 | INFO | 2a8fa9800fbd481c9240e4550ac0fd8f | 66.102.6.231:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:39.857 | INFO | 73aee94d22a24ed6944342aee4089f13 | 66.102.6.230:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:40.231 | INFO | 1d17bcc8faea4ae2bf13456d475834aa | 66.102.6.230:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:40.800 | INFO | 0669e11d974244d9bee1bd09f4324617 | 66.102.6.225:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:47:41.411 | INFO | 23b441dcafdc49a0a87e8e816acd9179 | 66.102.6.232:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 400 2025-06-17 11:50:06.741 | INFO | - | Shutting down 2025-06-17 11:50:06.850 | INFO | - | Waiting for application shutdown. 2025-06-17 11:50:06.853 | INFO | - | Cleaning up NER model... 2025-06-17 11:50:06.956 | INFO | - | Application shutdown complete. 2025-06-17 11:50:06.956 | INFO | - | Finished server process [15128] 2025-06-17 11:50:08.550 | INFO | - | Started server process [31756] 2025-06-17 11:50:08.550 | INFO | - | Waiting for application startup. 2025-06-17 11:50:17.225 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:50:18.279 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:50:18.279 | INFO | - | NER model loaded successfully. 2025-06-17 11:50:18.280 | INFO | - | Application startup complete. 2025-06-17 11:50:25.227 | INFO | 0e7d7549964641328dfaed2711b142c1 | HTTP Request: GET https://api-dev.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-17 11:50:25.504 | INFO | 0e7d7549964641328dfaed2711b142c1 | HTTP Request: GET https://api-dev.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750135824 "HTTP/1.1 200 OK" 2025-06-17 11:50:25.511 | INFO | 0e7d7549964641328dfaed2711b142c1 | 66.102.6.226:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 11:50:26.082 | INFO | c4597b0b33d64da58e5dc65d3e622505 | Received parameters: {'$flow.webhook_retry_num': '$sys.func.ADD($flow.webhook_retry_num,1)', 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'TP. Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'origin_office': 'Bến xe Miền Tây', 'ticket_number': 1.0} 2025-06-17 11:50:26.082 | INFO | c4597b0b33d64da58e5dc65d3e622505 | Time selection: None 2025-06-17 11:50:26.084 | INFO | c4597b0b33d64da58e5dc65d3e622505 | 66.102.6.234:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 400 2025-06-17 11:50:34.130 | INFO | ed474995b88c49d4975ca329a60ed471 | Received parameters: {'$flow.webhook_retry_num': '$sys.func.ADD($flow.webhook_retry_num,1)', 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'TP. Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'origin_office': 'Bến xe Miền Tây', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 11:50:34.130 | INFO | ed474995b88c49d4975ca329a60ed471 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:50:34.131 | INFO | ed474995b88c49d4975ca329a60ed471 | 66.102.6.234:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:50:34.671 | INFO | 8f6f7122998b43bd8319c7f11695e3ba | 66.102.6.232:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 11:50:38.698 | INFO | eb802228a8ec4428bd6f27ac9df4f4a5 | Received parameters: {'$flow.webhook_retry_num': '$sys.func.ADD($flow.webhook_retry_num,1)', 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'TP. Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'origin_office': 'Bến xe Miền Tây', 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:50:38.698 | INFO | eb802228a8ec4428bd6f27ac9df4f4a5 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 11:50:38.700 | INFO | eb802228a8ec4428bd6f27ac9df4f4a5 | 66.102.6.230:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 11:50:39.283 | INFO | 7c7a7e14a45a4d88aefb823991c66089 | Received parameters: {'$flow.webhook_retry_num': '$sys.func.ADD($flow.webhook_retry_num,1)', 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'TP. Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'origin_office': 'Bến xe Miền Tây', 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 11:50:39.331 | INFO | 7c7a7e14a45a4d88aefb823991c66089 | 66.102.6.231:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 11:50:44.366 | INFO | 7fda415005b64aeda93bc3d186dfafd4 | 66.102.6.225:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 11:50:44.917 | INFO | 15a490cd56b040da959d07119ec60ddc | 66.102.6.231:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 11:55:07.661 | INFO | - | Shutting down 2025-06-17 11:55:07.771 | INFO | - | Waiting for application shutdown. 2025-06-17 11:55:07.772 | INFO | - | Cleaning up NER model... 2025-06-17 11:55:07.878 | INFO | - | Application shutdown complete. 2025-06-17 11:55:07.880 | INFO | - | Finished server process [31756] 2025-06-17 11:55:09.591 | INFO | - | Started server process [9804] 2025-06-17 11:55:09.591 | INFO | - | Waiting for application startup. 2025-06-17 11:55:18.957 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:55:20.002 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 11:55:20.003 | INFO | - | NER model loaded successfully. 2025-06-17 11:55:20.003 | INFO | - | Application startup complete. 2025-06-17 13:19:01.623 | INFO | 13e30c7e9a6146179911b1417213ff4d | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-17 13:19:01.976 | INFO | 4986dad31edb4ea0bfc75027c150b361 | 14.241.227.54:0 - "GET /openapi HTTP/1.1" 200 2025-06-17 13:19:03.707 | INFO | ab87b1ec0cc541e4a417dfc0e1295a39 | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-17 13:19:03.901 | INFO | 0f77994e93cc4fccab669fd56fd20fb3 | 14.241.227.54:0 - "GET /openapi HTTP/1.1" 200 2025-06-17 13:21:14.440 | INFO | c33930d11e5d45479a1b5108e414d998 | HTTP Request: GET https://api-dev.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-17 13:21:14.620 | INFO | c33930d11e5d45479a1b5108e414d998 | 66.102.6.233:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:15.343 | INFO | 29ade026f09a43709cfccb4bcb33c2a8 | 66.102.6.233:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:16.086 | INFO | 44bc0f201d3e41c4aa82ddc99a00c92b | 66.102.6.226:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:16.855 | INFO | 73a28aa9637d4aa5907016e2af9e129b | 66.102.6.231:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:17.879 | INFO | 91ef2bf67f5b4e159a3b6eeb3432a7a0 | 66.102.6.225:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:18.762 | INFO | e6c2f0eb6d2e48799963ca8d23b464af | 66.102.6.224:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:19.650 | INFO | 26b9c80dd3194c869e80058a3d48b03f | 66.102.6.226:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:20.336 | INFO | e1454236ac204a528543abcca9e90f98 | 66.102.6.230:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:21.011 | INFO | 94305045e89441daae5abaadfc796086 | 66.102.6.232:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:21.465 | INFO | 9ed922f6fca44cb19e24c6899e6fc20f | 66.102.6.230:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:22.163 | INFO | 9d0111c479b147a7bd3d477972b2c496 | 66.102.6.233:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:22.786 | INFO | a052f96663854b73a7b993e206f26cc9 | 66.102.6.231:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:23.214 | INFO | 71c6dd01c7714d7d857d2c2f00ef8861 | 66.102.6.233:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:24.054 | INFO | e7ee80aebaf04cb4ae9c6c273462c0a0 | 66.102.6.232:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:24.789 | INFO | 82604856104b4cef8b377ae0fe0387e7 | 66.102.6.224:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:25.329 | INFO | 4d355ffd19c84f568b92fb191419dc5c | 66.102.6.232:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:25.923 | INFO | 6e117800542a4d19a29fd9f437a4f5da | 66.102.6.226:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:26.552 | INFO | 9a39ca048a8b4f1e838586d6dbfd2949 | 66.102.6.225:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:27.013 | INFO | 84234d66c0474d02a11c6c973233be44 | 66.102.6.233:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:27.714 | INFO | 8890628047d74b19823a46ed4a65df25 | 66.102.6.226:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:28.488 | INFO | 4b3564a2c6de4b3fbe4bf4acd7203e74 | 66.102.6.225:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:28.959 | INFO | f6e0dd50e32b426fb94b7c3b984ad04d | 66.102.6.226:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:29.389 | INFO | 6a3e38d34e774d72936bb347b9a52330 | 66.102.6.233:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:29.843 | INFO | d3e2d1e011cf426f8405037d90dcf70b | 66.102.6.232:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:30.588 | INFO | 1f4b6342fbf14771bfa66c16a87f1241 | 66.102.6.224:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:31.023 | INFO | 0fb1b412c7314c9ebdaf5b453ab4a746 | 66.102.6.232:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:31.791 | INFO | 6783d096d98245f6a04ce5f7113e65ca | 66.102.6.230:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:32.484 | INFO | 552e439d581a4dc3a0f8d5719bb54e1c | 66.102.6.231:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:32.892 | INFO | d257e37303bf4d5988d5d48efe3d6fb8 | 66.102.6.233:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:33.587 | INFO | 87737a0c35a34c418d7f179e5d1a6a45 | 66.102.6.232:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:34.100 | INFO | de83fa3697514d3aba7b1f1e032b325a | 66.102.6.233:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:34.868 | INFO | 42ed200021a24948b26e5f590db1ddb0 | 66.102.6.233:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:35.687 | INFO | 785c9b54d89e4a81846a758d59466032 | 66.102.6.231:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:36.445 | INFO | d1c1cf2b716b4a91964d1cc60288cb6e | 66.102.6.235:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:36.863 | INFO | 9146827118c64f32a35466501df93ca0 | 66.102.6.231:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:37.523 | INFO | a9a35f49932049ab87ae002f548db798 | 66.102.6.233:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:38.111 | INFO | 54a7bb6e1865443da09be025cf6273e1 | 66.102.6.232:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:38.830 | INFO | fe720f271ebb4c5887b5bc1292800a60 | 66.102.6.230:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:39.740 | INFO | 61a77375d873427593b750eb306e3ec4 | 66.102.6.225:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:40.273 | INFO | 9c7610a2b4a64dcca5af7c6d4944eace | 66.102.6.230:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:41.011 | INFO | 4122f03f948443c48e3db58df7655ccf | 66.102.6.231:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:41.622 | INFO | 94571a74475148b68e538a1a7b718ac4 | 66.102.6.233:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:42.048 | INFO | d843decb15cd4831b249eb12d246d458 | 66.102.6.231:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:42.711 | INFO | 16f090215eaf48d38e3dc77663053a75 | 66.102.6.224:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:43.390 | INFO | 3430c1de1f3b465a9ad2001992697f47 | 66.102.6.232:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:43.837 | INFO | ff579bdd7cc8498ea89c700f8b9a0a60 | 66.102.6.231:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:44.651 | INFO | d079bc2b88c84580ab7fd39a87ba9f9d | 66.102.6.235:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:21:45.318 | INFO | ee23db830f2c496f95c7daf289da43f3 | 66.102.6.233:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-17 13:22:03.374 | INFO | d94293c2e0a441daa6783f325e8b497f | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 13:22:03.375 | INFO | d94293c2e0a441daa6783f325e8b497f | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 13:22:03.376 | INFO | d94293c2e0a441daa6783f325e8b497f | 66.102.6.232:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 13:22:03.909 | INFO | 15b9b501b4654860ac00cfb92061823b | 66.102.6.231:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 13:24:35.145 | INFO | 0dbbc7617aa14fd2931d18a3a3a09c59 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 13:24:35.146 | INFO | 0dbbc7617aa14fd2931d18a3a3a09c59 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 13:24:35.151 | INFO | 0dbbc7617aa14fd2931d18a3a3a09c59 | 66.102.6.224:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 13:24:35.716 | INFO | 4d17f676ee504a93aa3999bc9febfd07 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 13:24:35.723 | INFO | 4d17f676ee504a93aa3999bc9febfd07 | 66.102.6.226:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 13:24:57.716 | INFO | 7cc65a09a371440d8fd117de46e2e5c5 | 66.102.6.230:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 13:24:58.293 | INFO | 12c3d0a776e34f1c9007e7e61fec56a4 | 66.102.6.231:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 13:26:09.193 | INFO | - | Shutting down 2025-06-17 13:26:09.309 | INFO | - | Waiting for application shutdown. 2025-06-17 13:26:09.311 | INFO | - | Cleaning up NER model... 2025-06-17 13:26:09.599 | INFO | - | Application shutdown complete. 2025-06-17 13:26:09.600 | INFO | - | Finished server process [9804] 2025-06-17 13:26:12.320 | INFO | - | Started server process [17248] 2025-06-17 13:26:12.320 | INFO | - | Waiting for application startup. 2025-06-17 13:26:24.456 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 13:26:25.680 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 13:26:25.680 | INFO | - | NER model loaded successfully. 2025-06-17 13:26:25.682 | INFO | - | Application startup complete. 2025-06-17 13:27:39.970 | INFO | b46f1ce0f1e44874a67fb1a0fc3ec48b | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 13:27:39.971 | INFO | b46f1ce0f1e44874a67fb1a0fc3ec48b | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 13:27:39.971 | INFO | b46f1ce0f1e44874a67fb1a0fc3ec48b | 66.102.6.232:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 13:27:40.536 | INFO | 0899b8c9b150420cbbf3f47d60822031 | 66.102.6.235:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 13:27:44.371 | INFO | ee194d75f10345e0802b44dddd8640d5 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 13:27:44.372 | INFO | ee194d75f10345e0802b44dddd8640d5 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 13:27:44.374 | INFO | ee194d75f10345e0802b44dddd8640d5 | 66.102.6.230:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 13:27:44.900 | INFO | 6aa7feb740e045fc9884051a538d1f34 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 13:27:44.901 | INFO | 6aa7feb740e045fc9884051a538d1f34 | 66.102.6.233:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 13:27:45.611 | INFO | 6086e536db934a86b54a3bd757ce9fcc | 66.102.6.233:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 13:27:46.177 | INFO | 9307febb5d994e1a8d1ac839bad8d32b | 66.102.6.231:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 13:31:11.089 | INFO | - | Shutting down 2025-06-17 13:31:11.197 | INFO | - | Waiting for application shutdown. 2025-06-17 13:31:11.198 | INFO | - | Cleaning up NER model... 2025-06-17 13:31:11.373 | INFO | - | Application shutdown complete. 2025-06-17 13:31:11.373 | INFO | - | Finished server process [17248] 2025-06-17 13:31:13.032 | INFO | - | Started server process [25412] 2025-06-17 13:31:13.032 | INFO | - | Waiting for application startup. 2025-06-17 13:31:21.836 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 13:31:22.871 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 13:31:22.872 | INFO | - | NER model loaded successfully. 2025-06-17 13:31:22.873 | INFO | - | Application startup complete. 2025-06-17 13:36:12.074 | INFO | - | Shutting down 2025-06-17 13:36:12.183 | INFO | - | Waiting for application shutdown. 2025-06-17 13:36:12.186 | INFO | - | Cleaning up NER model... 2025-06-17 13:36:12.378 | INFO | - | Application shutdown complete. 2025-06-17 13:36:12.379 | INFO | - | Finished server process [25412] 2025-06-17 13:36:51.485 | INFO | - | Started server process [24464] 2025-06-17 13:36:51.486 | INFO | - | Waiting for application startup. 2025-06-17 13:37:01.315 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 13:37:02.514 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 13:37:02.515 | INFO | - | NER model loaded successfully. 2025-06-17 13:37:02.515 | INFO | - | Application startup complete. 2025-06-17 13:40:44.301 | INFO | - | Shutting down 2025-06-17 13:40:44.410 | INFO | - | Waiting for application shutdown. 2025-06-17 13:40:44.411 | INFO | - | Cleaning up NER model... 2025-06-17 13:40:44.575 | INFO | - | Application shutdown complete. 2025-06-17 13:40:44.575 | INFO | - | Finished server process [24464] 2025-06-17 13:40:46.450 | INFO | - | Started server process [23860] 2025-06-17 13:40:46.450 | INFO | - | Waiting for application startup. 2025-06-17 13:40:55.167 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 13:40:56.071 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 13:40:56.072 | INFO | - | NER model loaded successfully. 2025-06-17 13:40:56.073 | INFO | - | Application startup complete. 2025-06-17 13:41:02.272 | INFO | cdb0c57699c84944ad8bcf9e4679bd95 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 13:41:02.273 | INFO | cdb0c57699c84944ad8bcf9e4679bd95 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 13:41:02.274 | INFO | cdb0c57699c84944ad8bcf9e4679bd95 | 66.102.6.232:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 13:41:02.615 | INFO | f331e8b897c64b8fb3ec5076a14b9a01 | 66.102.6.232:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 13:41:04.645 | INFO | 8c27f7e4e42947ab9cb4ae1a552e20e3 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 13:41:04.646 | INFO | 8c27f7e4e42947ab9cb4ae1a552e20e3 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 13:41:04.649 | INFO | 8c27f7e4e42947ab9cb4ae1a552e20e3 | 66.102.6.231:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 13:41:05.229 | INFO | 7176bf029d554333bd8a0f827251dd5d | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 13:41:05.229 | INFO | 7176bf029d554333bd8a0f827251dd5d | 66.102.6.233:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 13:41:06.458 | INFO | 24c3f2c08dad4482971a57f2e6898766 | 66.102.6.232:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 13:41:06.735 | INFO | 04aa7e3c1f9f411d88422d8bab60871b | 66.102.6.233:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 13:41:48.942 | INFO | - | Shutting down 2025-06-17 13:41:49.050 | INFO | - | Waiting for application shutdown. 2025-06-17 13:41:49.051 | INFO | - | Cleaning up NER model... 2025-06-17 13:41:49.153 | INFO | - | Application shutdown complete. 2025-06-17 13:41:49.155 | INFO | - | Finished server process [23860] 2025-06-17 13:41:50.947 | INFO | - | Started server process [9560] 2025-06-17 13:41:50.947 | INFO | - | Waiting for application startup. 2025-06-17 13:41:59.696 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 13:42:00.641 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 13:42:00.642 | INFO | - | NER model loaded successfully. 2025-06-17 13:42:00.642 | INFO | - | Application startup complete. 2025-06-17 13:54:18.171 | INFO | - | Shutting down 2025-06-17 13:54:18.282 | INFO | - | Waiting for application shutdown. 2025-06-17 13:54:18.283 | INFO | - | Cleaning up NER model... 2025-06-17 13:54:18.469 | INFO | - | Application shutdown complete. 2025-06-17 13:54:18.470 | INFO | - | Finished server process [9560] 2025-06-17 13:54:20.204 | INFO | - | Started server process [18268] 2025-06-17 13:54:20.205 | INFO | - | Waiting for application startup. 2025-06-17 13:54:29.335 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 13:54:30.337 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 13:54:30.338 | INFO | - | NER model loaded successfully. 2025-06-17 13:54:30.339 | INFO | - | Application startup complete. 2025-06-17 13:54:40.327 | INFO | 85042289e54247e6898a63fe5a607dc5 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 13:54:40.327 | INFO | 85042289e54247e6898a63fe5a607dc5 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 13:54:40.329 | INFO | 85042289e54247e6898a63fe5a607dc5 | 66.102.6.224:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 13:54:40.865 | INFO | 28ed864ee38749e8935eabbe83df4964 | 66.102.6.231:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 13:54:43.921 | INFO | 437e7f2261c64f9b96c49df7b7fc900a | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 13:54:43.921 | INFO | 437e7f2261c64f9b96c49df7b7fc900a | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 13:54:43.921 | INFO | 437e7f2261c64f9b96c49df7b7fc900a | 66.102.6.225:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 13:54:44.225 | INFO | 59395a17673a4ed7b91d2e513b34fa3f | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 13:54:44.226 | INFO | 59395a17673a4ed7b91d2e513b34fa3f | 66.102.6.225:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 13:54:45.201 | INFO | ee321d87c8374db4bf588cbd70883314 | 66.102.6.233:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 13:54:45.721 | INFO | 176106c7145544309d33407aa06e6051 | 66.102.6.233:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 14:21:06.862 | INFO | - | Shutting down 2025-06-17 14:21:06.969 | INFO | - | Waiting for application shutdown. 2025-06-17 14:21:06.989 | INFO | - | Cleaning up NER model... 2025-06-17 14:21:07.210 | INFO | - | Application shutdown complete. 2025-06-17 14:21:07.213 | INFO | - | Finished server process [18268] 2025-06-17 14:21:09.151 | INFO | - | Started server process [5156] 2025-06-17 14:21:09.151 | INFO | - | Waiting for application startup. 2025-06-17 14:21:18.774 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:21:20.166 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:21:20.167 | INFO | - | NER model loaded successfully. 2025-06-17 14:21:20.168 | INFO | - | Application startup complete. 2025-06-17 14:26:08.133 | INFO | - | Shutting down 2025-06-17 14:26:08.237 | INFO | - | Waiting for application shutdown. 2025-06-17 14:26:08.244 | INFO | - | Cleaning up NER model... 2025-06-17 14:26:08.443 | INFO | - | Application shutdown complete. 2025-06-17 14:26:08.444 | INFO | - | Finished server process [5156] 2025-06-17 14:26:10.330 | INFO | - | Started server process [24160] 2025-06-17 14:26:10.331 | INFO | - | Waiting for application startup. 2025-06-17 14:26:19.082 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:26:20.109 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:26:20.110 | INFO | - | NER model loaded successfully. 2025-06-17 14:26:20.110 | INFO | - | Application startup complete. 2025-06-17 14:26:22.073 | INFO | - | Started server process [23184] 2025-06-17 14:26:22.075 | INFO | - | Waiting for application startup. 2025-06-17 14:26:31.281 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:26:32.245 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:26:32.245 | INFO | - | NER model loaded successfully. 2025-06-17 14:26:32.246 | INFO | - | Application startup complete. 2025-06-17 14:28:24.177 | INFO | - | Shutting down 2025-06-17 14:28:24.282 | INFO | - | Waiting for application shutdown. 2025-06-17 14:28:24.283 | INFO | - | Cleaning up NER model... 2025-06-17 14:28:24.434 | INFO | - | Application shutdown complete. 2025-06-17 14:28:24.434 | INFO | - | Finished server process [23184] 2025-06-17 14:28:26.239 | INFO | - | Started server process [19556] 2025-06-17 14:28:26.239 | INFO | - | Waiting for application startup. 2025-06-17 14:28:35.455 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:28:36.500 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:28:36.500 | INFO | - | NER model loaded successfully. 2025-06-17 14:28:36.502 | INFO | - | Application startup complete. 2025-06-17 14:28:38.480 | INFO | - | Started server process [7868] 2025-06-17 14:28:38.481 | INFO | - | Waiting for application startup. 2025-06-17 14:28:47.795 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:28:48.934 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:28:48.935 | INFO | - | NER model loaded successfully. 2025-06-17 14:28:48.935 | INFO | - | Application startup complete. 2025-06-17 14:28:50.862 | INFO | - | Started server process [29208] 2025-06-17 14:28:50.863 | INFO | - | Waiting for application startup. 2025-06-17 14:29:00.558 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:29:01.760 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:29:01.762 | INFO | - | NER model loaded successfully. 2025-06-17 14:29:01.762 | INFO | - | Application startup complete. 2025-06-17 14:29:03.668 | INFO | - | Started server process [26832] 2025-06-17 14:29:03.668 | INFO | - | Waiting for application startup. 2025-06-17 14:29:13.193 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:29:14.265 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:29:14.265 | INFO | - | NER model loaded successfully. 2025-06-17 14:29:14.266 | INFO | - | Application startup complete. 2025-06-17 14:33:24.390 | INFO | - | Shutting down 2025-06-17 14:33:24.504 | INFO | - | Waiting for application shutdown. 2025-06-17 14:33:24.507 | INFO | - | Cleaning up NER model... 2025-06-17 14:33:24.677 | INFO | - | Application shutdown complete. 2025-06-17 14:33:24.678 | INFO | - | Finished server process [26832] 2025-06-17 14:33:26.560 | INFO | - | Started server process [11488] 2025-06-17 14:33:26.561 | INFO | - | Waiting for application startup. 2025-06-17 14:33:35.065 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:33:36.067 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:33:36.067 | INFO | - | NER model loaded successfully. 2025-06-17 14:33:36.068 | INFO | - | Application startup complete. 2025-06-17 14:37:05.156 | INFO | - | Shutting down 2025-06-17 14:37:05.273 | INFO | - | Waiting for application shutdown. 2025-06-17 14:37:05.276 | INFO | - | Cleaning up NER model... 2025-06-17 14:37:05.399 | INFO | - | Application shutdown complete. 2025-06-17 14:37:05.400 | INFO | - | Finished server process [11488] 2025-06-17 14:37:07.351 | INFO | - | Started server process [21684] 2025-06-17 14:37:07.351 | INFO | - | Waiting for application startup. 2025-06-17 14:37:16.937 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:37:18.128 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:37:18.129 | INFO | - | NER model loaded successfully. 2025-06-17 14:37:18.129 | INFO | - | Application startup complete. 2025-06-17 14:37:19.180 | INFO | abfde8f6bc24471db73c684e8f52138d | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 14:37:19.182 | INFO | abfde8f6bc24471db73c684e8f52138d | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 14:37:19.185 | INFO | abfde8f6bc24471db73c684e8f52138d | 66.102.6.234:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 14:37:19.787 | INFO | 8c8e1cbe38ac42da84ac309c3633a141 | 66.102.6.224:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 14:37:22.506 | INFO | 7bb1fa82da73419a840fa55d305cb740 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 14:37:22.507 | INFO | 7bb1fa82da73419a840fa55d305cb740 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 14:37:22.510 | INFO | 7bb1fa82da73419a840fa55d305cb740 | 66.102.6.226:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 14:37:23.261 | INFO | aebedba79de34cb39db2bd42d0d4c859 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 14:37:23.264 | INFO | aebedba79de34cb39db2bd42d0d4c859 | 66.102.6.224:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 14:37:23.610 | INFO | 305a47ba925d43f2a70b6920ec870012 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 14:37:23.611 | INFO | 305a47ba925d43f2a70b6920ec870012 | 66.102.6.224:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 14:37:24.536 | INFO | fc8fe6421f694dec88d70fbee71b51e5 | 66.102.6.224:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 14:37:25.039 | INFO | 62fcb30681d54b16a039646efdfa072c | 66.102.6.225:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 14:42:06.136 | INFO | - | Shutting down 2025-06-17 14:42:06.250 | INFO | - | Waiting for application shutdown. 2025-06-17 14:42:06.251 | INFO | - | Cleaning up NER model... 2025-06-17 14:42:06.473 | INFO | - | Application shutdown complete. 2025-06-17 14:42:06.474 | INFO | - | Finished server process [21684] 2025-06-17 14:42:08.136 | INFO | - | Started server process [19232] 2025-06-17 14:42:08.136 | INFO | - | Waiting for application startup. 2025-06-17 14:42:17.333 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:42:18.351 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:42:18.352 | INFO | - | NER model loaded successfully. 2025-06-17 14:42:18.353 | INFO | - | Application startup complete. 2025-06-17 14:43:33.671 | INFO | d8aa62db537d4f0abafe5ad8ba77dc64 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 14:43:33.674 | INFO | d8aa62db537d4f0abafe5ad8ba77dc64 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 14:43:33.678 | INFO | d8aa62db537d4f0abafe5ad8ba77dc64 | 66.102.6.232:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 14:43:34.287 | INFO | e1b54d744ea34ef18a1463c68c8383cc | 66.102.6.224:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 14:43:36.532 | INFO | a67a6c280e0340c4b64eca9a40f56241 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 14:43:36.533 | INFO | a67a6c280e0340c4b64eca9a40f56241 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 14:43:36.534 | INFO | a67a6c280e0340c4b64eca9a40f56241 | 66.102.6.226:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 14:43:37.411 | INFO | 03993ab711f0485fb4f7a336fdfee826 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 14:43:37.416 | INFO | 03993ab711f0485fb4f7a336fdfee826 | 66.102.6.230:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 14:43:38.756 | INFO | 10e7c89c5258417fae892fb8228a4ca0 | 66.102.6.232:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 14:43:39.090 | INFO | 83994b93078046dc97f401ca1ed09006 | 66.102.6.224:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 14:47:07.226 | INFO | - | Shutting down 2025-06-17 14:47:07.331 | INFO | - | Waiting for application shutdown. 2025-06-17 14:47:07.331 | INFO | - | Cleaning up NER model... 2025-06-17 14:47:07.420 | INFO | - | Application shutdown complete. 2025-06-17 14:47:07.421 | INFO | - | Finished server process [19232] 2025-06-17 14:47:09.106 | INFO | - | Started server process [25148] 2025-06-17 14:47:09.107 | INFO | - | Waiting for application startup. 2025-06-17 14:47:17.990 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:47:19.301 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:47:19.302 | INFO | - | NER model loaded successfully. 2025-06-17 14:47:19.303 | INFO | - | Application startup complete. 2025-06-17 14:52:08.197 | INFO | - | Shutting down 2025-06-17 14:52:08.307 | INFO | - | Waiting for application shutdown. 2025-06-17 14:52:08.310 | INFO | - | Cleaning up NER model... 2025-06-17 14:52:08.489 | INFO | - | Application shutdown complete. 2025-06-17 14:52:08.490 | INFO | - | Finished server process [25148] 2025-06-17 14:52:10.095 | INFO | - | Started server process [5812] 2025-06-17 14:52:10.095 | INFO | - | Waiting for application startup. 2025-06-17 14:52:19.248 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:52:20.721 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:52:20.721 | INFO | - | NER model loaded successfully. 2025-06-17 14:52:20.722 | INFO | - | Application startup complete. 2025-06-17 14:52:54.324 | INFO | 6237c46a7e694904a6307fecdfaf7e2e | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 14:52:54.326 | INFO | 6237c46a7e694904a6307fecdfaf7e2e | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 14:52:54.326 | INFO | 6237c46a7e694904a6307fecdfaf7e2e | 66.102.6.233:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 14:52:54.994 | INFO | 9f48ab60f8004e239ffbcfa49534c643 | 66.102.6.232:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 14:52:56.998 | INFO | 23eda16bfd07492382cd6ee67d41f5f9 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 14:52:56.998 | INFO | 23eda16bfd07492382cd6ee67d41f5f9 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 14:52:56.998 | INFO | 23eda16bfd07492382cd6ee67d41f5f9 | 66.102.6.224:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 14:52:57.551 | INFO | 63b924d8630e42ff807a24c7b95e9b27 | 66.102.6.231:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 14:52:58.114 | INFO | 5b726d53bd2b40288d76c529844a0c5f | 66.102.6.231:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 14:52:59.143 | INFO | ecddd380639941eeb6e8c54e09bef6ad | 66.102.6.232:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 14:52:59.680 | INFO | 0542eb54e97742a685d23b7a28f395c0 | 66.102.6.226:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 14:59:08.003 | INFO | - | Shutting down 2025-06-17 14:59:08.112 | INFO | - | Waiting for application shutdown. 2025-06-17 14:59:08.114 | INFO | - | Cleaning up NER model... 2025-06-17 14:59:08.321 | INFO | - | Application shutdown complete. 2025-06-17 14:59:08.322 | INFO | - | Finished server process [5812] 2025-06-17 14:59:10.158 | INFO | - | Started server process [12944] 2025-06-17 14:59:10.159 | INFO | - | Waiting for application startup. 2025-06-17 14:59:20.628 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:59:21.999 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 14:59:22.000 | INFO | - | NER model loaded successfully. 2025-06-17 14:59:22.000 | INFO | - | Application startup complete. 2025-06-17 15:00:39.418 | INFO | 6fe1c29910fb4aea919a7139e543b021 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 15:00:39.419 | INFO | 6fe1c29910fb4aea919a7139e543b021 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 15:00:39.420 | INFO | 6fe1c29910fb4aea919a7139e543b021 | 66.102.6.231:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 15:00:39.978 | INFO | e8133a0aff3f4c089380be2a2701d193 | 66.102.6.232:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 15:00:42.910 | INFO | ef551052d77145a081bc95cf7b711ac8 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 15:00:42.911 | INFO | ef551052d77145a081bc95cf7b711ac8 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 15:00:42.911 | INFO | ef551052d77145a081bc95cf7b711ac8 | 66.102.6.233:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 15:00:43.467 | INFO | 2529cadb94ab45e3911e74f882325d59 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 15:00:43.469 | INFO | 2529cadb94ab45e3911e74f882325d59 | 66.102.6.224:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 15:00:44.452 | INFO | 92d27ed91a1549baa250b7cbfe352727 | 66.102.6.232:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 15:00:44.989 | INFO | c74b4fa593e844a99e857735a1677848 | 66.102.6.235:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 15:23:45.595 | INFO | - | Shutting down 2025-06-17 15:23:45.703 | INFO | - | Waiting for application shutdown. 2025-06-17 15:23:45.703 | INFO | - | Cleaning up NER model... 2025-06-17 15:23:45.841 | INFO | - | Application shutdown complete. 2025-06-17 15:23:45.847 | INFO | - | Finished server process [12944] 2025-06-17 15:23:48.057 | INFO | - | Started server process [14732] 2025-06-17 15:23:48.058 | INFO | - | Waiting for application startup. 2025-06-17 15:23:59.201 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 15:24:00.822 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 15:24:00.823 | INFO | - | NER model loaded successfully. 2025-06-17 15:24:00.824 | INFO | - | Application startup complete. 2025-06-17 15:24:03.544 | INFO | - | Started server process [22024] 2025-06-17 15:24:03.545 | INFO | - | Waiting for application startup. 2025-06-17 15:24:13.895 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 15:24:15.397 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 15:24:15.398 | INFO | - | NER model loaded successfully. 2025-06-17 15:24:15.398 | INFO | - | Application startup complete. 2025-06-17 15:24:17.549 | INFO | - | Started server process [19092] 2025-06-17 15:24:17.550 | INFO | - | Waiting for application startup. 2025-06-17 15:24:27.811 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 15:24:29.252 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 15:24:29.253 | INFO | - | NER model loaded successfully. 2025-06-17 15:24:29.254 | INFO | - | Application startup complete. 2025-06-17 15:29:16.427 | INFO | - | Shutting down 2025-06-17 15:29:16.536 | INFO | - | Waiting for application shutdown. 2025-06-17 15:29:16.540 | INFO | - | Cleaning up NER model... 2025-06-17 15:29:16.717 | INFO | - | Application shutdown complete. 2025-06-17 15:29:16.717 | INFO | - | Finished server process [19092] 2025-06-17 15:29:18.835 | INFO | - | Started server process [24892] 2025-06-17 15:29:18.835 | INFO | - | Waiting for application startup. 2025-06-17 15:29:28.246 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 15:29:29.330 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 15:29:29.331 | INFO | - | NER model loaded successfully. 2025-06-17 15:29:29.332 | INFO | - | Application startup complete. 2025-06-17 15:29:38.737 | INFO | - | Shutting down 2025-06-17 15:29:38.847 | INFO | - | Waiting for application shutdown. 2025-06-17 15:29:38.847 | INFO | - | Cleaning up NER model... 2025-06-17 15:29:38.928 | INFO | - | Application shutdown complete. 2025-06-17 15:29:38.929 | INFO | - | Finished server process [24892] 2025-06-17 15:29:40.730 | INFO | - | Started server process [21476] 2025-06-17 15:29:40.731 | INFO | - | Waiting for application startup. 2025-06-17 15:29:50.196 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 15:29:51.042 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 15:29:51.043 | INFO | - | NER model loaded successfully. 2025-06-17 15:29:51.043 | INFO | - | Application startup complete. 2025-06-17 15:29:52.806 | INFO | - | Started server process [18220] 2025-06-17 15:29:52.806 | INFO | - | Waiting for application startup. 2025-06-17 15:30:02.527 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 15:30:03.569 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 15:30:03.569 | INFO | - | NER model loaded successfully. 2025-06-17 15:30:03.570 | INFO | - | Application startup complete. 2025-06-17 15:34:51.946 | INFO | - | Shutting down 2025-06-17 15:34:52.057 | INFO | - | Waiting for application shutdown. 2025-06-17 15:34:52.058 | INFO | - | Cleaning up NER model... 2025-06-17 15:34:52.144 | INFO | - | Application shutdown complete. 2025-06-17 15:34:52.145 | INFO | - | Finished server process [18220] 2025-06-17 15:34:54.227 | INFO | - | Started server process [24748] 2025-06-17 15:34:54.227 | INFO | - | Waiting for application startup. 2025-06-17 15:35:04.566 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 15:35:06.032 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 15:35:06.033 | INFO | - | NER model loaded successfully. 2025-06-17 15:35:06.033 | INFO | - | Application startup complete. 2025-06-17 15:44:13.488 | INFO | - | Shutting down 2025-06-17 15:44:13.597 | INFO | - | Waiting for application shutdown. 2025-06-17 15:44:13.598 | INFO | - | Cleaning up NER model... 2025-06-17 15:44:13.700 | INFO | - | Application shutdown complete. 2025-06-17 15:44:13.701 | INFO | - | Finished server process [24748] 2025-06-17 15:44:15.861 | INFO | - | Started server process [180] 2025-06-17 15:44:15.862 | INFO | - | Waiting for application startup. 2025-06-17 15:44:15.864 | INFO | - | Application startup complete. 2025-06-17 15:49:14.594 | INFO | - | Shutting down 2025-06-17 15:49:14.704 | INFO | - | Waiting for application shutdown. 2025-06-17 15:49:14.704 | INFO | - | Application shutdown complete. 2025-06-17 15:49:14.704 | INFO | - | Finished server process [180] 2025-06-17 15:49:16.161 | INFO | - | Started server process [23832] 2025-06-17 15:49:16.163 | INFO | - | Waiting for application startup. 2025-06-17 15:49:16.165 | INFO | - | Application startup complete. 2025-06-17 15:49:17.439 | INFO | - | Started server process [12972] 2025-06-17 15:49:17.440 | INFO | - | Waiting for application startup. 2025-06-17 15:49:17.442 | INFO | - | Application startup complete. 2025-06-17 15:54:16.368 | INFO | - | Shutting down 2025-06-17 15:54:16.477 | INFO | - | Waiting for application shutdown. 2025-06-17 15:54:16.477 | INFO | - | Application shutdown complete. 2025-06-17 15:54:16.478 | INFO | - | Finished server process [12972] 2025-06-17 15:57:07.509 | INFO | - | Started server process [23432] 2025-06-17 15:57:07.509 | INFO | - | Waiting for application startup. 2025-06-17 15:57:07.511 | INFO | - | Application startup complete. 2025-06-17 16:03:50.293 | INFO | 4e166022c9f34836b79a430bef9910df | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 16:03:50.294 | INFO | 4e166022c9f34836b79a430bef9910df | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:03:50.298 | INFO | 4e166022c9f34836b79a430bef9910df | 66.102.6.225:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 16:03:50.628 | INFO | 1eb86ab131b64e2c971e9c0066bf65c0 | 66.102.6.225:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 16:03:53.545 | INFO | c4fbd3d31bbb42368177e4828180d3aa | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:03:53.550 | INFO | c4fbd3d31bbb42368177e4828180d3aa | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 16:03:53.552 | INFO | c4fbd3d31bbb42368177e4828180d3aa | 66.102.6.226:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 16:03:54.199 | INFO | ad1035a3716642329b20c38c4bb1a754 | 66.102.6.233:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 16:03:54.730 | INFO | 427d240cfa284ed0b46522a238f0b87a | 66.102.6.225:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 16:03:55.877 | INFO | 1576ca9d57e34d19ad9c3f9d720ca3f8 | 66.102.6.233:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 16:03:56.425 | INFO | e13c9a792396462aa2f63a45e4ee8bff | 66.102.6.231:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 16:05:50.871 | INFO | - | Shutting down 2025-06-17 16:05:50.980 | INFO | - | Waiting for application shutdown. 2025-06-17 16:05:50.984 | INFO | - | Application shutdown complete. 2025-06-17 16:05:50.986 | INFO | - | Finished server process [23432] 2025-06-17 16:09:33.953 | INFO | - | Started server process [2408] 2025-06-17 16:09:33.954 | INFO | - | Waiting for application startup. 2025-06-17 16:09:33.956 | INFO | - | Application startup complete. 2025-06-17 16:10:07.660 | INFO | 4ee86bcfd8424ae19ebd3924f8cb45c3 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 16:10:07.660 | INFO | 4ee86bcfd8424ae19ebd3924f8cb45c3 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:10:07.661 | INFO | 4ee86bcfd8424ae19ebd3924f8cb45c3 | 66.102.6.231:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 16:10:08.312 | INFO | 23030a7950ef4b3eac765d72ac433289 | 66.102.6.224:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 16:10:11.192 | INFO | da059c5b4775442a90fdfe363497b0a5 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:10:11.193 | INFO | da059c5b4775442a90fdfe363497b0a5 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 16:10:11.197 | INFO | da059c5b4775442a90fdfe363497b0a5 | 66.102.6.224:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 16:10:11.862 | INFO | 708db896e5444d1eb7d50dd0e112cc80 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:10:11.864 | INFO | 708db896e5444d1eb7d50dd0e112cc80 | 66.102.6.230:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 16:10:12.501 | INFO | 03bde22b897647229814879fe969ade6 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:10:12.502 | INFO | 03bde22b897647229814879fe969ade6 | 66.102.6.224:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 16:10:13.546 | INFO | 12e22ef814ad47efafa6e99438b0e75f | 66.102.6.226:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 16:10:14.074 | INFO | d2fc6577df0b4e05848c9fd096166e25 | 66.102.6.225:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 16:17:02.281 | INFO | - | Shutting down 2025-06-17 16:17:02.391 | INFO | - | Waiting for application shutdown. 2025-06-17 16:17:02.391 | INFO | - | Application shutdown complete. 2025-06-17 16:17:02.392 | INFO | - | Finished server process [2408] 2025-06-17 16:21:20.898 | INFO | - | Started server process [14572] 2025-06-17 16:21:20.899 | INFO | - | Waiting for application startup. 2025-06-17 16:21:20.902 | INFO | - | Application startup complete. 2025-06-17 16:21:30.851 | INFO | 20f1299501f64759801744381f1f33d9 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 16:21:30.852 | INFO | 20f1299501f64759801744381f1f33d9 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:21:30.854 | INFO | 20f1299501f64759801744381f1f33d9 | 66.102.6.233:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 16:21:31.434 | INFO | 7bffc3868cfe4e91aa652253e6986f82 | 66.102.6.224:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 16:21:35.459 | INFO | 1cc9f2f4592049708a5ec4be0d72f030 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:21:35.459 | INFO | 1cc9f2f4592049708a5ec4be0d72f030 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 16:21:35.460 | INFO | 1cc9f2f4592049708a5ec4be0d72f030 | 66.102.6.225:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 16:21:36.073 | INFO | 6bbd8eebf16d4125a2a75ce2bc4c4988 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:21:36.075 | INFO | 6bbd8eebf16d4125a2a75ce2bc4c4988 | 66.102.6.232:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 16:21:36.611 | INFO | a57dda03c4dd4706bf04e801bf9c16d0 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:21:36.612 | INFO | a57dda03c4dd4706bf04e801bf9c16d0 | 66.102.6.226:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 16:21:37.460 | INFO | 6e9cc863f5924d11b34a9c0bdbcdddd7 | 66.102.6.225:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 16:21:37.977 | INFO | 028623c6eb4744cc890901b67a308630 | 66.102.6.224:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 16:23:29.792 | INFO | - | Shutting down 2025-06-17 16:23:29.901 | INFO | - | Waiting for application shutdown. 2025-06-17 16:23:29.903 | INFO | - | Application shutdown complete. 2025-06-17 16:23:29.906 | INFO | - | Finished server process [14572] 2025-06-17 16:23:31.679 | INFO | - | Started server process [32448] 2025-06-17 16:23:31.681 | INFO | - | Waiting for application startup. 2025-06-17 16:23:31.683 | INFO | - | Application startup complete. 2025-06-17 16:24:20.284 | INFO | 7a7db73099344105ac1e60a52f71c0b3 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 16:24:20.285 | INFO | 7a7db73099344105ac1e60a52f71c0b3 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:24:20.286 | INFO | 7a7db73099344105ac1e60a52f71c0b3 | 66.102.6.231:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 16:24:20.837 | INFO | 7ac08917b6d5463ba197852785c65dfa | 66.102.6.235:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 16:24:23.900 | INFO | 286bec51ccf24d6ba42be3a96780cc8a | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:24:23.902 | INFO | 286bec51ccf24d6ba42be3a96780cc8a | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 16:24:23.905 | INFO | 286bec51ccf24d6ba42be3a96780cc8a | 66.102.6.230:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 16:24:24.469 | INFO | f4fe121b76864fcd82929617561bcaa0 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:24:24.471 | INFO | f4fe121b76864fcd82929617561bcaa0 | 66.102.6.224:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 16:24:24.999 | INFO | 4aa00005ee424968842c44494d482f5c | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:24:25.002 | INFO | 4aa00005ee424968842c44494d482f5c | 66.102.6.232:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 16:24:26.094 | INFO | 629fd4f6069f4fc286a991047c6ad1fe | 66.102.6.226:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 16:24:26.615 | INFO | 220ac5b9b296461ca816e0bb82555fc4 | 66.102.6.225:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 16:25:54.146 | INFO | - | Shutting down 2025-06-17 16:25:54.254 | INFO | - | Waiting for application shutdown. 2025-06-17 16:25:54.258 | INFO | - | Application shutdown complete. 2025-06-17 16:25:54.260 | INFO | - | Finished server process [32448] 2025-06-17 16:25:55.668 | INFO | - | Started server process [24656] 2025-06-17 16:25:55.668 | INFO | - | Waiting for application startup. 2025-06-17 16:25:55.670 | INFO | - | Application startup complete. 2025-06-17 16:30:54.437 | INFO | - | Shutting down 2025-06-17 16:30:54.546 | INFO | - | Waiting for application shutdown. 2025-06-17 16:30:54.548 | INFO | - | Application shutdown complete. 2025-06-17 16:30:54.550 | INFO | - | Finished server process [24656] 2025-06-17 16:30:55.783 | INFO | - | Started server process [16580] 2025-06-17 16:30:55.783 | INFO | - | Waiting for application startup. 2025-06-17 16:30:55.785 | INFO | - | Application startup complete. 2025-06-17 16:34:33.680 | INFO | - | Shutting down 2025-06-17 16:34:33.790 | INFO | - | Waiting for application shutdown. 2025-06-17 16:34:33.793 | INFO | - | Application shutdown complete. 2025-06-17 16:34:33.794 | INFO | - | Finished server process [16580] 2025-06-17 16:34:35.059 | INFO | - | Started server process [748] 2025-06-17 16:34:35.060 | INFO | - | Waiting for application startup. 2025-06-17 16:34:35.061 | INFO | - | Application startup complete. 2025-06-17 16:34:46.478 | INFO | d978811580e5482d9972063d7cd726bf | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 16:34:46.479 | INFO | d978811580e5482d9972063d7cd726bf | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:34:46.480 | INFO | d978811580e5482d9972063d7cd726bf | 66.102.6.224:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 16:34:58.642 | INFO | 486ee499eda94ade9d540628d4b721c5 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:34:58.645 | INFO | 486ee499eda94ade9d540628d4b721c5 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 16:34:58.648 | INFO | 486ee499eda94ade9d540628d4b721c5 | 66.102.6.234:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 16:37:36.734 | INFO | f71ba61b359e4e8eb82bfd29831a2d3e | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-17 16:38:53.895 | INFO | - | Shutting down 2025-06-17 16:38:54.007 | INFO | - | Waiting for application shutdown. 2025-06-17 16:38:54.009 | INFO | - | Application shutdown complete. 2025-06-17 16:38:54.011 | INFO | - | Finished server process [748] 2025-06-17 16:38:58.488 | INFO | - | Started server process [27428] 2025-06-17 16:38:58.488 | INFO | - | Waiting for application startup. 2025-06-17 16:38:58.489 | INFO | - | Application startup complete. 2025-06-17 16:39:29.112 | INFO | c5d231708f8a4fb58e3fc6b23e949ff3 | 14.241.227.54:0 - "GET / HTTP/1.1" 404 2025-06-17 16:39:29.458 | INFO | fdd35556cb4d454e93e887c48795f043 | 14.241.227.54:0 - "GET /favicon.ico HTTP/1.1" 404 2025-06-17 16:39:35.179 | INFO | 3f14000a451d4593985f24626987a78f | 14.241.227.54:0 - "GET /dcos HTTP/1.1" 404 2025-06-17 16:39:37.458 | INFO | ef65cce3a9bb4bf7bab5e51b5a869a76 | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-17 16:39:38.146 | INFO | 9055c5ee126544c5b8d898533a1923ec | 14.241.227.54:0 - "GET /openapi HTTP/1.1" 200 2025-06-17 16:41:05.846 | INFO | c487060697624f96b3b2ff64680b5976 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 16:41:05.864 | INFO | c487060697624f96b3b2ff64680b5976 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:41:05.866 | INFO | c487060697624f96b3b2ff64680b5976 | 64.233.172.137:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 16:41:06.423 | INFO | 9062b771ff5d404a84da0e068faba46a | 64.233.172.138:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 16:41:18.423 | INFO | a87e30929cc64304aa5a95b5dff7ee49 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:41:18.423 | INFO | a87e30929cc64304aa5a95b5dff7ee49 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 16:41:18.424 | INFO | a87e30929cc64304aa5a95b5dff7ee49 | 64.233.172.140:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 16:41:19.010 | INFO | 651a7fc328574ca3912fd636ab2a0d8d | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:41:19.010 | INFO | 651a7fc328574ca3912fd636ab2a0d8d | 64.233.172.129:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 16:41:19.586 | INFO | 4e620b91c4c94e5080b31ccc37acae50 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:41:19.587 | INFO | 4e620b91c4c94e5080b31ccc37acae50 | 64.233.172.135:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 16:43:57.095 | INFO | - | Shutting down 2025-06-17 16:43:57.205 | INFO | - | Waiting for application shutdown. 2025-06-17 16:43:57.207 | INFO | - | Application shutdown complete. 2025-06-17 16:43:57.208 | INFO | - | Finished server process [27428] 2025-06-17 16:44:07.805 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 16:44:07.806 | INFO | - | Started server process [21600] 2025-06-17 16:44:07.807 | INFO | - | Waiting for application startup. 2025-06-17 16:44:07.809 | INFO | - | Application startup complete. 2025-06-17 16:47:14.514 | INFO | - | Shutting down 2025-06-17 16:47:14.623 | INFO | - | Waiting for application shutdown. 2025-06-17 16:47:14.624 | INFO | - | Application shutdown complete. 2025-06-17 16:47:14.625 | INFO | - | Finished server process [21600] 2025-06-17 16:47:25.668 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 16:47:25.668 | INFO | - | Started server process [27472] 2025-06-17 16:47:25.669 | INFO | - | Waiting for application startup. 2025-06-17 16:47:25.672 | INFO | - | Application startup complete. 2025-06-17 16:47:40.533 | INFO | 46259538d9314e29956ca5875956cd1d | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 16:47:40.536 | INFO | 46259538d9314e29956ca5875956cd1d | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:47:40.540 | INFO | 46259538d9314e29956ca5875956cd1d | 64.233.172.128:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 16:47:41.104 | INFO | a4c8d90efaa248deb162b2037cce0437 | 64.233.172.141:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 16:47:42.125 | INFO | 0d99b424993f4376a39760316f71fb8e | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:47:42.127 | INFO | 0d99b424993f4376a39760316f71fb8e | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 16:47:42.129 | INFO | 0d99b424993f4376a39760316f71fb8e | 64.233.172.129:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 16:47:42.770 | INFO | 0ea0e68aab5d492aa7823b2bddf34b12 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:47:42.773 | INFO | 0ea0e68aab5d492aa7823b2bddf34b12 | 64.233.172.134:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 16:47:43.073 | INFO | 97d03037d72e4ed8a75565d83c8fac11 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:47:43.076 | INFO | 97d03037d72e4ed8a75565d83c8fac11 | 64.233.172.129:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-17 16:48:50.075 | INFO | - | Shutting down 2025-06-17 16:48:50.182 | INFO | - | Waiting for application shutdown. 2025-06-17 16:48:50.186 | INFO | - | Application shutdown complete. 2025-06-17 16:48:50.188 | INFO | - | Finished server process [27472] 2025-06-17 16:49:00.499 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 16:49:00.500 | INFO | - | Started server process [18608] 2025-06-17 16:49:00.500 | INFO | - | Waiting for application startup. 2025-06-17 16:49:00.504 | INFO | - | Application startup complete. 2025-06-17 16:51:33.355 | INFO | - | Shutting down 2025-06-17 16:51:33.463 | INFO | - | Waiting for application shutdown. 2025-06-17 16:51:33.466 | INFO | - | Application shutdown complete. 2025-06-17 16:51:33.467 | INFO | - | Finished server process [18608] 2025-06-17 16:51:45.173 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 16:51:45.174 | INFO | - | Started server process [10728] 2025-06-17 16:51:45.174 | INFO | - | Waiting for application startup. 2025-06-17 16:51:45.176 | INFO | - | Application startup complete. 2025-06-17 16:51:57.886 | INFO | 191b8465bc7342c98b5af358f2dd46f7 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 16:51:57.888 | INFO | 191b8465bc7342c98b5af358f2dd46f7 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:51:57.889 | INFO | 191b8465bc7342c98b5af358f2dd46f7 | 64.233.172.133:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 16:51:58.447 | INFO | 1b23fc6570504c8ea7c2d0dc15d47818 | 64.233.172.128:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 16:51:59.467 | INFO | 5de3a92af96841758034a06a8a53c89c | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:51:59.468 | INFO | 5de3a92af96841758034a06a8a53c89c | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 16:51:59.471 | INFO | 5de3a92af96841758034a06a8a53c89c | 64.233.172.138:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 16:52:00.164 | INFO | 27f095f7b7194bbba51e76717ac32e75 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:52:00.165 | INFO | 27f095f7b7194bbba51e76717ac32e75 | 64.233.172.131:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 16:52:08.879 | INFO | 07b9ad617aaf42569a412f633e1f4275 | 64.233.172.137:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 16:52:09.603 | INFO | 3dae18f06c324f4c96edbbd57d9ee09b | 64.233.172.136:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 16:53:46.228 | INFO | - | Shutting down 2025-06-17 16:53:46.339 | INFO | - | Waiting for application shutdown. 2025-06-17 16:53:46.341 | INFO | - | Application shutdown complete. 2025-06-17 16:53:46.342 | INFO | - | Finished server process [10728] 2025-06-17 16:53:56.440 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 16:53:56.442 | INFO | - | Started server process [23348] 2025-06-17 16:53:56.442 | INFO | - | Waiting for application startup. 2025-06-17 16:53:56.445 | INFO | - | Application startup complete. 2025-06-17 16:54:00.872 | INFO | b928604c2e2b4284bb4fecb66e8d49f0 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 16:54:00.873 | INFO | b928604c2e2b4284bb4fecb66e8d49f0 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:54:00.874 | INFO | b928604c2e2b4284bb4fecb66e8d49f0 | 64.233.172.130:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 16:54:01.437 | INFO | caf141d2698f436f9ad2a9a4405a017c | 64.233.172.129:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 16:54:02.811 | INFO | dd4c1cb4cc3448808ce4927fb021b367 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:54:02.812 | INFO | dd4c1cb4cc3448808ce4927fb021b367 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 16:54:02.818 | INFO | dd4c1cb4cc3448808ce4927fb021b367 | 64.233.172.138:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 16:54:03.382 | INFO | 099f04bbfbc149959a906bde82518f6d | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 16:54:03.385 | INFO | 099f04bbfbc149959a906bde82518f6d | 64.233.172.131:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 16:54:05.469 | INFO | dbeac3bd3b8c4d1a9a5cb3177adb5155 | 64.233.172.130:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 16:54:06.208 | INFO | 3dd4795c951c454ca5a3e075fe3703b8 | 64.233.172.135:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 16:58:47.223 | INFO | - | Shutting down 2025-06-17 16:58:47.363 | INFO | - | Waiting for application shutdown. 2025-06-17 16:58:47.365 | INFO | - | Application shutdown complete. 2025-06-17 16:58:47.367 | INFO | - | Finished server process [23348] 2025-06-17 16:58:58.267 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 16:58:58.268 | INFO | - | Started server process [25832] 2025-06-17 16:58:58.268 | INFO | - | Waiting for application startup. 2025-06-17 16:58:58.270 | INFO | - | Application startup complete. 2025-06-17 17:01:46.696 | INFO | 8fb53430e8cb47729cb99539ed698fcc | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 17:01:46.697 | INFO | 8fb53430e8cb47729cb99539ed698fcc | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:01:46.700 | INFO | 8fb53430e8cb47729cb99539ed698fcc | 64.233.172.133:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:01:47.343 | INFO | 530fc344189b432e874acdbf8b1c2ebf | 64.233.172.132:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 17:01:48.134 | INFO | 7522cc602c1145a587ed921820ff35ad | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:01:48.134 | INFO | 7522cc602c1145a587ed921820ff35ad | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 17:01:48.135 | INFO | 7522cc602c1145a587ed921820ff35ad | 64.233.172.133:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:01:48.764 | INFO | 7e89b7a8103447adb854015fc8c08d51 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:01:48.766 | INFO | 7e89b7a8103447adb854015fc8c08d51 | 64.233.172.130:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 17:01:51.493 | INFO | b34df4361c8f4b69a00b334fffc59360 | HTTP Request: GET https://api-dev.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-17 17:01:52.269 | INFO | b34df4361c8f4b69a00b334fffc59360 | HTTP Request: GET https://api-dev.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-17 17:01:52.278 | INFO | b34df4361c8f4b69a00b334fffc59360 | 64.233.172.134:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 17:01:53.019 | INFO | 9d85847db3d046cabc38d3eec6cf1e9a | HTTP Request: GET https://api-dev.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-17 17:01:53.023 | INFO | 9d85847db3d046cabc38d3eec6cf1e9a | 64.233.172.136:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-17 17:03:01.489 | INFO | - | Shutting down 2025-06-17 17:03:01.600 | INFO | - | Waiting for application shutdown. 2025-06-17 17:03:01.602 | INFO | - | Application shutdown complete. 2025-06-17 17:03:01.604 | INFO | - | Finished server process [25832] 2025-06-17 17:03:12.316 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 17:03:12.317 | INFO | - | Started server process [10692] 2025-06-17 17:03:12.317 | INFO | - | Waiting for application startup. 2025-06-17 17:03:12.320 | INFO | - | Application startup complete. 2025-06-17 17:03:51.053 | INFO | 9e235fdb878f421aa72c9d3ae4c69ad1 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 17:03:51.055 | INFO | 9e235fdb878f421aa72c9d3ae4c69ad1 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:03:51.057 | INFO | 9e235fdb878f421aa72c9d3ae4c69ad1 | 64.233.172.133:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:03:51.639 | INFO | df09c05e874d4d2599761994725f8a0d | 64.233.172.140:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 17:03:52.645 | INFO | 889a7cf1b72d4923be8253c37c6b2307 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:03:52.647 | INFO | 889a7cf1b72d4923be8253c37c6b2307 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 17:03:52.650 | INFO | 889a7cf1b72d4923be8253c37c6b2307 | 64.233.172.136:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:03:53.262 | INFO | 76db83e65ea34c5898494f5233250f6a | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:03:53.264 | INFO | 76db83e65ea34c5898494f5233250f6a | 64.233.172.134:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 17:03:55.810 | INFO | dbc4742d525e4e329648cc65d8bc8696 | HTTP Request: GET https://api-dev.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-17 17:03:56.235 | INFO | dbc4742d525e4e329648cc65d8bc8696 | HTTP Request: GET https://api-dev.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-17 17:03:56.614 | INFO | dbc4742d525e4e329648cc65d8bc8696 | HTTP Request: POST https://api-dev.futabus.vn/search/trips "HTTP/1.1 500 Internal Server Error" 2025-06-17 17:03:56.618 | INFO | dbc4742d525e4e329648cc65d8bc8696 | 64.233.172.130:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-17 17:05:12.715 | INFO | - | Shutting down 2025-06-17 17:05:12.824 | INFO | - | Waiting for application shutdown. 2025-06-17 17:05:12.826 | INFO | - | Application shutdown complete. 2025-06-17 17:05:12.827 | INFO | - | Finished server process [10692] 2025-06-17 17:05:25.244 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 17:05:25.245 | INFO | - | Started server process [29788] 2025-06-17 17:05:25.246 | INFO | - | Waiting for application startup. 2025-06-17 17:05:25.248 | INFO | - | Application startup complete. 2025-06-17 17:07:03.841 | INFO | - | Shutting down 2025-06-17 17:07:03.949 | INFO | - | Waiting for application shutdown. 2025-06-17 17:07:03.955 | INFO | - | Application shutdown complete. 2025-06-17 17:07:03.968 | INFO | - | Finished server process [29788] 2025-06-17 17:07:15.497 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 17:07:15.498 | INFO | - | Started server process [22916] 2025-06-17 17:07:15.502 | INFO | - | Waiting for application startup. 2025-06-17 17:07:15.507 | INFO | - | Application startup complete. 2025-06-17 17:07:20.351 | INFO | de1d5ac7540e4a258619de6fa614a18e | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 17:07:20.352 | INFO | de1d5ac7540e4a258619de6fa614a18e | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:07:20.353 | INFO | de1d5ac7540e4a258619de6fa614a18e | 64.233.172.135:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:07:21.049 | INFO | 38b88794c88b432785c8b44f65cbfe0c | 64.233.172.136:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 17:07:22.387 | INFO | c777e1f981644a199fe08a0cc913b691 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:07:22.388 | INFO | c777e1f981644a199fe08a0cc913b691 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 17:07:22.390 | INFO | c777e1f981644a199fe08a0cc913b691 | 64.233.172.134:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:07:23.032 | INFO | a02d01af92b44100a689ac542088ac4c | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:07:23.040 | INFO | a02d01af92b44100a689ac542088ac4c | 64.233.172.134:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 17:07:24.359 | INFO | 4c3eef5b11bf412cb9e905eca008783d | HTTP Request: GET https://api-dev.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-17 17:07:24.887 | INFO | 4c3eef5b11bf412cb9e905eca008783d | HTTP Request: GET https://api-dev.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-17 17:07:25.247 | INFO | 4c3eef5b11bf412cb9e905eca008783d | HTTP Request: POST https://api-dev.futabus.vn/search/trips "HTTP/1.1 500 Internal Server Error" 2025-06-17 17:07:25.254 | INFO | 4c3eef5b11bf412cb9e905eca008783d | 64.233.172.136:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-17 17:08:27.696 | INFO | 4a3c9f48aeb14b3d90d1dd7a36c042a4 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 17:08:27.698 | INFO | 4a3c9f48aeb14b3d90d1dd7a36c042a4 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:08:27.700 | INFO | 4a3c9f48aeb14b3d90d1dd7a36c042a4 | 64.233.172.130:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:08:28.265 | INFO | b0a070f6aebc460f959947f99dd8d3a0 | 64.233.172.134:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 17:08:29.308 | INFO | 3a644b5e5df7414da244b49cd9cde5cd | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:08:29.310 | INFO | 3a644b5e5df7414da244b49cd9cde5cd | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 17:08:29.313 | INFO | 3a644b5e5df7414da244b49cd9cde5cd | 64.233.172.133:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:08:29.619 | INFO | 40f9408173ad42bca2b185b10e797ef9 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:08:29.622 | INFO | 40f9408173ad42bca2b185b10e797ef9 | 64.233.172.133:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 17:08:32.013 | INFO | e0194bc4013246e08b9549dda84f918a | HTTP Request: GET https://api-dev.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-17 17:08:32.421 | INFO | e0194bc4013246e08b9549dda84f918a | HTTP Request: POST https://api-dev.futabus.vn/search/trips "HTTP/1.1 500 Internal Server Error" 2025-06-17 17:08:32.425 | INFO | e0194bc4013246e08b9549dda84f918a | 64.233.172.128:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-17 17:08:44.801 | INFO | - | Shutting down 2025-06-17 17:08:44.909 | INFO | - | Waiting for application shutdown. 2025-06-17 17:08:44.910 | INFO | - | Application shutdown complete. 2025-06-17 17:08:44.911 | INFO | - | Finished server process [22916] 2025-06-17 17:08:58.603 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 17:08:58.604 | INFO | - | Started server process [25652] 2025-06-17 17:08:58.605 | INFO | - | Waiting for application startup. 2025-06-17 17:08:58.606 | INFO | - | Application startup complete. 2025-06-17 17:09:05.783 | INFO | debe1fab11da4ea9a387b36010716584 | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-17 17:09:06.345 | INFO | 88d61a1cf5124346a3d46bfb81a3bdf1 | 14.241.227.54:0 - "GET /openapi HTTP/1.1" 200 2025-06-17 17:09:11.839 | INFO | 18c3681e16a94574acca0ab96530bba7 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 17:09:11.840 | INFO | 18c3681e16a94574acca0ab96530bba7 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:09:11.842 | INFO | 18c3681e16a94574acca0ab96530bba7 | 64.233.172.129:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:09:12.408 | INFO | 28b1e64c368a4c69ab7924e275ca1c7e | 64.233.172.137:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 17:09:13.618 | INFO | c168d2c75c7842ad97cc7ef51a14ccf0 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:09:13.621 | INFO | c168d2c75c7842ad97cc7ef51a14ccf0 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 17:09:13.622 | INFO | c168d2c75c7842ad97cc7ef51a14ccf0 | 64.233.172.136:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:09:14.208 | INFO | 501d6db55cd7404983394a4f54880ed0 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:09:14.209 | INFO | 501d6db55cd7404983394a4f54880ed0 | 64.233.172.130:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 17:09:15.541 | INFO | e81ed838a85147b7aefd1e4bb3b65fe7 | HTTP Request: GET https://api-dev.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-17 17:09:15.800 | INFO | e81ed838a85147b7aefd1e4bb3b65fe7 | HTTP Request: GET https://api-dev.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-17 17:09:16.128 | INFO | e81ed838a85147b7aefd1e4bb3b65fe7 | HTTP Request: POST https://api-dev.futabus.vn/search/trips "HTTP/1.1 500 Internal Server Error" 2025-06-17 17:09:16.131 | INFO | e81ed838a85147b7aefd1e4bb3b65fe7 | 64.233.172.134:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-17 17:11:17.677 | INFO | - | Shutting down 2025-06-17 17:11:17.784 | INFO | - | Waiting for application shutdown. 2025-06-17 17:11:17.786 | INFO | - | Application shutdown complete. 2025-06-17 17:11:17.788 | INFO | - | Finished server process [25652] 2025-06-17 17:11:30.538 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 17:11:30.538 | INFO | - | Started server process [28176] 2025-06-17 17:11:30.538 | INFO | - | Waiting for application startup. 2025-06-17 17:11:30.541 | INFO | - | Application startup complete. 2025-06-17 17:11:37.189 | INFO | 8d2afbe4411e4e36979ca91118fdf869 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 17:11:37.191 | INFO | 8d2afbe4411e4e36979ca91118fdf869 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:11:37.193 | INFO | 8d2afbe4411e4e36979ca91118fdf869 | 64.233.172.129:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:11:37.570 | INFO | 44f417b52d5c45598fc8df3e1508f4c3 | 64.233.172.129:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 17:11:38.673 | INFO | 27516b0f5ce642d5863bf748ee5186ac | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:11:38.674 | INFO | 27516b0f5ce642d5863bf748ee5186ac | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 17:11:38.675 | INFO | 27516b0f5ce642d5863bf748ee5186ac | 64.233.172.128:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:11:39.284 | INFO | ac12e2a5005c46528f5e9aba058d15b2 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:11:39.285 | INFO | ac12e2a5005c46528f5e9aba058d15b2 | 64.233.172.130:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 17:11:41.385 | INFO | 24de88119a434f58be1dfd6a25e44edf | HTTP Request: GET https://api-dev.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-17 17:11:41.639 | INFO | 24de88119a434f58be1dfd6a25e44edf | HTTP Request: GET https://api-dev.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-17 17:11:42.069 | INFO | 24de88119a434f58be1dfd6a25e44edf | HTTP Request: POST https://api-dev.futabus.vn/search/trips "HTTP/1.1 500 Internal Server Error" 2025-06-17 17:11:42.075 | INFO | 24de88119a434f58be1dfd6a25e44edf | Received response: {'error': 'HTTP 500: {"status":500,"error":"","message":""}'} 2025-06-17 17:11:42.082 | INFO | 24de88119a434f58be1dfd6a25e44edf | 64.233.172.130:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-17 17:12:06.315 | INFO | - | Shutting down 2025-06-17 17:12:06.440 | INFO | - | Waiting for application shutdown. 2025-06-17 17:12:06.442 | INFO | - | Application shutdown complete. 2025-06-17 17:12:06.443 | INFO | - | Finished server process [28176] 2025-06-17 17:15:38.631 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 17:15:38.631 | INFO | - | Started server process [14456] 2025-06-17 17:15:38.632 | INFO | - | Waiting for application startup. 2025-06-17 17:15:38.634 | INFO | - | Application startup complete. 2025-06-17 17:15:50.399 | INFO | e908711c0c8f4eec9edac41eebc23488 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 17:15:50.400 | INFO | e908711c0c8f4eec9edac41eebc23488 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:15:50.400 | INFO | e908711c0c8f4eec9edac41eebc23488 | 64.233.172.128:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:15:51.013 | INFO | 365c6909af1543eea219856e9efece52 | 64.233.172.135:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 17:15:52.162 | INFO | f486e02fa7124e808efd12f2a87bf8db | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:15:52.164 | INFO | f486e02fa7124e808efd12f2a87bf8db | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 17:15:52.164 | INFO | f486e02fa7124e808efd12f2a87bf8db | 64.233.172.128:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:15:52.507 | INFO | 75b6178fbe89408e8ed94e5893bfd54a | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:15:52.509 | INFO | 75b6178fbe89408e8ed94e5893bfd54a | 64.233.172.128:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 17:15:54.617 | INFO | ccdd64e42a0343beb445fa0040ff552e | HTTP Request: GET https://api-dev.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-17 17:15:55.107 | INFO | ccdd64e42a0343beb445fa0040ff552e | HTTP Request: GET https://api-dev.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-17 17:15:55.323 | INFO | ccdd64e42a0343beb445fa0040ff552e | HTTP Request: POST https://api-dev.futabus.vn/search/trips "HTTP/1.1 500 Internal Server Error" 2025-06-17 17:15:55.329 | INFO | ccdd64e42a0343beb445fa0040ff552e | Received response: {'error': 'HTTP 500: {"status":500,"error":"","message":""}'} 2025-06-17 17:15:55.334 | INFO | ccdd64e42a0343beb445fa0040ff552e | 64.233.172.135:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-17 17:16:10.079 | INFO | - | Shutting down 2025-06-17 17:16:10.219 | INFO | - | Waiting for application shutdown. 2025-06-17 17:16:10.220 | INFO | - | Application shutdown complete. 2025-06-17 17:16:10.220 | INFO | - | Finished server process [14456] 2025-06-17 17:17:08.540 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 17:17:08.541 | INFO | - | Started server process [19984] 2025-06-17 17:17:08.542 | INFO | - | Waiting for application startup. 2025-06-17 17:17:08.544 | INFO | - | Application startup complete. 2025-06-17 17:17:31.292 | INFO | e8f296a5593549818823467ab8228557 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 17:17:31.293 | INFO | e8f296a5593549818823467ab8228557 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:17:31.294 | INFO | e8f296a5593549818823467ab8228557 | 64.233.172.128:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:17:31.873 | INFO | 3548d4ab99a348b884fdd459bb3fae1f | 64.233.172.130:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 17:17:32.950 | INFO | 760a741b898f4e5cba9aabc0625ef56c | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:17:32.950 | INFO | 760a741b898f4e5cba9aabc0625ef56c | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 17:17:32.951 | INFO | 760a741b898f4e5cba9aabc0625ef56c | 64.233.172.136:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:17:33.503 | INFO | c48e2d0a75ef4eb29654ad6067b42f96 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:17:33.504 | INFO | c48e2d0a75ef4eb29654ad6067b42f96 | 64.233.172.136:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 17:17:34.636 | INFO | b03a43741e2d4135a706086e5624b759 | HTTP Request: GET https://api-dev.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-17 17:17:34.869 | INFO | b03a43741e2d4135a706086e5624b759 | HTTP Request: GET https://api-dev.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-17 17:17:35.056 | INFO | b03a43741e2d4135a706086e5624b759 | HTTP Request: POST https://api-dev.futabus.vn/search/trips "HTTP/1.1 500 Internal Server Error" 2025-06-17 17:17:35.057 | INFO | b03a43741e2d4135a706086e5624b759 | Received response: {'error': 'HTTP 500: {"status":500,"error":"","message":""}'} 2025-06-17 17:17:35.059 | INFO | b03a43741e2d4135a706086e5624b759 | 64.233.172.133:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-17 17:22:43.315 | INFO | 99180080fbc14a78aa10a99cba7a0c88 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 17:22:43.315 | INFO | 99180080fbc14a78aa10a99cba7a0c88 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:22:43.316 | INFO | 99180080fbc14a78aa10a99cba7a0c88 | 64.233.172.136:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:22:43.935 | INFO | c9e392b7b22d49ac904a9ad1437c72f2 | 64.233.172.130:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 17:22:45.839 | INFO | 590badbb3ab142fdab793e1c6ae182fb | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:22:45.841 | INFO | 590badbb3ab142fdab793e1c6ae182fb | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 17:22:45.843 | INFO | 590badbb3ab142fdab793e1c6ae182fb | 64.233.172.128:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:22:46.460 | INFO | 3f3c92526c224e33b21a75a5ad608231 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:22:46.463 | INFO | 3f3c92526c224e33b21a75a5ad608231 | 64.233.172.129:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 17:22:47.937 | INFO | c361a1710d13434b853e8bfe3a78a53d | HTTP Request: GET https://api-dev.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-17 17:22:48.215 | INFO | c361a1710d13434b853e8bfe3a78a53d | HTTP Request: POST https://api-dev.futabus.vn/search/trips "HTTP/1.1 500 Internal Server Error" 2025-06-17 17:22:48.219 | INFO | c361a1710d13434b853e8bfe3a78a53d | Received response: {'error': 'HTTP 500: {"status":500,"error":"","message":""}'} 2025-06-17 17:22:48.223 | INFO | c361a1710d13434b853e8bfe3a78a53d | 64.233.172.130:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-17 17:25:27.397 | INFO | - | Shutting down 2025-06-17 17:25:27.506 | INFO | - | Waiting for application shutdown. 2025-06-17 17:25:27.508 | INFO | - | Application shutdown complete. 2025-06-17 17:25:27.510 | INFO | - | Finished server process [19984] 2025-06-17 17:25:37.729 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 17:25:37.730 | INFO | - | Started server process [28196] 2025-06-17 17:25:37.730 | INFO | - | Waiting for application startup. 2025-06-17 17:25:37.734 | INFO | - | Application startup complete. 2025-06-17 17:27:13.436 | INFO | - | Shutting down 2025-06-17 17:27:13.545 | INFO | - | Waiting for application shutdown. 2025-06-17 17:27:13.545 | INFO | - | Application shutdown complete. 2025-06-17 17:27:13.546 | INFO | - | Finished server process [28196] 2025-06-17 17:27:46.247 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 17:27:46.248 | INFO | - | Started server process [25444] 2025-06-17 17:27:46.248 | INFO | - | Waiting for application startup. 2025-06-17 17:27:46.250 | INFO | - | Application startup complete. 2025-06-17 17:28:49.506 | INFO | 6524e67ffd7b48299f988453fde86a98 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 17:28:49.507 | INFO | 6524e67ffd7b48299f988453fde86a98 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:28:49.508 | INFO | 6524e67ffd7b48299f988453fde86a98 | 64.233.172.138:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:28:50.089 | INFO | b8269c26487d4df890e9c931d2eec30f | 64.233.172.130:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 17:28:52.006 | INFO | e9baaf6529c2427b8be364f4a568d377 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:28:52.007 | INFO | e9baaf6529c2427b8be364f4a568d377 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 17:28:52.008 | INFO | e9baaf6529c2427b8be364f4a568d377 | 64.233.172.135:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:28:52.659 | INFO | 66bc90dfd2eb40eeb4f58fbc76e48335 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:28:52.660 | INFO | 66bc90dfd2eb40eeb4f58fbc76e48335 | 64.233.172.133:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 17:28:54.368 | INFO | 60f599f4892d4be28ecb493e7a46a3f9 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-17 17:28:54.919 | INFO | 60f599f4892d4be28ecb493e7a46a3f9 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-17 17:28:55.243 | INFO | 60f599f4892d4be28ecb493e7a46a3f9 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 500 Internal Server Error" 2025-06-17 17:28:55.249 | INFO | 60f599f4892d4be28ecb493e7a46a3f9 | Received response: {'error': 'HTTP 500: {"status":500,"error":"","message":""}'} 2025-06-17 17:28:55.254 | INFO | 60f599f4892d4be28ecb493e7a46a3f9 | 64.233.172.128:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-17 17:32:36.567 | INFO | - | Shutting down 2025-06-17 17:32:36.676 | INFO | - | Waiting for application shutdown. 2025-06-17 17:32:36.677 | INFO | - | Application shutdown complete. 2025-06-17 17:32:36.677 | INFO | - | Finished server process [25444] 2025-06-17 17:32:48.332 | INFO | - | Model loaded from app/ner/models/ner 2025-06-17 17:32:48.332 | INFO | - | Started server process [8444] 2025-06-17 17:32:48.333 | INFO | - | Waiting for application startup. 2025-06-17 17:32:48.335 | INFO | - | Application startup complete. 2025-06-17 17:33:52.371 | INFO | 8e62638c6919494794957f312cf94201 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-17 17:33:52.372 | INFO | 8e62638c6919494794957f312cf94201 | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:33:52.374 | INFO | 8e62638c6919494794957f312cf94201 | 64.233.172.129:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:33:52.742 | INFO | f85c4cc1b4df40a59c7f20ade671887e | 64.233.172.129:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-17 17:33:54.609 | INFO | 969b20978b03486fa78c4340cecc2fdd | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:33:54.612 | INFO | 969b20978b03486fa78c4340cecc2fdd | Time selection: {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-17 17:33:54.616 | INFO | 969b20978b03486fa78c4340cecc2fdd | 64.233.172.129:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-17 17:33:55.212 | INFO | 860c28a682cb473187e9675432c701e1 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 18.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 4.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-17 17:33:55.214 | INFO | 860c28a682cb473187e9675432c701e1 | 64.233.172.138:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-17 17:33:56.917 | INFO | 5aca202f46714b14b0f0550630db9dea | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-17 17:33:57.460 | INFO | 5aca202f46714b14b0f0550630db9dea | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-17 17:33:57.462 | INFO | 5aca202f46714b14b0f0550630db9dea | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750179600000, 'to_time': 1750265999000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1.0, 'sort_by': ['price', 'departure_time']} 2025-06-17 17:33:57.796 | INFO | 5aca202f46714b14b0f0550630db9dea | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 500 Internal Server Error" 2025-06-17 17:33:57.798 | INFO | 5aca202f46714b14b0f0550630db9dea | Received response: {'error': 'HTTP 500: {"status":500,"error":"","message":""}'} 2025-06-17 17:33:57.799 | INFO | 5aca202f46714b14b0f0550630db9dea | 64.233.172.140:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 09:26:59.174 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 09:26:59.174 | INFO | - | Started server process [11712] 2025-06-18 09:26:59.174 | INFO | - | Waiting for application startup. 2025-06-18 09:26:59.178 | INFO | - | Application startup complete. 2025-06-18 09:27:17.245 | INFO | 9b05b6e7c4ac44bd98ec43817874563c | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-18 09:27:18.414 | INFO | 7c0ce4af746144549d07fa93e6d9a636 | 14.241.227.54:0 - "GET /openapi HTTP/1.1" 200 2025-06-18 09:29:09.038 | INFO | f422c911e44c493c90eb7bf1a906723b | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 09:29:09.039 | INFO | f422c911e44c493c90eb7bf1a906723b | Time selection: {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 09:29:09.041 | INFO | f422c911e44c493c90eb7bf1a906723b | 74.125.215.43:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 09:29:09.698 | INFO | 2bede50a502b4609a1f11a4503befe51 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 09:29:09.703 | INFO | 2bede50a502b4609a1f11a4503befe51 | 74.125.215.46:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 09:29:48.843 | INFO | f4a5dfd92b4a431ea17831fd16e99736 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 09:29:49.592 | INFO | f4a5dfd92b4a431ea17831fd16e99736 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 09:29:49.592 | INFO | f4a5dfd92b4a431ea17831fd16e99736 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 09:29:50.404 | INFO | f4a5dfd92b4a431ea17831fd16e99736 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 09:29:51.102 | INFO | f4a5dfd92b4a431ea17831fd16e99736 | Received response: {'status': 200, 'data': {'items': [{'id': 5896827, 'departure_time': 1750266000000, 'raw_departure_time': '00:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750294800000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 21, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750262400000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 3, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5934888, 'departure_time': 1750266120000, 'raw_departure_time': '00:02', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750294920000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 15, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750262520000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 0, 'top_second_floor_quantity': 3, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5896857, 'departure_time': 1750267800000, 'raw_departure_time': '00:30', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750296600000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750264200000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5934918, 'departure_time': 1750267920000, 'raw_departure_time': '00:32', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750296720000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 23, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750264320000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 2, 'last_first_floor_quantity': 4, 'top_second_floor_quantity': 4, 'middle_second_floor_quantity': 5, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914286, 'departure_time': 1750268100000, 'raw_departure_time': '00:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750296900000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 21, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750264500000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 4, 'middle_first_floor_quantity': 1, 'last_first_floor_quantity': 5, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 3, 'last_second_floor_quantity': 3, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5896887, 'departure_time': 1750269600000, 'raw_departure_time': '01:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750298400000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 30, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750266000000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 2, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914316, 'departure_time': 1750271700000, 'raw_departure_time': '01:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750300500000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 30, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 104, 'allow_online_booking': True, 'online_booking_before': 1750268100000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 3, 'middle_first_floor_quantity': 4, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': 'Bến xe Miền Đông mới –> VP Suối Linh –> Quốc Lộ 1A => Da Lat', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn khách ra trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'ra đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn khách ra trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5896917, 'departure_time': 1750273200000, 'raw_departure_time': '02:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750302000000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750269600000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914346, 'departure_time': 1750275300000, 'raw_departure_time': '02:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750304100000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 104, 'allow_online_booking': True, 'online_booking_before': 1750271700000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': 'Bến xe Miền Đông mới –> VP Suối Linh –> Quốc Lộ 1A => Da Lat', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn khách ra trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'ra đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn khách ra trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5896947, 'departure_time': 1750276800000, 'raw_departure_time': '03:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750305600000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750273200000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5896977, 'departure_time': 1750280400000, 'raw_departure_time': '04:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750309200000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 23, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750276800000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 2, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 4, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5897038, 'departure_time': 1750284000000, 'raw_departure_time': '05:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750312800000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 22, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750280400000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 5, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5895596, 'departure_time': 1750285800000, 'raw_departure_time': '05:30', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750314600000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 26, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 593, 'allow_online_booking': True, 'online_booking_before': 1750282200000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 3, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '10. BX Miền Tây - QL1A - Nga 4 Ga - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'hẹn trước 45p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': '', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn trước 30p, trung chuyển BX N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'hẹn trước 45p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': -1, 'Note': 'Hẹn đúng giờ xuất bến trung chuyển VP Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914376, 'departure_time': 1750286100000, 'raw_departure_time': '05:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750314900000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 28, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 104, 'allow_online_booking': True, 'online_booking_before': 1750282500000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 3, 'middle_first_floor_quantity': 2, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': 'Bến xe Miền Đông mới –> VP Suối Linh –> Quốc Lộ 1A => Da Lat', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn khách ra trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'ra đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn khách ra trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5895626, 'departure_time': 1750287600000, 'raw_departure_time': '06:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750316400000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 28, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 593, 'allow_online_booking': True, 'online_booking_before': 1750284000000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 3, 'middle_first_floor_quantity': 2, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '10. BX Miền Tây - QL1A - Nga 4 Ga - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'hẹn trước 45p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': '', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn trước 30p, trung chuyển BX N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'hẹn trước 45p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': -1, 'Note': 'Hẹn đúng giờ xuất bến trung chuyển VP Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914406, 'departure_time': 1750287900000, 'raw_departure_time': '06:05', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750316700000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 28, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 104, 'allow_online_booking': True, 'online_booking_before': 1750284300000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 3, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': 'Bến xe Miền Đông mới –> VP Suối Linh –> Quốc Lộ 1A => Da Lat', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn khách ra trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'ra đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn khách ra trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914436, 'departure_time': 1750289700000, 'raw_departure_time': '06:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750318500000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 26, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 104, 'allow_online_booking': True, 'online_booking_before': 1750286100000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1, 'middle_first_floor_quantity': 2, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': 'Bến xe Miền Đông mới –> VP Suối Linh –> Quốc Lộ 1A => Da Lat', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn khách ra trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'ra đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn khách ra trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5895656, 'departure_time': 1750291200000, 'raw_departure_time': '07:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750320000000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 593, 'allow_online_booking': True, 'online_booking_before': 1750287600000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '10. BX Miền Tây - QL1A - Nga 4 Ga - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'hẹn trước 45p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': '', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn trước 30p, trung chuyển BX N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'hẹn trước 45p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': -1, 'Note': 'Hẹn đúng giờ xuất bến trung chuyển VP Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5934948, 'departure_time': 1750291320000, 'raw_departure_time': '07:02', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750320120000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 23, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750287720000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 4, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5897234, 'departure_time': 1750293000000, 'raw_departure_time': '07:30', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750321800000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750289400000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914466, 'departure_time': 1750293300000, 'raw_departure_time': '07:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750322100000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 28, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750289700000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 3, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5897264, 'departure_time': 1750294800000, 'raw_departure_time': '08:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750323600000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750291200000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5933162, 'departure_time': 1750294860000, 'raw_departure_time': '08:01', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750323660000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 2191, 'distance': 480, 'route': {'name': 'BX Nga 4 Ga - Da Lat', 'route_id': 2191, 'origin_code': 'TPHCM', 'origin_name': 'TP. Hồ Chí Minh', 'origin_hub_id': 72, 'origin_hub_name': 'Bến xe Ngã 4 Ga', 'origin_hub_office_id': 408, 'origin_hub_office_name': 'NGA 4 GA', 'origin_hub_coords': {'lat': 10.8619861, 'lon': 106.6786636}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 443, 'allow_online_booking': True, 'online_booking_before': 1750291260000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': 'Bx Ngã 4 Ga - QL1A - Vp Suối Linh - QL20 - BX Liên Tỉnh Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 420, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': "Ra VP trước 60' trung chuyển ra N4 GA", 'PointKindName': 'Bến khác'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra N4 GA", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển VP N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 240, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 60, 'PointKind': -1, 'Note': 'hẹn khách sau 60p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': 0, 'Note': '', 'PointKindName': 'Bến xe khởi hành'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'BX Nga 4 Ga - Da Lat', 'route_id': 2191, 'origin_code': 'TPHCM', 'origin_name': 'TP. Hồ Chí Minh', 'origin_hub_id': 72, 'origin_hub_name': 'Bến xe Ngã 4 Ga', 'origin_hub_office_id': 408, 'origin_hub_office_name': 'NGA 4 GA', 'origin_hub_coords': {'lat': 10.8619861, 'lon': 106.6786636}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5934978, 'departure_time': 1750294920000, 'raw_departure_time': '08:02', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750323720000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750291320000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5897294, 'departure_time': 1750296600000, 'raw_departure_time': '08:30', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750325400000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750293000000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914496, 'departure_time': 1750296900000, 'raw_departure_time': '08:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750325700000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 33, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750293300000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 4, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5897324, 'departure_time': 1750298400000, 'raw_departure_time': '09:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750327200000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 25, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750294800000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1, 'middle_first_floor_quantity': 3, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 4, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5935008, 'departure_time': 1750298520000, 'raw_departure_time': '09:02', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750327320000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 28, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750294920000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 3, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5897416, 'departure_time': 1750300200000, 'raw_departure_time': '09:30', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750329000000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 31, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750296600000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 3, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914526, 'departure_time': 1750300500000, 'raw_departure_time': '09:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750329300000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 22, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750296900000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 5, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5897509, 'departure_time': 1750302000000, 'raw_departure_time': '10:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750330800000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 30, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750298400000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5935038, 'departure_time': 1750302120000, 'raw_departure_time': '10:02', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750330920000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750298520000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914556, 'departure_time': 1750302300000, 'raw_departure_time': '10:05', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750331100000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750298700000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5897571, 'departure_time': 1750303800000, 'raw_departure_time': '10:30', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750332600000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750300200000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914586, 'departure_time': 1750304100000, 'raw_departure_time': '10:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750332900000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750300500000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5897601, 'departure_time': 1750305600000, 'raw_departure_time': '11:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750334400000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 31, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750302000000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5933192, 'departure_time': 1750305660000, 'raw_departure_time': '11:01', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750334460000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 2191, 'distance': 480, 'route': {'name': 'BX Nga 4 Ga - Da Lat', 'route_id': 2191, 'origin_code': 'TPHCM', 'origin_name': 'TP. Hồ Chí Minh', 'origin_hub_id': 72, 'origin_hub_name': 'Bến xe Ngã 4 Ga', 'origin_hub_office_id': 408, 'origin_hub_office_name': 'NGA 4 GA', 'origin_hub_coords': {'lat': 10.8619861, 'lon': 106.6786636}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 443, 'allow_online_booking': True, 'online_booking_before': 1750302060000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': 'Bx Ngã 4 Ga - QL1A - Vp Suối Linh - QL20 - BX Liên Tỉnh Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 420, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': "Ra VP trước 60' trung chuyển ra N4 GA", 'PointKindName': 'Bến khác'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra N4 GA", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển VP N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 240, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 60, 'PointKind': -1, 'Note': 'hẹn khách sau 60p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': 0, 'Note': '', 'PointKindName': 'Bến xe khởi hành'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'BX Nga 4 Ga - Da Lat', 'route_id': 2191, 'origin_code': 'TPHCM', 'origin_name': 'TP. Hồ Chí Minh', 'origin_hub_id': 72, 'origin_hub_name': 'Bến xe Ngã 4 Ga', 'origin_hub_office_id': 408, 'origin_hub_office_name': 'NGA 4 GA', 'origin_hub_coords': {'lat': 10.8619861, 'lon': 106.6786636}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5935068, 'departure_time': 1750305720000, 'raw_departure_time': '11:02', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750334520000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750302120000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914616, 'departure_time': 1750305900000, 'raw_departure_time': '11:05', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750334700000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 31, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750302300000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 3, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5897631, 'departure_time': 1750307400000, 'raw_departure_time': '11:30', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750336200000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750303800000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914646, 'departure_time': 1750307700000, 'raw_departure_time': '11:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750336500000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750304100000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5897693, 'departure_time': 1750309200000, 'raw_departure_time': '12:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750338000000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750305600000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5935098, 'departure_time': 1750309320000, 'raw_departure_time': '12:02', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750338120000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750305720000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914676, 'departure_time': 1750309500000, 'raw_departure_time': '12:05', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750338300000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 29, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750305900000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 4, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5897810, 'departure_time': 1750311000000, 'raw_departure_time': '12:30', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750339800000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750307400000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914706, 'departure_time': 1750311300000, 'raw_departure_time': '12:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750340100000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750307700000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5897876, 'departure_time': 1750312800000, 'raw_departure_time': '13:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750341600000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 30, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750309200000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 4, 'middle_first_floor_quantity': 5, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 4, 'middle_second_floor_quantity': 5, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5935128, 'departure_time': 1750312920000, 'raw_departure_time': '13:02', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750341720000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750309320000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914736, 'departure_time': 1750313100000, 'raw_departure_time': '13:05', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750341900000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 33, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750309500000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 4, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5898060, 'departure_time': 1750314600000, 'raw_departure_time': '13:30', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750343400000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 30, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750311000000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 2, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914766, 'departure_time': 1750314900000, 'raw_departure_time': '13:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750343700000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 33, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750311300000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 5, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5898090, 'departure_time': 1750316400000, 'raw_departure_time': '14:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750345200000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 32, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750312800000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 3, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5935158, 'departure_time': 1750316520000, 'raw_departure_time': '14:02', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750345320000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750312920000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914796, 'departure_time': 1750316700000, 'raw_departure_time': '14:05', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750345500000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750313100000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5898212, 'departure_time': 1750318200000, 'raw_departure_time': '14:30', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750347000000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 23, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750314600000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914826, 'departure_time': 1750318500000, 'raw_departure_time': '14:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750347300000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750314900000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5898304, 'departure_time': 1750320000000, 'raw_departure_time': '15:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750348800000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750316400000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914856, 'departure_time': 1750320300000, 'raw_departure_time': '15:05', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750349100000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750316700000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5898365, 'departure_time': 1750321800000, 'raw_departure_time': '15:30', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750350600000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750318200000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914886, 'departure_time': 1750322100000, 'raw_departure_time': '15:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750350900000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750318500000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5898458, 'departure_time': 1750323600000, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 33, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750320000000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 4, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914916, 'departure_time': 1750323900000, 'raw_departure_time': '16:05', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352700000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750320300000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914946, 'departure_time': 1750325700000, 'raw_departure_time': '16:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750354500000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750322100000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5898676, 'departure_time': 1750327200000, 'raw_departure_time': '17:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750356000000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750323600000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5935188, 'departure_time': 1750327320000, 'raw_departure_time': '17:02', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750356120000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750323720000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5914976, 'departure_time': 1750327500000, 'raw_departure_time': '17:05', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750356300000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 30, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750323900000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5915006, 'departure_time': 1750329300000, 'raw_departure_time': '17:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750358100000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750325700000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5898737, 'departure_time': 1750330800000, 'raw_departure_time': '18:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750359600000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750327200000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5915036, 'departure_time': 1750331100000, 'raw_departure_time': '18:05', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750359900000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750327500000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5915066, 'departure_time': 1750332900000, 'raw_departure_time': '18:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750361700000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750329300000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5898954, 'departure_time': 1750334400000, 'raw_departure_time': '19:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750363200000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750330800000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5935218, 'departure_time': 1750334520000, 'raw_departure_time': '19:02', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750363320000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750330920000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5915096, 'departure_time': 1750334700000, 'raw_departure_time': '19:05', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750363500000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 31, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750331100000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5898984, 'departure_time': 1750336200000, 'raw_departure_time': '19:30', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750365000000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750332600000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5915126, 'departure_time': 1750336500000, 'raw_departure_time': '19:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750365300000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 32, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750332900000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 3, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5899014, 'departure_time': 1750338000000, 'raw_departure_time': '20:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750366800000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 28, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750334400000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 3, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5935248, 'departure_time': 1750338120000, 'raw_departure_time': '20:02', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750366920000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 27, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750334520000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 4, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5915156, 'departure_time': 1750338300000, 'raw_departure_time': '20:05', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750367100000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 30, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750334700000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 5, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5899044, 'departure_time': 1750339800000, 'raw_departure_time': '20:30', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750368600000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 30, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750336200000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 4, 'middle_first_floor_quantity': 3, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5933223, 'departure_time': 1750339800000, 'raw_departure_time': '20:30', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750368600000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 2191, 'distance': 480, 'route': {'name': 'BX Nga 4 Ga - Da Lat', 'route_id': 2191, 'origin_code': 'TPHCM', 'origin_name': 'TP. Hồ Chí Minh', 'origin_hub_id': 72, 'origin_hub_name': 'Bến xe Ngã 4 Ga', 'origin_hub_office_id': 408, 'origin_hub_office_name': 'NGA 4 GA', 'origin_hub_coords': {'lat': 10.8619861, 'lon': 106.6786636}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 443, 'allow_online_booking': True, 'online_booking_before': 1750336200000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': 'Bx Ngã 4 Ga - QL1A - Vp Suối Linh - QL20 - BX Liên Tỉnh Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 420, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': "Ra VP trước 60' trung chuyển ra N4 GA", 'PointKindName': 'Bến khác'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra N4 GA", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển VP N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 240, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 60, 'PointKind': -1, 'Note': 'hẹn khách sau 60p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': 0, 'Note': '', 'PointKindName': 'Bến xe khởi hành'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'BX Nga 4 Ga - Da Lat', 'route_id': 2191, 'origin_code': 'TPHCM', 'origin_name': 'TP. Hồ Chí Minh', 'origin_hub_id': 72, 'origin_hub_name': 'Bến xe Ngã 4 Ga', 'origin_hub_office_id': 408, 'origin_hub_office_name': 'NGA 4 GA', 'origin_hub_coords': {'lat': 10.8619861, 'lon': 106.6786636}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5915186, 'departure_time': 1750340100000, 'raw_departure_time': '20:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750368900000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 27, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750336500000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 3, 'middle_first_floor_quantity': 2, 'last_first_floor_quantity': 5, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5899074, 'departure_time': 1750341600000, 'raw_departure_time': '21:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750370400000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 21, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750338000000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 3, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5935278, 'departure_time': 1750341720000, 'raw_departure_time': '21:02', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750370520000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 26, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750338120000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 1, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5915216, 'departure_time': 1750341900000, 'raw_departure_time': '21:05', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750370700000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 22, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750338300000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 5, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5899104, 'departure_time': 1750342800000, 'raw_departure_time': '21:20', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750371600000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 25, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750339200000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6247032, 'departure_time': 1750342800000, 'raw_departure_time': '21:20', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750371600000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 20, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750339200000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 3, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246492, 'departure_time': 1750343100000, 'raw_departure_time': '21:25', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750371900000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 28, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750339500000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 3, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5899134, 'departure_time': 1750343400000, 'raw_departure_time': '21:30', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750372200000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 25, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177, 'allow_online_booking': True, 'online_booking_before': 1750339800000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 2, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 45, 'PointKind': -1, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5935308, 'departure_time': 1750343520000, 'raw_departure_time': '21:32', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750372320000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 17, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750339920000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 0, 'top_second_floor_quantity': 4, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5915246, 'departure_time': 1750343700000, 'raw_departure_time': '21:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750372500000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 25, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750340100000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 3, 'middle_first_floor_quantity': 1, 'last_first_floor_quantity': 4, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246494, 'departure_time': 1750344300000, 'raw_departure_time': '21:45', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750373100000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 25, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750340700000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5899164, 'departure_time': 1750344600000, 'raw_departure_time': '21:50', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750373400000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 24, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 594, 'allow_online_booking': True, 'online_booking_before': 1750341000000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1, 'middle_first_floor_quantity': 2, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 4, 'middle_second_floor_quantity': 5, 'last_second_floor_quantity': 6, 'way_name': '11. BXMT -> HX (T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL20 -> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Ra trước 30p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại Trạm', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'Ra trước 90p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246496, 'departure_time': 1750344900000, 'raw_departure_time': '21:55', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750373700000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 18, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750341300000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 3, 'top_second_floor_quantity': 4, 'middle_second_floor_quantity': 5, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5899194, 'departure_time': 1750345200000, 'raw_departure_time': '22:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750374000000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 19, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 594, 'allow_online_booking': True, 'online_booking_before': 1750341600000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 5, 'top_second_floor_quantity': 2, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '11. BXMT -> HX (T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL20 -> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Ra trước 30p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại Trạm', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'Ra trước 90p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296256, 'departure_time': 1750345320000, 'raw_departure_time': '22:02', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750374120000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 17, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 594, 'allow_online_booking': True, 'online_booking_before': 1750341720000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 0, 'top_second_floor_quantity': 4, 'middle_second_floor_quantity': 5, 'last_second_floor_quantity': 6, 'way_name': '11. BXMT -> HX (T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL20 -> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Ra trước 30p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại Trạm', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'Ra trước 90p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5935338, 'departure_time': 1750345320000, 'raw_departure_time': '22:02', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750374120000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 21, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750341720000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 3, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296258, 'departure_time': 1750345440000, 'raw_departure_time': '22:04', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750374240000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 24, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 594, 'allow_online_booking': True, 'online_booking_before': 1750341840000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 1, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '11. BXMT -> HX (T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL20 -> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Ra trước 30p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại Trạm', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'Ra trước 90p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6247030, 'departure_time': 1750345440000, 'raw_departure_time': '22:04', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750374240000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 24, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750341840000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5915276, 'departure_time': 1750345500000, 'raw_departure_time': '22:05', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750374300000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 20, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750341900000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 1, 'last_first_floor_quantity': 4, 'top_second_floor_quantity': 3, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246498, 'departure_time': 1750345560000, 'raw_departure_time': '22:06', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750374360000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 25, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750341960000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5899224, 'departure_time': 1750345800000, 'raw_departure_time': '22:10', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750374600000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 26, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 594, 'allow_online_booking': True, 'online_booking_before': 1750342200000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 3, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '11. BXMT -> HX (T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL20 -> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Ra trước 30p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại Trạm', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'Ra trước 90p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296260, 'departure_time': 1750345860000, 'raw_departure_time': '22:11', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750374660000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 19, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 594, 'allow_online_booking': True, 'online_booking_before': 1750342260000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 5, 'top_second_floor_quantity': 2, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '11. BXMT -> HX (T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL20 -> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Ra trước 30p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại Trạm', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'Ra trước 90p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5899284, 'departure_time': 1750346100000, 'raw_departure_time': '22:15', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750374900000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 25, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 594, 'allow_online_booking': True, 'online_booking_before': 1750342500000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '11. BXMT -> HX (T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL20 -> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Ra trước 30p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại Trạm', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'Ra trước 90p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246500, 'departure_time': 1750346100000, 'raw_departure_time': '22:15', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750374900000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 24, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750342500000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 1, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296262, 'departure_time': 1750346160000, 'raw_departure_time': '22:16', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750374960000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 25, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 594, 'allow_online_booking': True, 'online_booking_before': 1750342560000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '11. BXMT -> HX (T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL20 -> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Ra trước 30p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại Trạm', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'Ra trước 90p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246502, 'departure_time': 1750346160000, 'raw_departure_time': '22:16', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750374960000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 28, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750342560000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 3, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5899349, 'departure_time': 1750346400000, 'raw_departure_time': '22:20', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750375200000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 22, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 594, 'allow_online_booking': True, 'online_booking_before': 1750342800000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 5, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '11. BXMT -> HX (T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL20 -> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Ra trước 30p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại Trạm', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'Ra trước 90p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6247034, 'departure_time': 1750346400000, 'raw_departure_time': '22:20', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750375200000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 18, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750342800000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 1, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296264, 'departure_time': 1750346460000, 'raw_departure_time': '22:21', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750375260000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 22, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 594, 'allow_online_booking': True, 'online_booking_before': 1750342860000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 3, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 3, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 5, 'last_second_floor_quantity': 6, 'way_name': '11. BXMT -> HX (T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL20 -> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Ra trước 30p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại Trạm', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'Ra trước 90p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296266, 'departure_time': 1750346520000, 'raw_departure_time': '22:22', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750375320000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 20, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 594, 'allow_online_booking': True, 'online_booking_before': 1750342920000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 3, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '11. BXMT -> HX (T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL20 -> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Ra trước 30p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại Trạm', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'Ra trước 90p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296268, 'departure_time': 1750346700000, 'raw_departure_time': '22:25', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750375500000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 26, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 594, 'allow_online_booking': True, 'online_booking_before': 1750343100000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1, 'middle_first_floor_quantity': 2, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '11. BXMT -> HX (T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL20 -> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Ra trước 30p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại Trạm', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'Ra trước 90p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246504, 'departure_time': 1750346700000, 'raw_departure_time': '22:25', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750375500000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 20, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750343100000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 1, 'last_first_floor_quantity': 4, 'top_second_floor_quantity': 4, 'middle_second_floor_quantity': 5, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296270, 'departure_time': 1750346760000, 'raw_departure_time': '22:26', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750375560000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 28, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 594, 'allow_online_booking': True, 'online_booking_before': 1750343160000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 3, 'middle_first_floor_quantity': 2, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '11. BXMT -> HX (T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL20 -> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Ra trước 30p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại Trạm', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'Ra trước 90p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246506, 'departure_time': 1750346760000, 'raw_departure_time': '22:26', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750375560000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 27, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750343160000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 3, 'middle_first_floor_quantity': 1, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5933253, 'departure_time': 1750347000000, 'raw_departure_time': '22:30', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750375800000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 9, 'route_id': 2191, 'distance': 480, 'route': {'name': 'BX Nga 4 Ga - Da Lat', 'route_id': 2191, 'origin_code': 'TPHCM', 'origin_name': 'TP. Hồ Chí Minh', 'origin_hub_id': 72, 'origin_hub_name': 'Bến xe Ngã 4 Ga', 'origin_hub_office_id': 408, 'origin_hub_office_name': 'NGA 4 GA', 'origin_hub_coords': {'lat': 10.8619861, 'lon': 106.6786636}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 443, 'allow_online_booking': True, 'online_booking_before': 1750343400000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 0, 'top_second_floor_quantity': 3, 'middle_second_floor_quantity': 0, 'last_second_floor_quantity': 6, 'way_name': 'Bx Ngã 4 Ga - QL1A - Vp Suối Linh - QL20 - BX Liên Tỉnh Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 420, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Hẹn sau 15p giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': "Ra VP trước 60' trung chuyển ra N4 GA", 'PointKindName': 'Bến khác'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': "Ra VP trước 60' trung chuyển ra N4 GA", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển VP N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 240, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 60, 'PointKind': -1, 'Note': 'hẹn khách sau 60p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': 0, 'Note': '', 'PointKindName': 'Bến xe khởi hành'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'BX Nga 4 Ga - Da Lat', 'route_id': 2191, 'origin_code': 'TPHCM', 'origin_name': 'TP. Hồ Chí Minh', 'origin_hub_id': 72, 'origin_hub_name': 'Bến xe Ngã 4 Ga', 'origin_hub_office_id': 408, 'origin_hub_office_name': 'NGA 4 GA', 'origin_hub_coords': {'lat': 10.8619861, 'lon': 106.6786636}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5899414, 'departure_time': 1750347000000, 'raw_departure_time': '22:30', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750375800000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 20, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 594, 'allow_online_booking': True, 'online_booking_before': 1750343400000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 5, 'top_second_floor_quantity': 4, 'middle_second_floor_quantity': 4, 'last_second_floor_quantity': 5, 'way_name': '11. BXMT -> HX (T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL20 -> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Ra trước 30p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại Trạm', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'Ra trước 90p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5935368, 'departure_time': 1750347120000, 'raw_departure_time': '22:32', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750375920000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 25, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750343520000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5915306, 'departure_time': 1750347300000, 'raw_departure_time': '22:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750376100000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 23, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750343700000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 4, 'middle_second_floor_quantity': 5, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246508, 'departure_time': 1750347360000, 'raw_departure_time': '22:36', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750376160000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 26, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750343760000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 3, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296272, 'departure_time': 1750347360000, 'raw_departure_time': '22:36', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750376160000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 20, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 594, 'allow_online_booking': True, 'online_booking_before': 1750343760000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 2, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '11. BXMT -> HX (T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL20 -> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Ra trước 30p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại Trạm', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'Ra trước 90p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5899494, 'departure_time': 1750347600000, 'raw_departure_time': '22:40', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750376400000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 29, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 594, 'allow_online_booking': True, 'online_booking_before': 1750344000000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 4, 'middle_first_floor_quantity': 2, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '11. BXMT -> HX (T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL20 -> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Ra trước 30p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại Trạm', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'Ra trước 90p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246510, 'departure_time': 1750347900000, 'raw_departure_time': '22:45', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750376700000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 22, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750344300000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 5, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246512, 'departure_time': 1750347960000, 'raw_departure_time': '22:46', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750376760000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 28, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750344360000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 3, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5899554, 'departure_time': 1750348200000, 'raw_departure_time': '22:50', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750377000000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 26, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 594, 'allow_online_booking': True, 'online_booking_before': 1750344600000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 3, 'middle_first_floor_quantity': 3, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 3, 'last_second_floor_quantity': 6, 'way_name': '11. BXMT -> HX (T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL20 -> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Ra trước 30p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': 'Ra trước 15p trung chuyển ra Trạm Mai Chí Thọ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại Trạm', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'Ra trước 90p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': 2, 'Note': '', 'PointKindName': 'Bến khác'}, {'OfficeId': 421, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296274, 'departure_time': 1750348500000, 'raw_departure_time': '22:55', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750377300000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 26, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750344900000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 1, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246514, 'departure_time': 1750348500000, 'raw_departure_time': '22:55', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750377300000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 30, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750344900000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 4, 'middle_first_floor_quantity': 3, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246517, 'departure_time': 1750348560000, 'raw_departure_time': '22:56', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750377360000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 28, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750344960000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 3, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296276, 'departure_time': 1750348740000, 'raw_departure_time': '22:59', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750377540000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 27, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750345140000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 4, 'middle_first_floor_quantity': 3, 'last_first_floor_quantity': 4, 'top_second_floor_quantity': 4, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5899644, 'departure_time': 1750348800000, 'raw_departure_time': '23:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750377600000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 20, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750345200000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 3, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 4, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296278, 'departure_time': 1750348860000, 'raw_departure_time': '23:01', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750377660000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 23, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750345260000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 1, 'last_first_floor_quantity': 5, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296280, 'departure_time': 1750348920000, 'raw_departure_time': '23:02', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750377720000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 27, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750345320000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 3, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 2, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5935398, 'departure_time': 1750348920000, 'raw_departure_time': '23:02', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750377720000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 20, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750345320000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 4, 'top_second_floor_quantity': 4, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296282, 'departure_time': 1750348980000, 'raw_departure_time': '23:03', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750377780000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 29, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750345380000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 4, 'middle_first_floor_quantity': 4, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 4, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6247036, 'departure_time': 1750349040000, 'raw_departure_time': '23:04', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750377840000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 20, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750345440000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 4, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 5, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296284, 'departure_time': 1750349040000, 'raw_departure_time': '23:04', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750377840000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 28, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750345440000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 4, 'middle_first_floor_quantity': 1, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5915336, 'departure_time': 1750349100000, 'raw_departure_time': '23:05', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750377900000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 21, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750345500000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 1, 'last_first_floor_quantity': 5, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 4, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246519, 'departure_time': 1750349160000, 'raw_departure_time': '23:06', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750377960000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 26, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750345560000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 3, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 4, 'middle_second_floor_quantity': 5, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5899704, 'departure_time': 1750349400000, 'raw_departure_time': '23:10', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750378200000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 25, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750345800000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 2, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5899764, 'departure_time': 1750349700000, 'raw_departure_time': '23:15', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750378500000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 29, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750346100000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 1, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246521, 'departure_time': 1750349700000, 'raw_departure_time': '23:15', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750378500000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 27, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750346100000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 3, 'middle_first_floor_quantity': 1, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246523, 'departure_time': 1750349760000, 'raw_departure_time': '23:16', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750378560000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 27, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750346160000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 2, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296286, 'departure_time': 1750349760000, 'raw_departure_time': '23:16', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750378560000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 24, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750346160000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 4, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 4, 'middle_second_floor_quantity': 4, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5899824, 'departure_time': 1750350000000, 'raw_departure_time': '23:20', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750378800000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 22, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750346400000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 1, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 3, 'middle_second_floor_quantity': 4, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296288, 'departure_time': 1750350060000, 'raw_departure_time': '23:21', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750378860000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 22, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750346460000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 4, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5935428, 'departure_time': 1750350120000, 'raw_departure_time': '23:22', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750378920000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 27, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750346520000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 4, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246525, 'departure_time': 1750350300000, 'raw_departure_time': '23:25', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750379100000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 27, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750346700000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 2, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296290, 'departure_time': 1750350300000, 'raw_departure_time': '23:25', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750379100000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 23, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750346700000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246527, 'departure_time': 1750350360000, 'raw_departure_time': '23:26', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750379160000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 27, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750346760000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1, 'middle_first_floor_quantity': 3, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5899877, 'departure_time': 1750350600000, 'raw_departure_time': '23:30', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750379400000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 28, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750347000000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296292, 'departure_time': 1750350660000, 'raw_departure_time': '23:31', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750379460000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 24, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750347060000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 1, 'last_first_floor_quantity': 4, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5935458, 'departure_time': 1750350720000, 'raw_departure_time': '23:32', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750379520000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 20, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750347120000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 3, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296294, 'departure_time': 1750350780000, 'raw_departure_time': '23:33', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750379580000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 14, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750347180000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 2, 'middle_second_floor_quantity': 0, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5915366, 'departure_time': 1750350900000, 'raw_departure_time': '23:35', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750379700000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 17, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750347300000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 1, 'last_first_floor_quantity': 3, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 4, 'last_second_floor_quantity': 4, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246529, 'departure_time': 1750350960000, 'raw_departure_time': '23:36', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750379760000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 28, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750347360000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 3, 'middle_first_floor_quantity': 2, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296296, 'departure_time': 1750350960000, 'raw_departure_time': '23:36', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750379760000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 23, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750347360000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 4, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5899944, 'departure_time': 1750351200000, 'raw_departure_time': '23:40', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750380000000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 20, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750347600000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 4, 'last_first_floor_quantity': 0, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296298, 'departure_time': 1750351260000, 'raw_departure_time': '23:41', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750380060000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 29, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750347660000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 1, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296300, 'departure_time': 1750351500000, 'raw_departure_time': '23:45', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750380300000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 25, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750347900000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 2, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246537, 'departure_time': 1750351500000, 'raw_departure_time': '23:45', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750380300000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 30, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750347900000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 3, 'middle_first_floor_quantity': 4, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246531, 'departure_time': 1750351560000, 'raw_departure_time': '23:46', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750380360000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 28, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750347960000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2, 'middle_first_floor_quantity': 3, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 5900004, 'departure_time': 1750351800000, 'raw_departure_time': '23:50', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750380600000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 15, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750348200000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 0, 'top_second_floor_quantity': 3, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6247038, 'departure_time': 1750352040000, 'raw_departure_time': '23:54', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750380840000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 1375, 'distance': 301, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 253, 'allow_online_booking': True, 'online_booking_before': 1750348440000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2.BXAS - Nga 4 ga - Trạm 2 - Cao Tốc - QL20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'hẹn trước 60p, trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'hẹn ra trước 30p, trung chuyển BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': 2, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến khác'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn khách có mặt trước 30p lấy vé', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn khách có mặt đúng giờ xuất bến', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -30, 'PointKind': -1, 'Note': 'Hẹn khách có mặt trước 30p t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Hẹn trước 60p t/c BX N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Da Lat', 'route_id': 1375, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 8, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296302, 'departure_time': 1750352100000, 'raw_departure_time': '23:55', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750380900000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 34, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750348500000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5, 'middle_first_floor_quantity': 6, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246533, 'departure_time': 1750352100000, 'raw_departure_time': '23:55', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750380900000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 28, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750348500000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0, 'middle_first_floor_quantity': 5, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6246535, 'departure_time': 1750352160000, 'raw_departure_time': '23:56', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750380960000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 26, 'route_id': 498, 'distance': 300, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 596, 'allow_online_booking': True, 'online_booking_before': 1750348560000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 4, 'middle_first_floor_quantity': 0, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 4, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. Bến xe Miền Đông mới -> VP Suối Linh -> Quốc Lộ 1A => Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 435, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 17, 'Name': 'Xa Lộ Hà Nội', 'Address': '798 Võ Nguyên Giáp, Phường Hiệp Phú, TP Thủ Đức ( Quận 9 Cũ)', 'Phone': '028.3897.3895', 'PickUp': 0, 'TimeOffice': -45, 'PointKind': -1, 'Note': 'Hẹn trước 45p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 18, 'Name': 'Suối Linh', 'Address': 'VP Suối Linh: D9 Vòng Xoay Tam Hiệp, TP. Biên Hòa, Đồng Nai', 'Phone': '02518890638', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'Hẹn đúng giờ, xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -90, 'PointKind': -1, 'Note': 'hẹn trước 90p, trung chuyển bxmđ mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 180, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -75, 'PointKind': -1, 'Note': 'Hẹn trước 75p trung chuyển BXMĐ Mới', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 380, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 395, 'Name': 'BX Miền Đông Mới', 'Address': '39448 Xa Lộ Hà Nội, Phường Long Bình, TP Thủ Đức, TPHCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Hẹn trước 30p, xe xb tại đây', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 489, 'Name': 'TRANG BOM', 'Address': 'TRANG BOM , ĐỒNG NAI', 'Phone': ' ', 'PickUp': 0, 'TimeOffice': 15, 'PointKind': -1, 'Note': 'hẹn khách sau 15p giờ xe khởi hành', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Dong moi - Da lat', 'route_id': 498, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 69, 'origin_hub_name': 'BX Miền Đông Mới', 'origin_hub_office_id': 395, 'origin_hub_office_name': 'BX Mien Đông Mới', 'origin_hub_coords': {'lat': 10.8804117, 'lon': 106.8156933}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}, {'id': 6296304, 'departure_time': 1750352280000, 'raw_departure_time': '23:58', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750381080000, 'duration': 8, 'seat_type_id': 1454, 'seat_type_name': 'Limousine', 'price': 290000, 'empty_seat_quantity': 28, 'route_id': 405, 'distance': 305, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 175, 'allow_online_booking': True, 'online_booking_before': 1750348680000, 'max_seats_per_booking': 5, 'point_details': None, 'num_price': 0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 3, 'middle_first_floor_quantity': 2, 'last_first_floor_quantity': 6, 'top_second_floor_quantity': 5, 'middle_second_floor_quantity': 6, 'last_second_floor_quantity': 6, 'way_name': '2. BXMT -> HX ( T.Chuyển) -> MC.Thọ -> Cao Tốc -> QL 20-> Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0, 'TimeOffice': 480, 'PointKind': 1, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0, 'TimeOffice': 360, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0, 'TimeOffice': 0, 'PointKind': 0, 'Note': 'Tự ra bến trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 44, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0, 'TimeOffice': 400, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0, 'TimeOffice': -60, 'PointKind': -1, 'Note': 'Ra trước 60p, trung chuyển BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0, 'TimeOffice': 450, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 210, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0, 'TimeOffice': -15, 'PointKind': -1, 'Note': "Ra VP 15' trung chuyển ra Mai Chí Thọ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 347, 'Name': 'Mai Chí Thọ (đón/trả khách)', 'Address': '0', 'Phone': '0', 'PickUp': 0, 'TimeOffice': 30, 'PointKind': -1, 'Note': 'Ra sau 15p, xe lớn đón tại đây', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0, 'TimeOffice': 390, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0, 'TimeOffice': 375, 'PointKind': -1, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0, 'zone': None, 'nearest_pickup_point': None}}}], 'recommend_items': None, 'total': 166}} 2025-06-18 09:29:51.702 | INFO | f4a5dfd92b4a431ea17831fd16e99736 | 74.125.215.46:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 09:30:49.533 | INFO | - | Shutting down 2025-06-18 09:30:49.639 | INFO | - | Waiting for application shutdown. 2025-06-18 09:30:49.641 | INFO | - | Application shutdown complete. 2025-06-18 09:30:49.644 | INFO | - | Finished server process [11712] 2025-06-18 09:31:01.402 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 09:31:01.403 | INFO | - | Started server process [6084] 2025-06-18 09:31:01.403 | INFO | - | Waiting for application startup. 2025-06-18 09:31:01.408 | INFO | - | Application startup complete. 2025-06-18 09:31:43.551 | INFO | - | Shutting down 2025-06-18 09:31:43.652 | INFO | - | Waiting for application shutdown. 2025-06-18 09:31:43.652 | INFO | - | Application shutdown complete. 2025-06-18 09:31:43.652 | INFO | - | Finished server process [6084] 2025-06-18 09:31:55.349 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 09:31:55.349 | INFO | - | Started server process [21252] 2025-06-18 09:31:55.349 | INFO | - | Waiting for application startup. 2025-06-18 09:31:55.349 | INFO | - | Application startup complete. 2025-06-18 09:33:20.949 | INFO | - | Shutting down 2025-06-18 09:33:21.055 | INFO | - | Waiting for connections to close. (CTRL+C to force quit) 2025-06-18 09:33:21.109 | INFO | 5e39275855414a1bb40603a1b5fa0531 | 74.125.215.42:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 500 2025-06-18 09:33:21.153 | INFO | - | Waiting for application shutdown. 2025-06-18 09:33:21.153 | INFO | - | Application shutdown complete. 2025-06-18 09:33:21.153 | INFO | - | Finished server process [21252] 2025-06-18 09:33:33.831 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 09:33:33.831 | INFO | - | Started server process [19872] 2025-06-18 09:33:33.831 | INFO | - | Waiting for application startup. 2025-06-18 09:33:33.843 | INFO | - | Application startup complete. 2025-06-18 09:35:22.800 | INFO | e352604363c14fd49a5d038e1780e966 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 09:35:22.800 | INFO | e352604363c14fd49a5d038e1780e966 | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 09:35:22.800 | INFO | e352604363c14fd49a5d038e1780e966 | 74.125.215.32:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 09:35:22.903 | INFO | - | Shutting down 2025-06-18 09:35:23.008 | INFO | - | Waiting for application shutdown. 2025-06-18 09:35:23.008 | INFO | - | Application shutdown complete. 2025-06-18 09:35:23.010 | INFO | - | Finished server process [19872] 2025-06-18 09:41:51.354 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 09:41:51.354 | INFO | - | Started server process [23128] 2025-06-18 09:41:51.354 | INFO | - | Waiting for application startup. 2025-06-18 09:41:51.354 | INFO | - | Application startup complete. 2025-06-18 09:43:54.579 | INFO | - | Shutting down 2025-06-18 09:43:54.691 | INFO | - | Waiting for application shutdown. 2025-06-18 09:43:54.692 | INFO | - | Application shutdown complete. 2025-06-18 09:43:54.695 | INFO | - | Finished server process [23128] 2025-06-18 09:44:05.779 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 09:44:05.780 | INFO | - | Started server process [20056] 2025-06-18 09:44:05.780 | INFO | - | Waiting for application startup. 2025-06-18 09:44:05.782 | INFO | - | Application startup complete. 2025-06-18 09:45:30.947 | INFO | - | Shutting down 2025-06-18 09:45:31.063 | INFO | - | Waiting for application shutdown. 2025-06-18 09:45:31.063 | INFO | - | Application shutdown complete. 2025-06-18 09:45:31.063 | INFO | - | Finished server process [20056] 2025-06-18 09:45:42.418 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 09:45:42.418 | INFO | - | Started server process [30256] 2025-06-18 09:45:42.418 | INFO | - | Waiting for application startup. 2025-06-18 09:45:42.421 | INFO | - | Application startup complete. 2025-06-18 09:46:05.795 | INFO | - | Shutting down 2025-06-18 09:46:05.900 | INFO | - | Waiting for application shutdown. 2025-06-18 09:46:05.902 | INFO | - | Application shutdown complete. 2025-06-18 09:46:05.904 | INFO | - | Finished server process [30256] 2025-06-18 09:46:56.130 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 09:46:56.131 | INFO | - | Started server process [22464] 2025-06-18 09:46:56.131 | INFO | - | Waiting for application startup. 2025-06-18 09:46:56.134 | INFO | - | Application startup complete. 2025-06-18 09:51:19.463 | INFO | - | Shutting down 2025-06-18 09:51:19.574 | INFO | - | Waiting for application shutdown. 2025-06-18 09:51:19.576 | INFO | - | Application shutdown complete. 2025-06-18 09:51:19.577 | INFO | - | Finished server process [22464] 2025-06-18 09:51:30.221 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 09:51:30.221 | INFO | - | Started server process [9124] 2025-06-18 09:51:30.221 | INFO | - | Waiting for application startup. 2025-06-18 09:51:30.221 | INFO | - | Application startup complete. 2025-06-18 09:52:11.651 | INFO | a505bc0e5e104b0ab4da34f84a709dfd | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 09:52:11.658 | INFO | a505bc0e5e104b0ab4da34f84a709dfd | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 09:52:11.660 | INFO | a505bc0e5e104b0ab4da34f84a709dfd | 74.125.215.33:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 09:52:12.222 | INFO | 3017e1f3f1524915860190c691a1aa81 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 09:52:12.222 | INFO | 3017e1f3f1524915860190c691a1aa81 | 74.125.215.33:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 09:52:19.318 | INFO | 22e557f41baa4b2faba7b81bd163a850 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 09:52:19.850 | INFO | 22e557f41baa4b2faba7b81bd163a850 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 09:52:19.861 | INFO | 22e557f41baa4b2faba7b81bd163a850 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 09:52:20.400 | INFO | 22e557f41baa4b2faba7b81bd163a850 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 09:52:21.442 | INFO | 22e557f41baa4b2faba7b81bd163a850 | 74.125.215.33:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 09:52:36.886 | INFO | 9365e23fa38849d38172719599ea48cb | 74.125.215.33:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 500 2025-06-18 09:52:38.012 | INFO | 8088fced74fa4fefa1d494622be358b0 | 74.125.215.46:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 500 2025-06-18 09:56:20.637 | INFO | - | Shutting down 2025-06-18 09:56:20.748 | INFO | - | Waiting for application shutdown. 2025-06-18 09:56:20.748 | INFO | - | Application shutdown complete. 2025-06-18 09:56:20.748 | INFO | - | Finished server process [9124] 2025-06-18 09:56:31.997 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 09:56:31.998 | INFO | - | Started server process [12584] 2025-06-18 09:56:31.998 | INFO | - | Waiting for application startup. 2025-06-18 09:56:32.001 | INFO | - | Application startup complete. 2025-06-18 09:57:24.396 | INFO | cbe86067b09946b1aed35d0308b458d4 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 09:57:24.396 | INFO | cbe86067b09946b1aed35d0308b458d4 | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 09:57:24.400 | INFO | cbe86067b09946b1aed35d0308b458d4 | 74.125.215.44:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 09:57:24.999 | INFO | 99ea913448a54cee882ac48bdbfe00f8 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 09:57:25.000 | INFO | 99ea913448a54cee882ac48bdbfe00f8 | 74.125.215.34:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 09:57:26.173 | INFO | 378432641ef142be90bcf80025426324 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 09:57:26.779 | INFO | 378432641ef142be90bcf80025426324 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 09:57:26.781 | INFO | 378432641ef142be90bcf80025426324 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 09:57:27.408 | INFO | 378432641ef142be90bcf80025426324 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 09:57:27.946 | INFO | 378432641ef142be90bcf80025426324 | 74.125.215.34:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 09:57:29.664 | INFO | 1b24a0b417f24c5299811a7be423457b | 74.125.215.32:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 09:57:30.579 | INFO | a29cd9bb230946c6ba5bfff285369ca6 | 74.125.215.45:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 500 2025-06-18 09:57:31.479 | INFO | caf417f4b69d46d7a3d64fb337b85bc5 | 74.125.215.36:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 500 2025-06-18 10:01:21.830 | INFO | - | Shutting down 2025-06-18 10:01:21.942 | INFO | - | Waiting for application shutdown. 2025-06-18 10:01:21.943 | INFO | - | Application shutdown complete. 2025-06-18 10:01:21.943 | INFO | - | Finished server process [12584] 2025-06-18 10:01:31.935 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 10:01:31.942 | INFO | - | Started server process [20236] 2025-06-18 10:01:31.943 | INFO | - | Waiting for application startup. 2025-06-18 10:01:31.961 | INFO | - | Application startup complete. 2025-06-18 10:01:56.122 | INFO | 23f4f56c0d2a4b1f9d17fefc4492883a | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 10:01:56.127 | INFO | 23f4f56c0d2a4b1f9d17fefc4492883a | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 10:01:56.129 | INFO | 23f4f56c0d2a4b1f9d17fefc4492883a | 74.125.215.46:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 10:01:56.882 | INFO | 6e462cfdac7448788ad3ffd5d9db115d | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 10:01:56.882 | INFO | 6e462cfdac7448788ad3ffd5d9db115d | 74.125.215.44:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 10:01:58.755 | INFO | cd4d663259cd4b0b890be88b280ea97f | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 10:01:59.322 | INFO | cd4d663259cd4b0b890be88b280ea97f | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 10:01:59.337 | INFO | cd4d663259cd4b0b890be88b280ea97f | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 10:02:00.161 | INFO | cd4d663259cd4b0b890be88b280ea97f | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 10:02:00.529 | INFO | cd4d663259cd4b0b890be88b280ea97f | 74.125.215.34:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 10:02:03.490 | INFO | 673a9e0cecae4a26a09280fdc966daac | 74.125.215.45:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 10:02:05.337 | INFO | dc0391ecd13149a7828f4f9f3893381f | 74.125.215.32:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 500 2025-06-18 10:02:06.226 | INFO | e922e1d528f04a0daf733835a0678672 | 74.125.215.45:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 500 2025-06-18 10:04:31.296 | INFO | - | Shutting down 2025-06-18 10:04:31.403 | INFO | - | Waiting for application shutdown. 2025-06-18 10:04:31.403 | INFO | - | Application shutdown complete. 2025-06-18 10:04:31.403 | INFO | - | Finished server process [20236] 2025-06-18 10:04:41.392 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 10:04:41.392 | INFO | - | Started server process [16348] 2025-06-18 10:04:41.392 | INFO | - | Waiting for application startup. 2025-06-18 10:04:41.392 | INFO | - | Application startup complete. 2025-06-18 10:04:48.173 | INFO | 77f29b1a4d954bd5afe7ae8dfbedcd46 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 10:04:48.173 | INFO | 77f29b1a4d954bd5afe7ae8dfbedcd46 | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 10:04:48.173 | INFO | 77f29b1a4d954bd5afe7ae8dfbedcd46 | 74.125.215.32:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 10:04:48.884 | INFO | 7c7f70f3224f4cb1ac710471e4c4cf5b | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 10:04:48.887 | INFO | 7c7f70f3224f4cb1ac710471e4c4cf5b | 74.125.215.36:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 10:04:50.412 | INFO | 8dcd77f80dd04307a20b717cc616b1f8 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 10:04:50.936 | INFO | 8dcd77f80dd04307a20b717cc616b1f8 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 10:04:50.942 | INFO | 8dcd77f80dd04307a20b717cc616b1f8 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 10:04:51.477 | INFO | 8dcd77f80dd04307a20b717cc616b1f8 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 10:04:51.812 | INFO | 8dcd77f80dd04307a20b717cc616b1f8 | 74.125.215.35:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 10:04:54.392 | INFO | aec28d05b5b7498e81a482f6dd3a27d4 | 74.125.215.34:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 10:04:55.279 | INFO | 72ed77f755e74daa80cfd7adb325a1f2 | 74.125.215.33:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 500 2025-06-18 10:04:56.088 | INFO | 8a55bf63840d4ca9998afc2aa888c44f | 74.125.215.45:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 500 2025-06-18 10:07:48.620 | INFO | - | Shutting down 2025-06-18 10:07:48.721 | INFO | - | Waiting for application shutdown. 2025-06-18 10:07:48.723 | INFO | - | Application shutdown complete. 2025-06-18 10:07:48.726 | INFO | - | Finished server process [16348] 2025-06-18 10:07:58.928 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 10:07:58.928 | INFO | - | Started server process [10336] 2025-06-18 10:07:58.928 | INFO | - | Waiting for application startup. 2025-06-18 10:07:58.931 | INFO | - | Application startup complete. 2025-06-18 10:09:24.340 | INFO | b56f9f964c5d4e34b865a3959ae2fdce | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 10:09:24.341 | INFO | b56f9f964c5d4e34b865a3959ae2fdce | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 10:09:24.343 | INFO | b56f9f964c5d4e34b865a3959ae2fdce | 74.125.215.45:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 10:09:24.992 | INFO | 9d43bd54ec15451885a145924c4a100d | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 10:09:24.994 | INFO | 9d43bd54ec15451885a145924c4a100d | 74.125.215.44:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 10:09:26.480 | INFO | d886cf79c18f4fdf8f8fcc6076a45348 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 10:09:26.817 | INFO | d886cf79c18f4fdf8f8fcc6076a45348 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 10:09:26.820 | INFO | d886cf79c18f4fdf8f8fcc6076a45348 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 10:09:27.489 | INFO | d886cf79c18f4fdf8f8fcc6076a45348 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 10:09:28.346 | INFO | d886cf79c18f4fdf8f8fcc6076a45348 | 74.125.215.33:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 10:09:29.775 | INFO | c246403b81c54206894677da34377851 | 74.125.215.35:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 10:09:31.025 | INFO | 2f9a72a50a9c4ca59106f9b5579b121c | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/None/None "HTTP/1.1 403 " 2025-06-18 10:09:31.186 | INFO | 2f9a72a50a9c4ca59106f9b5579b121c | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/None/None "HTTP/1.1 428 " 2025-06-18 10:09:31.188 | INFO | 2f9a72a50a9c4ca59106f9b5579b121c | 74.125.215.32:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 10:09:56.288 | INFO | - | Shutting down 2025-06-18 10:09:56.391 | INFO | - | Waiting for application shutdown. 2025-06-18 10:09:56.394 | INFO | - | Application shutdown complete. 2025-06-18 10:09:56.396 | INFO | - | Finished server process [10336] 2025-06-18 10:10:06.606 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 10:10:06.607 | INFO | - | Started server process [32412] 2025-06-18 10:10:06.607 | INFO | - | Waiting for application startup. 2025-06-18 10:10:06.607 | INFO | - | Application startup complete. 2025-06-18 10:10:16.796 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 10:10:16.796 | INFO | - | Started server process [31716] 2025-06-18 10:10:16.796 | INFO | - | Waiting for application startup. 2025-06-18 10:10:16.796 | INFO | - | Application startup complete. 2025-06-18 10:10:27.642 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 10:10:27.642 | INFO | - | Started server process [31976] 2025-06-18 10:10:27.642 | INFO | - | Waiting for application startup. 2025-06-18 10:10:27.642 | INFO | - | Application startup complete. 2025-06-18 10:14:40.652 | INFO | - | Shutting down 2025-06-18 10:14:40.756 | INFO | - | Waiting for application shutdown. 2025-06-18 10:14:40.758 | INFO | - | Application shutdown complete. 2025-06-18 10:14:40.758 | INFO | - | Finished server process [31976] 2025-06-18 10:14:53.227 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 10:14:53.228 | INFO | - | Started server process [28000] 2025-06-18 10:14:53.229 | INFO | - | Waiting for application startup. 2025-06-18 10:14:53.231 | INFO | - | Application startup complete. 2025-06-18 10:18:18.710 | INFO | 6cdbf06f85504ceba5d973861f470c9b | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 10:18:18.710 | INFO | 6cdbf06f85504ceba5d973861f470c9b | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 10:18:18.710 | INFO | 6cdbf06f85504ceba5d973861f470c9b | 74.125.215.33:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 10:18:19.279 | INFO | afd05230f73e455d8e31d075bd90f457 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 10:18:19.279 | INFO | afd05230f73e455d8e31d075bd90f457 | 74.125.215.44:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 10:18:21.562 | INFO | 01921166b0ac408387967f26e95b4f56 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 10:18:22.107 | INFO | 01921166b0ac408387967f26e95b4f56 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 10:18:22.108 | INFO | 01921166b0ac408387967f26e95b4f56 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 10:18:22.790 | INFO | 01921166b0ac408387967f26e95b4f56 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 10:18:23.448 | INFO | 01921166b0ac408387967f26e95b4f56 | 74.125.215.43:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 10:18:25.961 | INFO | 53f8304e94ee4f34bd285e3820d345e4 | 74.125.215.32:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 10:18:26.709 | INFO | 687ee5121778470a9146d228f604ad3e | 74.125.215.46:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 400 2025-06-18 10:24:41.673 | INFO | - | Shutting down 2025-06-18 10:24:41.786 | INFO | - | Waiting for application shutdown. 2025-06-18 10:24:41.789 | INFO | - | Application shutdown complete. 2025-06-18 10:24:41.790 | INFO | - | Finished server process [28000] 2025-06-18 10:24:52.569 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 10:24:52.569 | INFO | - | Started server process [28376] 2025-06-18 10:24:52.569 | INFO | - | Waiting for application startup. 2025-06-18 10:24:52.569 | INFO | - | Application startup complete. 2025-06-18 10:28:16.971 | INFO | - | Shutting down 2025-06-18 10:28:17.074 | INFO | - | Waiting for application shutdown. 2025-06-18 10:28:17.074 | INFO | - | Application shutdown complete. 2025-06-18 10:28:17.078 | INFO | - | Finished server process [28376] 2025-06-18 10:28:27.892 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 10:28:27.892 | INFO | - | Started server process [15012] 2025-06-18 10:28:27.892 | INFO | - | Waiting for application startup. 2025-06-18 10:28:27.898 | INFO | - | Application startup complete. 2025-06-18 10:33:18.074 | INFO | - | Shutting down 2025-06-18 10:33:18.177 | INFO | - | Waiting for application shutdown. 2025-06-18 10:33:18.179 | INFO | - | Application shutdown complete. 2025-06-18 10:33:18.181 | INFO | - | Finished server process [15012] 2025-06-18 10:59:39.252 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 10:59:39.254 | INFO | - | Started server process [14344] 2025-06-18 10:59:39.254 | INFO | - | Waiting for application startup. 2025-06-18 10:59:39.257 | INFO | - | Application startup complete. 2025-06-18 10:59:56.045 | INFO | - | Shutting down 2025-06-18 10:59:56.148 | INFO | - | Waiting for application shutdown. 2025-06-18 10:59:56.150 | INFO | - | Application shutdown complete. 2025-06-18 10:59:56.150 | INFO | - | Finished server process [14344] 2025-06-18 11:00:06.950 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 11:00:06.950 | INFO | - | Started server process [21192] 2025-06-18 11:00:06.951 | INFO | - | Waiting for application startup. 2025-06-18 11:00:06.952 | INFO | - | Application startup complete. 2025-06-18 11:00:14.362 | INFO | 2d0d2acb90584b8491420265e9524b5b | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 11:00:14.362 | INFO | 2d0d2acb90584b8491420265e9524b5b | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 11:00:14.362 | INFO | 2d0d2acb90584b8491420265e9524b5b | 74.125.215.32:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 11:00:14.981 | INFO | 343a672c6e274d40b17a5d63c72692a3 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 11:00:14.981 | INFO | 343a672c6e274d40b17a5d63c72692a3 | 74.125.215.44:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 11:00:16.429 | INFO | f66f6069466b4d2fb9f4ed475b37b5e9 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 11:00:16.909 | INFO | f66f6069466b4d2fb9f4ed475b37b5e9 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 11:00:16.909 | INFO | f66f6069466b4d2fb9f4ed475b37b5e9 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 11:00:17.413 | INFO | f66f6069466b4d2fb9f4ed475b37b5e9 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 11:00:17.863 | INFO | f66f6069466b4d2fb9f4ed475b37b5e9 | 74.125.215.35:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-18 11:00:18.724 | INFO | 96826d3562aa414bbd536f058e5cdddf | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 11:00:18.724 | INFO | 96826d3562aa414bbd536f058e5cdddf | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 11:00:19.309 | INFO | 96826d3562aa414bbd536f058e5cdddf | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 11:00:19.682 | INFO | 96826d3562aa414bbd536f058e5cdddf | 74.125.215.46:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-18 11:00:21.640 | INFO | d6fc80421f6f408a81192b1df56a3bb6 | 74.125.215.32:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 11:00:22.499 | INFO | 41111194ab2d4eb9aa7b301d246d868b | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 11:00:22.502 | INFO | 41111194ab2d4eb9aa7b301d246d868b | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 11:00:23.119 | INFO | 41111194ab2d4eb9aa7b301d246d868b | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 11:00:23.611 | INFO | 41111194ab2d4eb9aa7b301d246d868b | 74.125.215.46:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-18 11:00:24.569 | INFO | a7e0ff853be14aca8f84010cb5340d38 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 11:00:24.569 | INFO | a7e0ff853be14aca8f84010cb5340d38 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 11:00:25.104 | INFO | a7e0ff853be14aca8f84010cb5340d38 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 11:00:25.530 | INFO | a7e0ff853be14aca8f84010cb5340d38 | 74.125.215.34:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-18 11:03:06.165 | INFO | - | Shutting down 2025-06-18 11:03:06.271 | INFO | - | Waiting for application shutdown. 2025-06-18 11:03:06.283 | INFO | - | Application shutdown complete. 2025-06-18 11:03:06.283 | INFO | - | Finished server process [21192] 2025-06-18 11:03:16.693 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 11:03:16.698 | INFO | - | Started server process [18696] 2025-06-18 11:03:16.699 | INFO | - | Waiting for application startup. 2025-06-18 11:03:16.699 | INFO | - | Application startup complete. 2025-06-18 11:05:48.743 | INFO | e5aed5182e31437b9abe75444ce2153e | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 11:05:48.743 | INFO | e5aed5182e31437b9abe75444ce2153e | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 11:05:48.743 | INFO | e5aed5182e31437b9abe75444ce2153e | 74.125.215.32:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 11:05:49.546 | INFO | ee826c947ddd40e1a93f5bee64d2c0e8 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 11:05:49.550 | INFO | ee826c947ddd40e1a93f5bee64d2c0e8 | 74.125.215.36:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 11:05:51.449 | INFO | b032aa6c29a441529fdcb7734dcbbd8b | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 11:05:52.066 | INFO | b032aa6c29a441529fdcb7734dcbbd8b | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 11:05:52.066 | INFO | b032aa6c29a441529fdcb7734dcbbd8b | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 11:05:52.702 | INFO | b032aa6c29a441529fdcb7734dcbbd8b | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 11:05:53.094 | INFO | b032aa6c29a441529fdcb7734dcbbd8b | 74.125.215.43:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 11:05:54.274 | INFO | e8b62f16ab984b5bac0762bba3197434 | 74.125.215.35:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 500 2025-06-18 11:05:54.917 | INFO | be182501f3e44bc8bf64eb96014036de | 74.125.215.34:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 500 2025-06-18 11:07:02.196 | INFO | - | Shutting down 2025-06-18 11:07:02.304 | INFO | - | Waiting for application shutdown. 2025-06-18 11:07:02.304 | INFO | - | Application shutdown complete. 2025-06-18 11:07:02.304 | INFO | - | Finished server process [18696] 2025-06-18 11:07:13.757 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 11:07:13.757 | INFO | - | Started server process [28164] 2025-06-18 11:07:13.759 | INFO | - | Waiting for application startup. 2025-06-18 11:07:13.759 | INFO | - | Application startup complete. 2025-06-18 11:07:23.523 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 11:07:23.523 | INFO | - | Started server process [18308] 2025-06-18 11:07:23.523 | INFO | - | Waiting for application startup. 2025-06-18 11:07:23.523 | INFO | - | Application startup complete. 2025-06-18 11:14:45.530 | INFO | - | Shutting down 2025-06-18 11:14:45.633 | INFO | - | Waiting for application shutdown. 2025-06-18 11:14:45.633 | INFO | - | Application shutdown complete. 2025-06-18 11:14:45.634 | INFO | - | Finished server process [18308] 2025-06-18 11:14:58.754 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 11:14:58.755 | INFO | - | Started server process [5516] 2025-06-18 11:14:58.755 | INFO | - | Waiting for application startup. 2025-06-18 11:14:58.757 | INFO | - | Application startup complete. 2025-06-18 11:15:28.129 | INFO | 3b6c8b2e1fa94b74861be4eee1695dc9 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 11:15:28.130 | INFO | 3b6c8b2e1fa94b74861be4eee1695dc9 | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 11:15:28.133 | INFO | 3b6c8b2e1fa94b74861be4eee1695dc9 | 74.125.215.43:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 11:15:28.721 | INFO | 95bb25575e344120acad08f719e9f3c6 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 11:15:28.724 | INFO | 95bb25575e344120acad08f719e9f3c6 | 74.125.215.32:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 11:15:30.182 | INFO | 3f5efa3a5dc847b88a73a9b3f0ba17a3 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 11:15:30.816 | INFO | 3f5efa3a5dc847b88a73a9b3f0ba17a3 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 11:15:30.816 | INFO | 3f5efa3a5dc847b88a73a9b3f0ba17a3 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 11:15:31.335 | INFO | 3f5efa3a5dc847b88a73a9b3f0ba17a3 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 11:15:31.724 | INFO | 3f5efa3a5dc847b88a73a9b3f0ba17a3 | 74.125.215.32:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 11:15:32.883 | INFO | 14f4935e3dc241449a5647d3c4d51209 | 74.125.215.34:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 500 2025-06-18 11:15:33.446 | INFO | 23c22b1846d84b308c14061fcdb34949 | 74.125.215.46:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 500 2025-06-18 11:23:12.506 | INFO | - | Shutting down 2025-06-18 11:23:12.611 | INFO | - | Waiting for application shutdown. 2025-06-18 11:23:12.613 | INFO | - | Application shutdown complete. 2025-06-18 11:23:12.615 | INFO | - | Finished server process [5516] 2025-06-18 11:23:24.092 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 11:23:24.092 | INFO | - | Started server process [29204] 2025-06-18 11:23:24.092 | INFO | - | Waiting for application startup. 2025-06-18 11:23:24.097 | INFO | - | Application startup complete. 2025-06-18 11:27:01.689 | INFO | - | Shutting down 2025-06-18 11:27:01.793 | INFO | - | Waiting for application shutdown. 2025-06-18 11:27:01.794 | INFO | - | Application shutdown complete. 2025-06-18 11:27:01.796 | INFO | - | Finished server process [29204] 2025-06-18 11:27:11.549 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 11:27:11.549 | INFO | - | Started server process [3068] 2025-06-18 11:27:11.549 | INFO | - | Waiting for application startup. 2025-06-18 11:27:11.549 | INFO | - | Application startup complete. 2025-06-18 11:28:08.998 | INFO | f95fd39441634a60be86036e58eb0842 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 11:28:08.999 | INFO | f95fd39441634a60be86036e58eb0842 | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 11:28:08.999 | INFO | f95fd39441634a60be86036e58eb0842 | 74.125.215.46:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 11:28:09.600 | INFO | f2d4c4588dec41c29d0a4882112fdd3b | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 11:28:09.602 | INFO | f2d4c4588dec41c29d0a4882112fdd3b | 74.125.215.45:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 11:28:12.279 | INFO | b00a46e664fe4051ba48c92a252ac4a7 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 11:28:13.165 | INFO | b00a46e664fe4051ba48c92a252ac4a7 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 11:28:13.177 | INFO | b00a46e664fe4051ba48c92a252ac4a7 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 11:28:15.625 | INFO | b00a46e664fe4051ba48c92a252ac4a7 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 11:28:19.707 | INFO | b00a46e664fe4051ba48c92a252ac4a7 | 74.125.215.46:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 11:28:20.833 | INFO | 1207e4e36f474c84976e9917814b3752 | 74.125.215.34:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 500 2025-06-18 11:28:21.323 | INFO | 57769cf81251413cb3fb1f7919c87d82 | 74.125.215.46:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 500 2025-06-18 11:33:46.617 | INFO | - | Shutting down 2025-06-18 11:33:46.724 | INFO | - | Waiting for application shutdown. 2025-06-18 11:33:46.724 | INFO | - | Application shutdown complete. 2025-06-18 11:33:46.724 | INFO | - | Finished server process [3068] 2025-06-18 11:33:57.097 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 11:33:57.097 | INFO | - | Started server process [11004] 2025-06-18 11:33:57.097 | INFO | - | Waiting for application startup. 2025-06-18 11:33:57.097 | INFO | - | Application startup complete. 2025-06-18 11:34:43.113 | INFO | 2a1a5a67819c4357a824651f92cff6d3 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 11:34:43.113 | INFO | 2a1a5a67819c4357a824651f92cff6d3 | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 11:34:43.113 | INFO | 2a1a5a67819c4357a824651f92cff6d3 | 74.125.215.36:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 11:34:43.481 | INFO | 1f6ad3cd9a144dc3b5894c97de5bc9d3 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 11:34:43.481 | INFO | 1f6ad3cd9a144dc3b5894c97de5bc9d3 | 74.125.215.36:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 11:34:44.974 | INFO | 53eb91540ac84a7a952bee6f76951e83 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 11:34:45.470 | INFO | 53eb91540ac84a7a952bee6f76951e83 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 11:34:45.476 | INFO | 53eb91540ac84a7a952bee6f76951e83 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 11:34:46.120 | INFO | 53eb91540ac84a7a952bee6f76951e83 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 11:34:46.694 | INFO | 53eb91540ac84a7a952bee6f76951e83 | 74.125.215.46:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 11:34:48.187 | INFO | 6d8143c64f8a45748e16b606219b2df7 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 11:34:48.190 | INFO | 6d8143c64f8a45748e16b606219b2df7 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 11:34:48.732 | INFO | 6d8143c64f8a45748e16b606219b2df7 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 11:34:49.206 | INFO | 6d8143c64f8a45748e16b606219b2df7 | 74.125.215.33:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 500 2025-06-18 11:34:49.823 | INFO | eb620fcf970e412bb35f74900eb40ba7 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 11:34:49.829 | INFO | eb620fcf970e412bb35f74900eb40ba7 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 11:34:50.405 | INFO | eb620fcf970e412bb35f74900eb40ba7 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 11:34:50.849 | INFO | eb620fcf970e412bb35f74900eb40ba7 | 74.125.215.46:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 500 2025-06-18 11:37:33.490 | INFO | - | Shutting down 2025-06-18 11:37:33.602 | INFO | - | Waiting for application shutdown. 2025-06-18 11:37:33.604 | INFO | - | Application shutdown complete. 2025-06-18 11:37:33.606 | INFO | - | Finished server process [11004] 2025-06-18 11:37:43.126 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 11:37:43.126 | INFO | - | Started server process [24220] 2025-06-18 11:37:43.126 | INFO | - | Waiting for application startup. 2025-06-18 11:37:43.126 | INFO | - | Application startup complete. 2025-06-18 11:37:51.213 | INFO | 0f566b14a7d24a60aee26a42222bd73d | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 11:37:51.215 | INFO | 0f566b14a7d24a60aee26a42222bd73d | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 11:37:51.215 | INFO | 0f566b14a7d24a60aee26a42222bd73d | 74.125.215.35:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 11:37:51.798 | INFO | f55f4844ab11440daacdbc27a8d416fd | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 11:37:51.798 | INFO | f55f4844ab11440daacdbc27a8d416fd | 74.125.215.33:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 11:37:53.504 | INFO | d1a35135ed234653b27b02dcc6e874a5 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 11:37:53.849 | INFO | d1a35135ed234653b27b02dcc6e874a5 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 11:37:53.852 | INFO | d1a35135ed234653b27b02dcc6e874a5 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 11:37:54.399 | INFO | d1a35135ed234653b27b02dcc6e874a5 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 11:37:55.662 | INFO | d1a35135ed234653b27b02dcc6e874a5 | 74.125.215.44:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 11:37:58.205 | INFO | 7389748bb96545c4983fa319185283d7 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 11:37:58.205 | INFO | 7389748bb96545c4983fa319185283d7 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 11:37:58.961 | INFO | 7389748bb96545c4983fa319185283d7 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 11:38:00.104 | INFO | 7389748bb96545c4983fa319185283d7 | 74.125.215.33:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 11:38:01.301 | INFO | 110e1cf1d0a34e49afaee81738619fec | 74.125.215.45:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 400 2025-06-18 11:42:34.560 | INFO | - | Shutting down 2025-06-18 11:42:34.663 | INFO | - | Waiting for application shutdown. 2025-06-18 11:42:34.666 | INFO | - | Application shutdown complete. 2025-06-18 11:42:34.668 | INFO | - | Finished server process [24220] 2025-06-18 11:42:45.542 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 11:42:45.542 | INFO | - | Started server process [26288] 2025-06-18 11:42:45.542 | INFO | - | Waiting for application startup. 2025-06-18 11:42:45.542 | INFO | - | Application startup complete. 2025-06-18 11:42:57.103 | INFO | - | Shutting down 2025-06-18 11:42:57.221 | INFO | - | Waiting for application shutdown. 2025-06-18 11:42:57.225 | INFO | - | Application shutdown complete. 2025-06-18 11:42:57.226 | INFO | - | Finished server process [26288] 2025-06-18 11:43:07.377 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 11:43:07.377 | INFO | - | Started server process [20196] 2025-06-18 11:43:07.377 | INFO | - | Waiting for application startup. 2025-06-18 11:43:07.377 | INFO | - | Application startup complete. 2025-06-18 11:43:27.906 | INFO | 5dedf9d47ebb422f8638d2eec80c8c92 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 11:43:27.906 | INFO | 5dedf9d47ebb422f8638d2eec80c8c92 | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 11:43:27.906 | INFO | 5dedf9d47ebb422f8638d2eec80c8c92 | 74.125.215.42:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 11:43:28.532 | INFO | 409da5ff8a304c4fba6e67ed418e0ec6 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 11:43:28.532 | INFO | 409da5ff8a304c4fba6e67ed418e0ec6 | 74.125.215.36:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 11:43:30.205 | INFO | e6ffd49e6ac34c4a9c7b2b73c9faf116 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 11:43:30.729 | INFO | e6ffd49e6ac34c4a9c7b2b73c9faf116 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 11:43:30.729 | INFO | e6ffd49e6ac34c4a9c7b2b73c9faf116 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 11:43:31.227 | INFO | e6ffd49e6ac34c4a9c7b2b73c9faf116 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 11:43:31.859 | INFO | e6ffd49e6ac34c4a9c7b2b73c9faf116 | 74.125.215.32:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 11:43:34.108 | INFO | db9b93381ba34b23bcdfcb5a45bca038 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 11:43:34.116 | INFO | db9b93381ba34b23bcdfcb5a45bca038 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 11:43:34.827 | INFO | db9b93381ba34b23bcdfcb5a45bca038 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 11:43:35.283 | INFO | db9b93381ba34b23bcdfcb5a45bca038 | 74.125.215.35:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 11:43:36.105 | INFO | 178d6ec697e94296b9d616f1a2946d5e | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5914946.0, 'route': '16:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898676.0, 'route': '17:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-18 11:43:36.111 | INFO | 178d6ec697e94296b9d616f1a2946d5e | 74.125.215.46:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 400 2025-06-18 11:51:36.538 | INFO | - | Shutting down 2025-06-18 11:51:36.649 | INFO | - | Waiting for application shutdown. 2025-06-18 11:51:36.651 | INFO | - | Application shutdown complete. 2025-06-18 11:51:36.654 | INFO | - | Finished server process [20196] 2025-06-18 11:51:46.056 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 11:51:46.056 | INFO | - | Started server process [29580] 2025-06-18 11:51:46.057 | INFO | - | Waiting for application startup. 2025-06-18 11:51:46.059 | INFO | - | Application startup complete. 2025-06-18 11:53:58.003 | INFO | b9be4763af0549dbbcbd524dbe875830 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 11:53:58.003 | INFO | b9be4763af0549dbbcbd524dbe875830 | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 11:53:58.003 | INFO | b9be4763af0549dbbcbd524dbe875830 | 74.125.215.46:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 11:53:58.563 | INFO | 8617d5dc9faf425c8382ce8c21c25782 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 11:53:58.563 | INFO | 8617d5dc9faf425c8382ce8c21c25782 | 74.125.215.45:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 11:54:00.013 | INFO | ffa5863bc96e40a6a1280ad2c9c7c88f | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 11:54:00.567 | INFO | ffa5863bc96e40a6a1280ad2c9c7c88f | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 11:54:00.567 | INFO | ffa5863bc96e40a6a1280ad2c9c7c88f | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 11:54:01.104 | INFO | ffa5863bc96e40a6a1280ad2c9c7c88f | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 11:54:01.506 | INFO | ffa5863bc96e40a6a1280ad2c9c7c88f | 74.125.215.44:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 11:54:02.969 | INFO | 81d7312558334bfd862947b2fbb4d288 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 11:54:02.969 | INFO | 81d7312558334bfd862947b2fbb4d288 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 11:54:03.533 | INFO | 81d7312558334bfd862947b2fbb4d288 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 11:54:04.077 | INFO | 81d7312558334bfd862947b2fbb4d288 | 74.125.215.35:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 11:54:04.921 | INFO | d02bcf03cd58413ea166698107e51b2b | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5914946.0, 'route': '16:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898676.0, 'route': '17:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-18 11:54:04.921 | INFO | d02bcf03cd58413ea166698107e51b2b | 74.125.215.32:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 400 2025-06-18 13:26:44.618 | INFO | - | Shutting down 2025-06-18 13:26:44.749 | INFO | - | Waiting for application shutdown. 2025-06-18 13:26:44.749 | INFO | - | Application shutdown complete. 2025-06-18 13:26:44.760 | INFO | - | Finished server process [29580] 2025-06-18 13:26:57.225 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 13:26:57.233 | INFO | - | Started server process [15608] 2025-06-18 13:26:57.233 | INFO | - | Waiting for application startup. 2025-06-18 13:26:57.238 | INFO | - | Application startup complete. 2025-06-18 13:26:57.238 | INFO | 627ddcfcdd5346b4b4613a89885f9658 | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-18 13:26:57.975 | INFO | 37afafdbb3e04fa8849cba997f871833 | 14.241.227.54:0 - "GET /openapi HTTP/1.1" 200 2025-06-18 13:27:05.220 | INFO | 4077dbe069994d43aeef71baf9d57b1c | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 13:27:05.223 | INFO | 4077dbe069994d43aeef71baf9d57b1c | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 13:27:05.224 | INFO | 4077dbe069994d43aeef71baf9d57b1c | 74.125.215.35:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 13:27:05.851 | INFO | 29e901e5c16d4ff389bd83784079e1a2 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 13:27:05.852 | INFO | 29e901e5c16d4ff389bd83784079e1a2 | 74.125.215.42:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 13:27:08.019 | INFO | 9093b3cf2b74473caed80c3ee8f58b7d | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 13:27:08.527 | INFO | 9093b3cf2b74473caed80c3ee8f58b7d | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 13:27:08.639 | INFO | 9093b3cf2b74473caed80c3ee8f58b7d | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 13:27:09.326 | INFO | 9093b3cf2b74473caed80c3ee8f58b7d | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 13:27:10.370 | INFO | 9093b3cf2b74473caed80c3ee8f58b7d | 74.125.215.42:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 13:27:14.610 | INFO | 41b36799e1414d77bb20ea09cbd9491a | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 13:27:14.611 | INFO | 41b36799e1414d77bb20ea09cbd9491a | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 13:27:15.275 | INFO | 41b36799e1414d77bb20ea09cbd9491a | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 13:27:15.680 | INFO | 41b36799e1414d77bb20ea09cbd9491a | 74.125.215.45:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 13:27:16.457 | INFO | b0f554a83df24f4bac81a1ca10b5a344 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5914946.0, 'route': '16:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898676.0, 'route': '17:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-18 13:27:16.480 | INFO | b0f554a83df24f4bac81a1ca10b5a344 | 74.125.215.46:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 400 2025-06-18 13:29:30.982 | INFO | - | Shutting down 2025-06-18 13:29:31.095 | INFO | - | Waiting for application shutdown. 2025-06-18 13:29:31.095 | INFO | - | Application shutdown complete. 2025-06-18 13:29:31.096 | INFO | - | Finished server process [15608] 2025-06-18 13:29:41.446 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 13:29:41.446 | INFO | - | Started server process [8756] 2025-06-18 13:29:41.446 | INFO | - | Waiting for application startup. 2025-06-18 13:29:41.446 | INFO | - | Application startup complete. 2025-06-18 13:29:52.200 | INFO | 7a01ac58cc4044fcad915fb306ab3ba3 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 13:29:52.200 | INFO | 7a01ac58cc4044fcad915fb306ab3ba3 | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 13:29:52.200 | INFO | 7a01ac58cc4044fcad915fb306ab3ba3 | 74.125.215.44:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 13:29:52.883 | INFO | 3c1823d1c5ba4e608762734f42c9678f | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 13:29:52.885 | INFO | 3c1823d1c5ba4e608762734f42c9678f | 74.125.215.33:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 13:29:55.713 | INFO | 74ee44faf91849d49eabd0a1ce26b640 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 13:29:56.258 | INFO | 74ee44faf91849d49eabd0a1ce26b640 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 13:29:56.260 | INFO | 74ee44faf91849d49eabd0a1ce26b640 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 13:29:57.365 | INFO | 74ee44faf91849d49eabd0a1ce26b640 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 13:29:58.623 | INFO | 74ee44faf91849d49eabd0a1ce26b640 | 74.125.215.46:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 13:30:00.624 | INFO | 40ad7b2c87c54143a712b6d845e71514 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 13:30:00.630 | INFO | 40ad7b2c87c54143a712b6d845e71514 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 13:30:01.193 | INFO | 40ad7b2c87c54143a712b6d845e71514 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 13:30:01.581 | INFO | 40ad7b2c87c54143a712b6d845e71514 | 74.125.215.46:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 13:30:02.240 | INFO | 0e4b7a6d0e9c415498aeefef8c01eb33 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5914946.0, 'route': '16:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898676.0, 'route': '17:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-18 13:30:02.243 | INFO | 0e4b7a6d0e9c415498aeefef8c01eb33 | 74.125.215.44:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 400 2025-06-18 13:30:38.308 | INFO | - | Shutting down 2025-06-18 13:30:38.423 | INFO | - | Waiting for application shutdown. 2025-06-18 13:30:38.423 | INFO | - | Application shutdown complete. 2025-06-18 13:30:38.423 | INFO | - | Finished server process [8756] 2025-06-18 13:30:48.548 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 13:30:48.548 | INFO | - | Started server process [9064] 2025-06-18 13:30:48.555 | INFO | - | Waiting for application startup. 2025-06-18 13:30:48.557 | INFO | - | Application startup complete. 2025-06-18 13:31:11.993 | INFO | d357838b123a4468b3633bccae597177 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 13:31:11.995 | INFO | d357838b123a4468b3633bccae597177 | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 13:31:11.999 | INFO | d357838b123a4468b3633bccae597177 | 74.125.215.33:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 13:31:12.607 | INFO | f574097431cf47578db9d6b539373189 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 13:31:12.609 | INFO | f574097431cf47578db9d6b539373189 | 74.125.215.45:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 13:31:14.229 | INFO | 8ecbc4b163db4afbb8e3c060f7de1525 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 13:31:14.502 | INFO | 8ecbc4b163db4afbb8e3c060f7de1525 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 13:31:14.510 | INFO | 8ecbc4b163db4afbb8e3c060f7de1525 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 13:31:15.068 | INFO | 8ecbc4b163db4afbb8e3c060f7de1525 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 13:31:16.508 | INFO | 8ecbc4b163db4afbb8e3c060f7de1525 | 74.125.215.33:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 13:31:18.213 | INFO | 9caaf333d6364bb4ac63f53d26e318e3 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 13:31:18.213 | INFO | 9caaf333d6364bb4ac63f53d26e318e3 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 13:31:19.034 | INFO | 9caaf333d6364bb4ac63f53d26e318e3 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 13:31:19.880 | INFO | 9caaf333d6364bb4ac63f53d26e318e3 | 74.125.215.46:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 13:31:20.465 | INFO | 885a5f7f95ee492982bae5ab6aef5866 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5914946.0, 'route': '16:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898676.0, 'route': '17:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-18 13:31:20.923 | INFO | 885a5f7f95ee492982bae5ab6aef5866 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 13:31:21.252 | INFO | 885a5f7f95ee492982bae5ab6aef5866 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 13:31:21.260 | INFO | 885a5f7f95ee492982bae5ab6aef5866 | 74.125.215.33:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 13:35:39.374 | INFO | - | Shutting down 2025-06-18 13:35:39.482 | INFO | - | Waiting for application shutdown. 2025-06-18 13:35:39.484 | INFO | - | Application shutdown complete. 2025-06-18 13:35:39.486 | INFO | - | Finished server process [9064] 2025-06-18 13:35:49.111 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 13:35:49.112 | INFO | - | Started server process [19028] 2025-06-18 13:35:49.112 | INFO | - | Waiting for application startup. 2025-06-18 13:35:49.114 | INFO | - | Application startup complete. 2025-06-18 13:41:22.545 | INFO | eb3633fa3a184b5c82bc238039954e3b | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 13:41:22.546 | INFO | eb3633fa3a184b5c82bc238039954e3b | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 13:41:22.547 | INFO | eb3633fa3a184b5c82bc238039954e3b | 74.125.215.45:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 13:41:39.010 | INFO | eee9661f9c8f42b0a04d7fa751499162 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'origin_office': 'Bến xe Miền Tây', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 13:41:39.011 | INFO | eee9661f9c8f42b0a04d7fa751499162 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 13:41:39.013 | INFO | eee9661f9c8f42b0a04d7fa751499162 | 74.125.215.33:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 13:42:56.809 | INFO | 4847d8f63275496da7a82248e41a101d | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 13:42:56.810 | INFO | 4847d8f63275496da7a82248e41a101d | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 13:42:56.813 | INFO | 4847d8f63275496da7a82248e41a101d | 74.125.215.44:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 13:43:14.776 | INFO | 744012ed0e9f4a3195f5913c7f471c09 | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-18 13:45:40.428 | INFO | - | Shutting down 2025-06-18 13:45:40.537 | INFO | - | Waiting for application shutdown. 2025-06-18 13:45:40.540 | INFO | - | Application shutdown complete. 2025-06-18 13:45:40.541 | INFO | - | Finished server process [19028] 2025-06-18 13:45:50.283 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 13:45:50.284 | INFO | - | Started server process [26072] 2025-06-18 13:45:50.284 | INFO | - | Waiting for application startup. 2025-06-18 13:45:50.286 | INFO | - | Application startup complete. 2025-06-18 13:46:19.791 | INFO | 317c11a295644c3a9dd3bf1812e85edf | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-18 13:46:43.689 | INFO | 7720bf7376d44d82bdca1ce8ba3bb570 | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-18 13:47:00.446 | INFO | - | Shutting down 2025-06-18 13:47:00.554 | INFO | - | Waiting for application shutdown. 2025-06-18 13:47:00.557 | INFO | - | Application shutdown complete. 2025-06-18 13:47:00.559 | INFO | - | Finished server process [26072] 2025-06-18 13:47:12.276 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 13:47:12.277 | INFO | - | Started server process [22384] 2025-06-18 13:47:12.277 | INFO | - | Waiting for application startup. 2025-06-18 13:47:12.279 | INFO | - | Application startup complete. 2025-06-18 13:47:17.468 | INFO | 8489540afbb94c9a9742b7dd9f1524cf | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-18 13:47:34.106 | INFO | 6b7529bcda114ca8b63339f3afecaaeb | 14.241.227.54:0 - "GET /api/v1/ HTTP/1.1" 200 2025-06-18 13:47:48.919 | INFO | 9190a3a9ce7b49da8019d7ebc2f26efb | 127.0.0.1:54665 - "GET /api/chatbot HTTP/1.1" 404 2025-06-18 13:47:49.295 | INFO | 996589f6024545f3aba764ffb1b49c0e | 127.0.0.1:54665 - "GET /favicon.ico HTTP/1.1" 404 2025-06-18 13:47:51.800 | INFO | 239722431db0419b9dfc976fa2f08bfe | 127.0.0.1:54665 - "GET /docs HTTP/1.1" 200 2025-06-18 13:47:53.048 | INFO | 20acdbaa60c9447a939bda910c4f8b5b | 127.0.0.1:54665 - "GET /openapi HTTP/1.1" 200 2025-06-18 13:48:07.182 | INFO | 99709e0637684433b7b35dd066e84851 | 14.241.227.54:0 - "GET / HTTP/1.1" 404 2025-06-18 13:48:13.622 | INFO | f336aa222f05484b9cfa185ad2b5ed4b | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-18 13:48:54.187 | INFO | 511e52a3a70147d9874618cb80f18507 | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-18 13:48:54.844 | INFO | dacceee44c074f1ca4c62247cfb37826 | 14.241.227.54:0 - "GET /openapi HTTP/1.1" 200 2025-06-18 13:51:31.180 | INFO | ac60396e6c5f433eacabb4fc45f6c5e1 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 13:51:31.180 | INFO | ac60396e6c5f433eacabb4fc45f6c5e1 | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 13:51:31.181 | INFO | ac60396e6c5f433eacabb4fc45f6c5e1 | 64.233.172.73:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 13:51:31.827 | INFO | 164a39ac511d45138a4abaeba9d16b1c | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 13:51:31.830 | INFO | 164a39ac511d45138a4abaeba9d16b1c | 64.233.172.72:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 13:51:36.016 | INFO | a7490ab48cf846e2b4ecd2349cbcbd8c | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 13:51:36.677 | INFO | a7490ab48cf846e2b4ecd2349cbcbd8c | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 13:51:36.681 | INFO | a7490ab48cf846e2b4ecd2349cbcbd8c | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 13:51:37.400 | INFO | a7490ab48cf846e2b4ecd2349cbcbd8c | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 13:51:38.477 | INFO | a7490ab48cf846e2b4ecd2349cbcbd8c | 64.233.172.75:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 13:51:44.666 | INFO | 4aebc8ef71b746f387a1f24654b3e163 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 13:51:44.667 | INFO | 4aebc8ef71b746f387a1f24654b3e163 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 13:51:45.413 | INFO | 4aebc8ef71b746f387a1f24654b3e163 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 13:51:46.419 | INFO | 4aebc8ef71b746f387a1f24654b3e163 | 64.233.172.71:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 13:51:47.061 | INFO | e001d8c41f6646dea61513ae4179d18a | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5914946.0, 'route': '16:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898676.0, 'route': '17:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-18 13:51:47.067 | INFO | e001d8c41f6646dea61513ae4179d18a | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 13:51:47.399 | INFO | e001d8c41f6646dea61513ae4179d18a | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 13:51:47.535 | INFO | e001d8c41f6646dea61513ae4179d18a | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 13:51:47.547 | INFO | e001d8c41f6646dea61513ae4179d18a | 64.233.172.74:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 13:57:15.613 | INFO | - | Shutting down 2025-06-18 13:57:15.715 | INFO | - | Waiting for application shutdown. 2025-06-18 13:57:15.718 | INFO | - | Application shutdown complete. 2025-06-18 13:57:15.720 | INFO | - | Finished server process [22384] 2025-06-18 13:57:26.172 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 13:57:26.173 | INFO | - | Started server process [32008] 2025-06-18 13:57:26.173 | INFO | - | Waiting for application startup. 2025-06-18 13:57:26.175 | INFO | - | Application startup complete. 2025-06-18 13:57:50.615 | INFO | a9d474c022314cd0bab5c7ef52a5faf6 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 13:57:50.616 | INFO | a9d474c022314cd0bab5c7ef52a5faf6 | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 13:57:50.617 | INFO | a9d474c022314cd0bab5c7ef52a5faf6 | 64.233.172.72:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 13:57:51.245 | INFO | b7035c1940284f8b86b14f3186e7ffc6 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 13:57:51.248 | INFO | b7035c1940284f8b86b14f3186e7ffc6 | 64.233.172.73:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 13:57:52.791 | INFO | 81b9afcb83334986a63586467afde0c8 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 13:57:53.385 | INFO | 81b9afcb83334986a63586467afde0c8 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 13:57:53.392 | INFO | 81b9afcb83334986a63586467afde0c8 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 13:57:54.122 | INFO | 81b9afcb83334986a63586467afde0c8 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 13:57:58.927 | INFO | 81b9afcb83334986a63586467afde0c8 | 64.233.172.77:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 13:58:00.312 | INFO | 1267828c044d491494eb6f06a13ed437 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 13:58:00.314 | INFO | 1267828c044d491494eb6f06a13ed437 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 13:58:01.163 | INFO | 1267828c044d491494eb6f06a13ed437 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 13:58:02.088 | INFO | 1267828c044d491494eb6f06a13ed437 | 64.233.172.70:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 13:58:02.983 | INFO | e8c9b4e76ddc4e20a2ff50f72f7cfe27 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5914946.0, 'route': '16:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898676.0, 'route': '17:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-18 13:58:02.987 | INFO | e8c9b4e76ddc4e20a2ff50f72f7cfe27 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 13:58:03.414 | INFO | e8c9b4e76ddc4e20a2ff50f72f7cfe27 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 13:58:03.640 | INFO | e8c9b4e76ddc4e20a2ff50f72f7cfe27 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 13:58:03.658 | INFO | e8c9b4e76ddc4e20a2ff50f72f7cfe27 | 64.233.172.72:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 500 2025-06-18 13:58:04.287 | INFO | 298d675034b34babb998d7415a3e20ae | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5914946.0, 'route': '16:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898676.0, 'route': '17:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-18 13:58:04.291 | INFO | 298d675034b34babb998d7415a3e20ae | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 13:58:04.846 | INFO | 298d675034b34babb998d7415a3e20ae | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 13:58:04.933 | INFO | 298d675034b34babb998d7415a3e20ae | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 13:58:04.939 | INFO | 298d675034b34babb998d7415a3e20ae | 64.233.172.76:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 500 2025-06-18 13:58:37.235 | INFO | - | Shutting down 2025-06-18 13:58:37.352 | INFO | - | Waiting for application shutdown. 2025-06-18 13:58:37.355 | INFO | - | Application shutdown complete. 2025-06-18 13:58:37.356 | INFO | - | Finished server process [32008] 2025-06-18 13:58:47.463 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 13:58:47.464 | INFO | - | Started server process [32632] 2025-06-18 13:58:47.465 | INFO | - | Waiting for application startup. 2025-06-18 13:58:47.467 | INFO | - | Application startup complete. 2025-06-18 13:58:53.068 | INFO | d0d17bc69c784736aaa5fe0c7f65e88e | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 13:58:53.069 | INFO | d0d17bc69c784736aaa5fe0c7f65e88e | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 13:58:53.070 | INFO | d0d17bc69c784736aaa5fe0c7f65e88e | 64.233.172.72:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 13:58:53.599 | INFO | 36a1d63ca2f84b7781289be17e20d567 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 13:58:53.600 | INFO | 36a1d63ca2f84b7781289be17e20d567 | 64.233.172.72:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 13:58:55.280 | INFO | a6ad117ac14a4b6dbac6867d5d0b890d | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 13:58:55.619 | INFO | a6ad117ac14a4b6dbac6867d5d0b890d | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 13:58:55.628 | INFO | a6ad117ac14a4b6dbac6867d5d0b890d | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 13:58:56.236 | INFO | a6ad117ac14a4b6dbac6867d5d0b890d | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 13:58:56.738 | INFO | a6ad117ac14a4b6dbac6867d5d0b890d | 64.233.172.75:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 13:58:58.140 | INFO | 5b0e655269854e86927e32672629934c | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 13:58:58.141 | INFO | 5b0e655269854e86927e32672629934c | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 13:58:58.722 | INFO | 5b0e655269854e86927e32672629934c | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 13:58:59.436 | INFO | 5b0e655269854e86927e32672629934c | 64.233.172.71:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 13:59:00.183 | INFO | 5932e9f526d1413692f5aded71068273 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5914946.0, 'route': '16:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898676.0, 'route': '17:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-18 13:59:00.184 | INFO | 5932e9f526d1413692f5aded71068273 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 13:59:00.467 | INFO | 5932e9f526d1413692f5aded71068273 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 13:59:00.552 | INFO | 5932e9f526d1413692f5aded71068273 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 13:59:00.555 | INFO | 5932e9f526d1413692f5aded71068273 | 64.233.172.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:05:14.117 | INFO | e24ab73cb6b2408a9aa42a99203f7bce | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:05:14.118 | INFO | e24ab73cb6b2408a9aa42a99203f7bce | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 14:05:14.120 | INFO | e24ab73cb6b2408a9aa42a99203f7bce | 64.233.172.72:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 14:05:14.679 | INFO | 405546ca926b41dcbc0e0313bbc1f161 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:05:14.679 | INFO | 405546ca926b41dcbc0e0313bbc1f161 | 64.233.172.74:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 14:05:16.326 | INFO | 8412c9a1d36f4040bc48edb73a1d63b9 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:05:16.327 | INFO | 8412c9a1d36f4040bc48edb73a1d63b9 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:05:16.637 | INFO | 8412c9a1d36f4040bc48edb73a1d63b9 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 14:05:16.722 | INFO | 8412c9a1d36f4040bc48edb73a1d63b9 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 14:05:16.733 | INFO | 8412c9a1d36f4040bc48edb73a1d63b9 | 64.233.172.74:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 14:05:17.755 | INFO | 893ec8ee0611491dbad33f73f86019ac | 64.233.172.75:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 14:05:18.654 | INFO | 7e3d461244c346fdbd5d6f6de66444b3 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:05:18.660 | INFO | 7e3d461244c346fdbd5d6f6de66444b3 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:05:19.053 | INFO | 7e3d461244c346fdbd5d6f6de66444b3 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 14:05:19.125 | INFO | 7e3d461244c346fdbd5d6f6de66444b3 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 14:05:19.135 | INFO | 7e3d461244c346fdbd5d6f6de66444b3 | 64.233.172.70:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 14:06:53.172 | INFO | cba23290ee994456976f37fc63c9ca97 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:06:53.173 | INFO | cba23290ee994456976f37fc63c9ca97 | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 14:06:53.174 | INFO | cba23290ee994456976f37fc63c9ca97 | 64.233.172.72:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 14:06:53.703 | INFO | 8b923f1ee54f4a9ea4530af5fbeb666f | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:06:53.704 | INFO | 8b923f1ee54f4a9ea4530af5fbeb666f | 64.233.172.73:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 14:06:54.888 | INFO | 42af31ea14324ee59cbace13239aa4e7 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:06:54.890 | INFO | 42af31ea14324ee59cbace13239aa4e7 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:06:55.164 | INFO | 42af31ea14324ee59cbace13239aa4e7 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 14:06:55.234 | INFO | 42af31ea14324ee59cbace13239aa4e7 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 14:06:55.237 | INFO | 42af31ea14324ee59cbace13239aa4e7 | 64.233.172.72:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 14:06:56.334 | INFO | b383a92821194ac48e362942d8e385de | 64.233.172.64:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 14:06:56.999 | INFO | dbf9a04dccd445268da3201bb5ef6af5 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:06:57.004 | INFO | dbf9a04dccd445268da3201bb5ef6af5 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:06:57.345 | INFO | dbf9a04dccd445268da3201bb5ef6af5 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 14:06:57.416 | INFO | dbf9a04dccd445268da3201bb5ef6af5 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 14:06:57.422 | INFO | dbf9a04dccd445268da3201bb5ef6af5 | 64.233.172.64:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 14:07:17.280 | INFO | 783081984a354c93bd79b82ffc78df40 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:07:17.280 | INFO | 783081984a354c93bd79b82ffc78df40 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 14:07:17.281 | INFO | 783081984a354c93bd79b82ffc78df40 | 64.233.172.64:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 14:07:17.815 | INFO | 790955c7a098419cbad948595a448448 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:07:17.818 | INFO | 790955c7a098419cbad948595a448448 | 64.233.172.72:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 14:07:22.930 | INFO | c8e0bc8be0594f05bf9f7c4380485e26 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:07:22.936 | INFO | c8e0bc8be0594f05bf9f7c4380485e26 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:07:23.357 | INFO | c8e0bc8be0594f05bf9f7c4380485e26 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 14:07:23.431 | INFO | c8e0bc8be0594f05bf9f7c4380485e26 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 14:07:23.433 | INFO | c8e0bc8be0594f05bf9f7c4380485e26 | 64.233.172.77:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 14:18:14.474 | INFO | - | Shutting down 2025-06-18 14:18:14.582 | INFO | - | Waiting for application shutdown. 2025-06-18 14:18:14.584 | INFO | - | Application shutdown complete. 2025-06-18 14:18:14.586 | INFO | - | Finished server process [32632] 2025-06-18 14:18:27.164 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 14:18:27.165 | INFO | - | Started server process [11584] 2025-06-18 14:18:27.166 | INFO | - | Waiting for application startup. 2025-06-18 14:18:27.168 | INFO | - | Application startup complete. 2025-06-18 14:18:44.009 | INFO | a32d2bb55d2345fc818bafb638cdead7 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:18:44.010 | INFO | a32d2bb55d2345fc818bafb638cdead7 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 14:18:44.012 | INFO | a32d2bb55d2345fc818bafb638cdead7 | 64.233.172.77:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 14:18:44.591 | INFO | 71c5065d375c4328a1568385df303185 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:18:44.591 | INFO | 71c5065d375c4328a1568385df303185 | 64.233.172.70:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 14:18:46.015 | INFO | 76923f5765b34c86a103d397957707f5 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 14:18:46.465 | INFO | 76923f5765b34c86a103d397957707f5 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:18:46.468 | INFO | 76923f5765b34c86a103d397957707f5 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:18:47.045 | INFO | 76923f5765b34c86a103d397957707f5 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 14:18:47.620 | INFO | 76923f5765b34c86a103d397957707f5 | 64.233.172.78:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 14:18:59.807 | INFO | 2958e4d0e6c64f4c949d578611685358 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:18:59.813 | INFO | 2958e4d0e6c64f4c949d578611685358 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:19:00.440 | INFO | 2958e4d0e6c64f4c949d578611685358 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 14:19:00.923 | INFO | 2958e4d0e6c64f4c949d578611685358 | 64.233.172.70:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 14:19:01.824 | INFO | 2f7ebe9b94ad4290be835cb4c1f6847b | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:19:01.827 | INFO | 2f7ebe9b94ad4290be835cb4c1f6847b | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:19:02.170 | INFO | 2f7ebe9b94ad4290be835cb4c1f6847b | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:19:02.301 | INFO | 2f7ebe9b94ad4290be835cb4c1f6847b | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:19:02.304 | INFO | 2f7ebe9b94ad4290be835cb4c1f6847b | 64.233.172.76:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:19:08.379 | INFO | 0b20a3f0dd0a4fb6918c8e7bb52d89ba | 64.233.172.71:0 - "POST /v1/trip/validate-seat-selection HTTP/1.1" 404 2025-06-18 14:20:10.059 | INFO | 554287b792af40d881ee379b4e426f36 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:20:10.060 | INFO | 554287b792af40d881ee379b4e426f36 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 14:20:10.061 | INFO | 554287b792af40d881ee379b4e426f36 | 64.233.172.75:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 14:20:10.728 | INFO | b3c9643b638e40b69500a74ac84dc2fe | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:20:10.729 | INFO | b3c9643b638e40b69500a74ac84dc2fe | 64.233.172.76:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 14:20:12.380 | INFO | ee9c61727606420caad596609c7ec392 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:20:12.382 | INFO | ee9c61727606420caad596609c7ec392 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:20:13.044 | INFO | ee9c61727606420caad596609c7ec392 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 14:20:13.450 | INFO | ee9c61727606420caad596609c7ec392 | 64.233.172.77:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 14:20:14.780 | INFO | bead9fc57aa74943a1518047af6f5504 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:20:14.786 | INFO | bead9fc57aa74943a1518047af6f5504 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:20:15.307 | INFO | bead9fc57aa74943a1518047af6f5504 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 14:20:15.678 | INFO | bead9fc57aa74943a1518047af6f5504 | 64.233.172.74:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 14:20:16.179 | INFO | b3454c3907644a2393126aa4754f4b44 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:20:16.185 | INFO | b3454c3907644a2393126aa4754f4b44 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:20:16.500 | INFO | b3454c3907644a2393126aa4754f4b44 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:20:16.586 | INFO | b3454c3907644a2393126aa4754f4b44 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:20:16.596 | INFO | b3454c3907644a2393126aa4754f4b44 | 64.233.172.74:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:20:17.842 | INFO | 6293b0c546354b0c86cb055529b63212 | 64.233.172.71:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 500 2025-06-18 14:20:18.638 | INFO | 46c6c23ff99a4166b0da4bd80de48e02 | 64.233.172.75:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 500 2025-06-18 14:23:15.822 | INFO | - | Shutting down 2025-06-18 14:23:15.931 | INFO | - | Waiting for application shutdown. 2025-06-18 14:23:15.933 | INFO | - | Application shutdown complete. 2025-06-18 14:23:15.935 | INFO | - | Finished server process [11584] 2025-06-18 14:23:25.327 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 14:23:25.327 | INFO | - | Started server process [28628] 2025-06-18 14:23:25.327 | INFO | - | Waiting for application startup. 2025-06-18 14:23:25.330 | INFO | - | Application startup complete. 2025-06-18 14:23:44.791 | INFO | 61233d3e29e540caaef83fc105738695 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:23:44.792 | INFO | 61233d3e29e540caaef83fc105738695 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 14:23:44.793 | INFO | 61233d3e29e540caaef83fc105738695 | 64.233.172.76:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 14:23:45.354 | INFO | 52a4874346e84c26b18f308b9471f5da | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:23:45.357 | INFO | 52a4874346e84c26b18f308b9471f5da | 64.233.172.64:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 14:23:46.864 | INFO | b742abc43b2341849444b7ab240e065b | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 14:23:47.691 | INFO | b742abc43b2341849444b7ab240e065b | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:23:47.696 | INFO | b742abc43b2341849444b7ab240e065b | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:23:48.404 | INFO | b742abc43b2341849444b7ab240e065b | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 14:23:48.842 | INFO | b742abc43b2341849444b7ab240e065b | 64.233.172.64:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 14:23:52.471 | INFO | 605a079dc54f4710bbda70eb11241215 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:23:52.476 | INFO | 605a079dc54f4710bbda70eb11241215 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:23:53.196 | INFO | 605a079dc54f4710bbda70eb11241215 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 14:23:53.633 | INFO | 605a079dc54f4710bbda70eb11241215 | 64.233.172.72:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 14:23:54.279 | INFO | 9f2fd6f5f3384fedb9df2a85945f0923 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:23:54.287 | INFO | 9f2fd6f5f3384fedb9df2a85945f0923 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:23:54.864 | INFO | 9f2fd6f5f3384fedb9df2a85945f0923 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:23:59.877 | INFO | 9f2fd6f5f3384fedb9df2a85945f0923 | 64.233.172.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:24:01.750 | INFO | 162e1241323044b8a5342e252bf8dd54 | 64.233.172.71:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:24:02.746 | INFO | 5fc952e671fe406cb4b89d4cccea1cf0 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a10', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:24:02.754 | INFO | 5fc952e671fe406cb4b89d4cccea1cf0 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:24:03.595 | INFO | 5fc952e671fe406cb4b89d4cccea1cf0 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:24:03.795 | INFO | 5fc952e671fe406cb4b89d4cccea1cf0 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:24:03.807 | INFO | 5fc952e671fe406cb4b89d4cccea1cf0 | 64.233.172.72:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:24:06.336 | INFO | b2d54bd9cc9e400390f53bce7c5b7a35 | 64.233.172.77:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:24:11.463 | INFO | 926573186fb74c44b2711eb810a04c92 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a10', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:24:11.468 | INFO | 926573186fb74c44b2711eb810a04c92 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:24:13.438 | INFO | 926573186fb74c44b2711eb810a04c92 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:24:13.583 | INFO | 926573186fb74c44b2711eb810a04c92 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:24:13.595 | INFO | 926573186fb74c44b2711eb810a04c92 | 64.233.172.78:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:24:15.147 | INFO | 622e5cf0ca7945428bd679c4bab13ae1 | 64.233.172.72:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:24:17.029 | INFO | afdc3ce13ee84db492b9da5be7bb80cf | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a10', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:24:17.032 | INFO | afdc3ce13ee84db492b9da5be7bb80cf | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:24:17.578 | INFO | afdc3ce13ee84db492b9da5be7bb80cf | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:24:18.588 | INFO | afdc3ce13ee84db492b9da5be7bb80cf | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:24:18.596 | INFO | afdc3ce13ee84db492b9da5be7bb80cf | 64.233.172.74:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:24:19.395 | INFO | 0000c1500ac34c34995641b09be05677 | 64.233.172.64:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:24:21.174 | INFO | 60e1773572cd41c2b59d3357e1881630 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a10', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:24:21.181 | INFO | 60e1773572cd41c2b59d3357e1881630 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:24:21.933 | INFO | 60e1773572cd41c2b59d3357e1881630 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:24:22.703 | INFO | 60e1773572cd41c2b59d3357e1881630 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:24:22.707 | INFO | 60e1773572cd41c2b59d3357e1881630 | 64.233.172.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:24:24.561 | INFO | 8a9bce21363e4f76a5392ac36416836f | 64.233.172.75:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:24:27.090 | INFO | 4752281131424700b6877d9750d223c9 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a10', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:24:27.099 | INFO | 4752281131424700b6877d9750d223c9 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:24:27.479 | INFO | 4752281131424700b6877d9750d223c9 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:24:27.566 | INFO | 4752281131424700b6877d9750d223c9 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:24:27.574 | INFO | 4752281131424700b6877d9750d223c9 | 64.233.172.74:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:24:28.458 | INFO | d02df88993734e57b519668fdd68f246 | 64.233.172.70:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:24:29.096 | INFO | 7aa9bfa6d0ee418499908b0b10ff8d57 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a10', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:24:29.104 | INFO | 7aa9bfa6d0ee418499908b0b10ff8d57 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:24:29.623 | INFO | 7aa9bfa6d0ee418499908b0b10ff8d57 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:24:29.785 | INFO | 7aa9bfa6d0ee418499908b0b10ff8d57 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:24:29.788 | INFO | 7aa9bfa6d0ee418499908b0b10ff8d57 | 64.233.172.70:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:24:31.179 | INFO | 34fb998947eb4e099118189ae96fe8f1 | 64.233.172.77:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:24:32.694 | INFO | b921e2866ff446e9b5a783ac5853684f | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a10', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:24:32.696 | INFO | b921e2866ff446e9b5a783ac5853684f | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:24:33.209 | INFO | b921e2866ff446e9b5a783ac5853684f | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:24:33.363 | INFO | b921e2866ff446e9b5a783ac5853684f | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:24:33.371 | INFO | b921e2866ff446e9b5a783ac5853684f | 64.233.172.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:24:34.627 | INFO | 1297020af5c24d289af0ff7c3d6a6631 | 64.233.172.77:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:24:35.691 | INFO | 9a6ae3bb7e09487b8e49c7b5d06d02c3 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a10', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:24:35.700 | INFO | 9a6ae3bb7e09487b8e49c7b5d06d02c3 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:24:37.251 | INFO | 9a6ae3bb7e09487b8e49c7b5d06d02c3 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:24:38.273 | INFO | 9a6ae3bb7e09487b8e49c7b5d06d02c3 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:24:38.278 | INFO | 9a6ae3bb7e09487b8e49c7b5d06d02c3 | 64.233.172.64:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:24:41.244 | INFO | 80c6333ac71c4ecd8067fcc4bb0e9ac0 | 64.233.172.76:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:24:42.377 | INFO | 2f8df24844e8400e87768e1b41f8cf6e | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a10', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:24:42.385 | INFO | 2f8df24844e8400e87768e1b41f8cf6e | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:24:42.851 | INFO | 2f8df24844e8400e87768e1b41f8cf6e | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:24:43.743 | INFO | 2f8df24844e8400e87768e1b41f8cf6e | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:24:43.749 | INFO | 2f8df24844e8400e87768e1b41f8cf6e | 64.233.172.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:24:45.180 | INFO | b3b00782d0dc43879fdaedc8d11bf2dc | 64.233.172.73:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:24:47.422 | INFO | 8c90c10971fd461f851c472fd6562e38 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a10', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:24:47.431 | INFO | 8c90c10971fd461f851c472fd6562e38 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:24:47.811 | INFO | 8c90c10971fd461f851c472fd6562e38 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:24:47.921 | INFO | 8c90c10971fd461f851c472fd6562e38 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:24:47.929 | INFO | 8c90c10971fd461f851c472fd6562e38 | 64.233.172.78:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:24:50.267 | INFO | 310494cdedef495fb77ae8ae97376382 | 64.233.172.71:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:24:51.689 | INFO | 02d954a3f81941519aee12c55f9e07d5 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a10', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:24:51.698 | INFO | 02d954a3f81941519aee12c55f9e07d5 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:24:53.155 | INFO | 02d954a3f81941519aee12c55f9e07d5 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:24:53.246 | INFO | 02d954a3f81941519aee12c55f9e07d5 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:24:53.253 | INFO | 02d954a3f81941519aee12c55f9e07d5 | 64.233.172.76:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:26:17.443 | INFO | 195c9e9d2115402cabb9e864fd621d3c | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:26:17.444 | INFO | 195c9e9d2115402cabb9e864fd621d3c | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 14:26:17.446 | INFO | 195c9e9d2115402cabb9e864fd621d3c | 64.233.172.72:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 14:26:18.221 | INFO | 4da832fd4d3c4d228e40553604555841 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:26:18.223 | INFO | 4da832fd4d3c4d228e40553604555841 | 64.233.172.76:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 14:26:23.270 | INFO | 490b6884112a44e49212dcb636ab2b03 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:26:23.274 | INFO | 490b6884112a44e49212dcb636ab2b03 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:26:24.333 | INFO | 490b6884112a44e49212dcb636ab2b03 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 14:27:40.235 | INFO | 7ac2a6489d3a4e68a0b92d2c29d355f1 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:27:40.237 | INFO | 7ac2a6489d3a4e68a0b92d2c29d355f1 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 14:27:40.239 | INFO | 7ac2a6489d3a4e68a0b92d2c29d355f1 | 64.233.172.78:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 14:27:40.802 | INFO | 0c78c9fba1094fbc893ec9d9dc45f963 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:27:40.804 | INFO | 0c78c9fba1094fbc893ec9d9dc45f963 | 64.233.172.72:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 14:27:42.339 | INFO | 9c58121354264f3aa299bf5a72fa84d8 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:27:42.341 | INFO | 9c58121354264f3aa299bf5a72fa84d8 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:27:42.961 | INFO | 9c58121354264f3aa299bf5a72fa84d8 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 14:27:43.575 | INFO | 9c58121354264f3aa299bf5a72fa84d8 | 64.233.172.78:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 14:27:50.877 | INFO | 1c4ab6902e614986b4c7d92c9d61abab | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:27:50.883 | INFO | 1c4ab6902e614986b4c7d92c9d61abab | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:27:51.805 | INFO | 1c4ab6902e614986b4c7d92c9d61abab | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 14:27:52.778 | INFO | 1c4ab6902e614986b4c7d92c9d61abab | 64.233.172.72:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 14:27:53.535 | INFO | ae2659ad7d6e4268895026d842689d9d | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:27:53.541 | INFO | ae2659ad7d6e4268895026d842689d9d | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:27:53.992 | INFO | ae2659ad7d6e4268895026d842689d9d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:27:54.218 | INFO | ae2659ad7d6e4268895026d842689d9d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:27:54.225 | INFO | ae2659ad7d6e4268895026d842689d9d | 64.233.172.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:31:22.938 | INFO | f62c0ad10bf84fd3a7dc81ebbed3ccca | 64.233.172.77:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:31:23.510 | INFO | 52a4df832b2f4446832d94dd202c2b02 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:31:23.513 | INFO | 52a4df832b2f4446832d94dd202c2b02 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:31:23.839 | INFO | 52a4df832b2f4446832d94dd202c2b02 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:31:24.030 | INFO | 52a4df832b2f4446832d94dd202c2b02 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:31:24.035 | INFO | 52a4df832b2f4446832d94dd202c2b02 | 64.233.172.77:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:31:24.980 | INFO | b3a11477bd524fef97389cd9db68730c | 64.233.172.71:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:31:25.791 | INFO | aefdba2acd204e5b87d0d4768eafa9f6 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:31:25.800 | INFO | aefdba2acd204e5b87d0d4768eafa9f6 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:31:26.115 | INFO | aefdba2acd204e5b87d0d4768eafa9f6 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:31:26.203 | INFO | aefdba2acd204e5b87d0d4768eafa9f6 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:31:26.211 | INFO | aefdba2acd204e5b87d0d4768eafa9f6 | 64.233.172.70:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:31:27.002 | INFO | 03cd5b86560944e99805747f417a1ea2 | 64.233.172.76:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:31:27.810 | INFO | 7f2a643c47c74bd4b55ac2805cd28c7d | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:31:27.816 | INFO | 7f2a643c47c74bd4b55ac2805cd28c7d | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:31:29.105 | INFO | 7f2a643c47c74bd4b55ac2805cd28c7d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:31:29.245 | INFO | 7f2a643c47c74bd4b55ac2805cd28c7d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:31:29.256 | INFO | 7f2a643c47c74bd4b55ac2805cd28c7d | 64.233.172.75:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:31:30.091 | INFO | 80daf5b20acd404bbdf087c36a5b48c9 | 64.233.172.71:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:31:30.911 | INFO | 4fd3b88bf2f34e758ee999bf393c1e92 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:31:30.920 | INFO | 4fd3b88bf2f34e758ee999bf393c1e92 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:31:31.280 | INFO | 4fd3b88bf2f34e758ee999bf393c1e92 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:31:31.372 | INFO | 4fd3b88bf2f34e758ee999bf393c1e92 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:31:31.390 | INFO | 4fd3b88bf2f34e758ee999bf393c1e92 | 64.233.172.77:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:31:32.222 | INFO | 5eee64e77f4b4ab780b99380698f313a | 64.233.172.70:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:31:33.012 | INFO | e3d79c4a8480490a981d091e8d26ce9d | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:31:33.014 | INFO | e3d79c4a8480490a981d091e8d26ce9d | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:31:33.648 | INFO | e3d79c4a8480490a981d091e8d26ce9d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:31:33.783 | INFO | e3d79c4a8480490a981d091e8d26ce9d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:31:33.791 | INFO | e3d79c4a8480490a981d091e8d26ce9d | 64.233.172.73:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:31:34.473 | INFO | 214e7a2c26b54d578681bc23b224267c | 64.233.172.73:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:31:35.271 | INFO | 6b367590fb9a426dba65ac58cf230570 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:31:35.273 | INFO | 6b367590fb9a426dba65ac58cf230570 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:31:35.574 | INFO | 6b367590fb9a426dba65ac58cf230570 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:31:35.670 | INFO | 6b367590fb9a426dba65ac58cf230570 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:31:35.674 | INFO | 6b367590fb9a426dba65ac58cf230570 | 64.233.172.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:31:36.492 | INFO | 1bc829130fd14f548d93766ce487eedc | 64.233.172.76:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:31:37.244 | INFO | edfd35fc707f454abc277bac4c4bad01 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:31:37.255 | INFO | edfd35fc707f454abc277bac4c4bad01 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:31:37.878 | INFO | edfd35fc707f454abc277bac4c4bad01 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:31:38.045 | INFO | edfd35fc707f454abc277bac4c4bad01 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:31:38.050 | INFO | edfd35fc707f454abc277bac4c4bad01 | 64.233.172.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:31:38.844 | INFO | 1ec3cd26e4854580ad81c651ac43cad1 | 64.233.172.71:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:31:39.418 | INFO | 9b81e2b40a2f4618a9568a12ab3fdd20 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:31:39.421 | INFO | 9b81e2b40a2f4618a9568a12ab3fdd20 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:31:39.689 | INFO | 9b81e2b40a2f4618a9568a12ab3fdd20 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:31:39.787 | INFO | 9b81e2b40a2f4618a9568a12ab3fdd20 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:31:39.795 | INFO | 9b81e2b40a2f4618a9568a12ab3fdd20 | 64.233.172.76:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:31:40.501 | INFO | 02830d9b474b480eb9cb4a718c5edcba | 64.233.172.77:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:31:41.305 | INFO | 617eb25b41864f869bd55a9dc669c05a | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:31:41.313 | INFO | 617eb25b41864f869bd55a9dc669c05a | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:31:41.743 | INFO | 617eb25b41864f869bd55a9dc669c05a | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:31:41.954 | INFO | 617eb25b41864f869bd55a9dc669c05a | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:31:41.970 | INFO | 617eb25b41864f869bd55a9dc669c05a | 64.233.172.77:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:31:42.767 | INFO | bbc180603a5c4edba98847194dbba21e | 64.233.172.78:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:31:43.382 | INFO | 9009083e84364337bcea5e94d5995705 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:31:43.414 | INFO | 9009083e84364337bcea5e94d5995705 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:31:43.673 | INFO | 9009083e84364337bcea5e94d5995705 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:31:43.735 | INFO | 9009083e84364337bcea5e94d5995705 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:31:43.739 | INFO | 9009083e84364337bcea5e94d5995705 | 64.233.172.78:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:31:44.439 | INFO | 2bf994b0e8914ff397b427e6de18dff1 | 64.233.172.76:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:31:45.232 | INFO | 1cce23c23fb04b7d9e6f70fd0723e7d0 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:31:45.241 | INFO | 1cce23c23fb04b7d9e6f70fd0723e7d0 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:31:46.034 | INFO | 1cce23c23fb04b7d9e6f70fd0723e7d0 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:31:46.241 | INFO | 1cce23c23fb04b7d9e6f70fd0723e7d0 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:31:46.247 | INFO | 1cce23c23fb04b7d9e6f70fd0723e7d0 | 64.233.172.78:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:31:47.044 | INFO | f0c2e5eb0ed549fda5b5c05903162c7e | 64.233.172.77:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:31:47.903 | INFO | 3ec32188d655404c878acf5c3647cf61 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:31:47.910 | INFO | 3ec32188d655404c878acf5c3647cf61 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:31:48.310 | INFO | 3ec32188d655404c878acf5c3647cf61 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:31:48.442 | INFO | 3ec32188d655404c878acf5c3647cf61 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:31:48.449 | INFO | 3ec32188d655404c878acf5c3647cf61 | 64.233.172.72:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:31:49.304 | INFO | 153c42d4f8494970bec59525e1821f6c | 64.233.172.74:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:31:49.877 | INFO | 0a0d4fc11a9148d5bcb146ae65b78463 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:31:49.882 | INFO | 0a0d4fc11a9148d5bcb146ae65b78463 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:31:50.237 | INFO | 0a0d4fc11a9148d5bcb146ae65b78463 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:31:50.330 | INFO | 0a0d4fc11a9148d5bcb146ae65b78463 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:31:50.349 | INFO | 0a0d4fc11a9148d5bcb146ae65b78463 | 64.233.172.77:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:31:51.146 | INFO | d46b64ce050a45bca860ad3ed557f4b6 | 64.233.172.71:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:31:51.872 | INFO | 4222636b738644a684c1cf9532ef1e61 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:31:51.879 | INFO | 4222636b738644a684c1cf9532ef1e61 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:31:52.217 | INFO | 4222636b738644a684c1cf9532ef1e61 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:31:52.368 | INFO | 4222636b738644a684c1cf9532ef1e61 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:31:52.370 | INFO | 4222636b738644a684c1cf9532ef1e61 | 64.233.172.76:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:31:53.111 | INFO | c6757fd7530346d6918719443633b072 | 64.233.172.75:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:31:53.671 | INFO | c3e11d1c363e48ffa69be0673cf926ba | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:31:53.674 | INFO | c3e11d1c363e48ffa69be0673cf926ba | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:31:53.953 | INFO | c3e11d1c363e48ffa69be0673cf926ba | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:31:54.027 | INFO | c3e11d1c363e48ffa69be0673cf926ba | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:31:54.029 | INFO | c3e11d1c363e48ffa69be0673cf926ba | 64.233.172.74:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:31:54.583 | INFO | 1410a415b91f422d927e5d64370d9e7d | 64.233.172.74:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:31:55.459 | INFO | dcd7058511824a4298b497ffa205d0f3 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:31:55.465 | INFO | dcd7058511824a4298b497ffa205d0f3 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:31:55.877 | INFO | dcd7058511824a4298b497ffa205d0f3 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:31:56.045 | INFO | dcd7058511824a4298b497ffa205d0f3 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:31:56.047 | INFO | dcd7058511824a4298b497ffa205d0f3 | 64.233.172.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:31:56.942 | INFO | 6195b0528c7f4f7dbadf801872677f91 | 64.233.172.73:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:31:57.508 | INFO | 1ea758a380c74b40b51e82fd915d031a | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:31:57.516 | INFO | 1ea758a380c74b40b51e82fd915d031a | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:31:58.013 | INFO | 1ea758a380c74b40b51e82fd915d031a | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:31:58.195 | INFO | 1ea758a380c74b40b51e82fd915d031a | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:31:58.200 | INFO | 1ea758a380c74b40b51e82fd915d031a | 64.233.172.73:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:31:58.996 | INFO | a4888bc7521045a0bf30e0ffcb72c539 | 64.233.172.75:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:31:59.757 | INFO | 0fa07c89c42a465a991f29d57f59e687 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:31:59.764 | INFO | 0fa07c89c42a465a991f29d57f59e687 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:32:00.191 | INFO | 0fa07c89c42a465a991f29d57f59e687 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:32:00.268 | INFO | 0fa07c89c42a465a991f29d57f59e687 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:32:00.275 | INFO | 0fa07c89c42a465a991f29d57f59e687 | 64.233.172.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:32:00.986 | INFO | 26af38b943b74dae80e18a0c50f70b04 | 64.233.172.73:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:32:02.261 | INFO | b90dbf9d057a4692bf3d7a119c1434dd | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:32:02.264 | INFO | b90dbf9d057a4692bf3d7a119c1434dd | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:32:03.032 | INFO | b90dbf9d057a4692bf3d7a119c1434dd | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:32:03.107 | INFO | b90dbf9d057a4692bf3d7a119c1434dd | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:32:03.109 | INFO | b90dbf9d057a4692bf3d7a119c1434dd | 64.233.172.75:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:32:04.016 | INFO | c0ee8506af5c4d1883ee0a7eab6a58a1 | 64.233.172.64:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:32:04.876 | INFO | 4b1d6548af5d461f848fe5c8276b2228 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:32:04.878 | INFO | 4b1d6548af5d461f848fe5c8276b2228 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:32:05.487 | INFO | 4b1d6548af5d461f848fe5c8276b2228 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:32:05.569 | INFO | 4b1d6548af5d461f848fe5c8276b2228 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:32:05.579 | INFO | 4b1d6548af5d461f848fe5c8276b2228 | 64.233.172.77:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:32:06.504 | INFO | 5b9329ebad8a444b866cbf6bcc94bdbc | 64.233.172.78:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:32:07.011 | INFO | 1e12d9c01b49457ab964ea36d933aba7 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:32:07.014 | INFO | 1e12d9c01b49457ab964ea36d933aba7 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:32:07.344 | INFO | 1e12d9c01b49457ab964ea36d933aba7 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:32:07.421 | INFO | 1e12d9c01b49457ab964ea36d933aba7 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:32:07.427 | INFO | 1e12d9c01b49457ab964ea36d933aba7 | 64.233.172.78:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:32:08.253 | INFO | 6e59a3900aa4483293efb0b2f399ab45 | 64.233.172.74:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:32:08.851 | INFO | 1ec3ea3b228748f2b09dfc5d15e12652 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:32:08.853 | INFO | 1ec3ea3b228748f2b09dfc5d15e12652 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:32:09.189 | INFO | 1ec3ea3b228748f2b09dfc5d15e12652 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:32:09.272 | INFO | 1ec3ea3b228748f2b09dfc5d15e12652 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:32:09.278 | INFO | 1ec3ea3b228748f2b09dfc5d15e12652 | 64.233.172.78:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:32:09.838 | INFO | 839a547ceef14d46accb46f72700dbee | 64.233.172.78:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:32:10.631 | INFO | 89856311ed8c4148a00dc9ecb3795c9e | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:32:10.638 | INFO | 89856311ed8c4148a00dc9ecb3795c9e | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:32:11.040 | INFO | 89856311ed8c4148a00dc9ecb3795c9e | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:32:11.171 | INFO | 89856311ed8c4148a00dc9ecb3795c9e | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:32:11.173 | INFO | 89856311ed8c4148a00dc9ecb3795c9e | 64.233.172.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:32:11.952 | INFO | 94fe7e1f00d4429a92b7372b0f5a8b10 | 64.233.172.64:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:32:12.682 | INFO | 68188e885c294a30a5ed2433d9218905 | Received parameters: {'all_seat_data': [{'bookStatus': 1.0, 'id': 233001317.0, 'chair': 'A03', 'rowNo': 2.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001338.0, 'chair': 'B17', 'rowNo': 13.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001339.0, 'chair': 'A01', 'rowNo': 1.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001340.0, 'chair': 'A02', 'rowNo': 1.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001342.0, 'chair': 'A06', 'rowNo': 3.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001343.0, 'chair': 'A09', 'rowNo': 4.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001344.0, 'chair': 'A12', 'rowNo': 5.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001345.0, 'chair': 'A15', 'rowNo': 6.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001346.0, 'chair': 'A16', 'rowNo': 6.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001347.0, 'chair': 'A17', 'rowNo': 6.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001348.0, 'chair': 'A14', 'rowNo': 5.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001349.0, 'chair': 'A11', 'rowNo': 4.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001350.0, 'chair': 'A08', 'rowNo': 3.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001351.0, 'chair': 'A05', 'rowNo': 2.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001352.0, 'chair': 'A04', 'rowNo': 2.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 1.0, 'id': 233001353.0, 'chair': 'A07', 'rowNo': 3.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001354.0, 'chair': 'A10', 'rowNo': 4.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001355.0, 'chair': 'A13', 'rowNo': 5.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 1.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001356.0, 'chair': 'B01', 'rowNo': 8.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001357.0, 'chair': 'B02', 'rowNo': 8.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001358.0, 'chair': 'B03', 'rowNo': 9.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001359.0, 'chair': 'B04', 'rowNo': 9.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001360.0, 'chair': 'B05', 'rowNo': 9.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001361.0, 'chair': 'B06', 'rowNo': 10.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001362.0, 'chair': 'B07', 'rowNo': 10.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001363.0, 'chair': 'B08', 'rowNo': 10.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001364.0, 'chair': 'B09', 'rowNo': 11.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001365.0, 'chair': 'B10', 'rowNo': 11.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001366.0, 'chair': 'B11', 'rowNo': 11.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001367.0, 'chair': 'B12', 'rowNo': 12.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001368.0, 'chair': 'B13', 'rowNo': 12.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001369.0, 'chair': 'B14', 'rowNo': 12.0, 'columnNo': 5.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001370.0, 'chair': 'B15', 'rowNo': 13.0, 'columnNo': 1.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}, {'bookStatus': 0.0, 'id': 233001371.0, 'chair': 'B16', 'rowNo': 13.0, 'columnNo': 3.0, 'discount': 0.0, 'floorNo': 2.0, 'inSelect': 0.0, 'lockChair': 0.0, 'lock': False, 'originPrice': 0.0, 'price': 0.0, 'promotion': None}], 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_seat': False, 'is_valid_trip': True, 'seat': 'a11', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:32:12.685 | INFO | 68188e885c294a30a5ed2433d9218905 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:32:13.037 | INFO | 68188e885c294a30a5ed2433d9218905 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:32:13.122 | INFO | 68188e885c294a30a5ed2433d9218905 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:32:13.129 | INFO | 68188e885c294a30a5ed2433d9218905 | 64.233.172.76:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:36:37.674 | INFO | - | Shutting down 2025-06-18 14:36:37.789 | INFO | - | Waiting for application shutdown. 2025-06-18 14:36:37.793 | INFO | - | Application shutdown complete. 2025-06-18 14:36:37.796 | INFO | - | Finished server process [28628] 2025-06-18 14:36:47.584 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 14:36:47.584 | INFO | - | Started server process [2024] 2025-06-18 14:36:47.585 | INFO | - | Waiting for application startup. 2025-06-18 14:36:47.588 | INFO | - | Application startup complete. 2025-06-18 14:37:22.137 | INFO | 73e5e1ddd48f4a829938dda55c1ee5f5 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:37:22.137 | INFO | 73e5e1ddd48f4a829938dda55c1ee5f5 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 14:37:22.139 | INFO | 73e5e1ddd48f4a829938dda55c1ee5f5 | 64.233.172.77:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 14:37:22.693 | INFO | 14f4c66b169041a0b9f9fd1e7e920421 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:37:22.693 | INFO | 14f4c66b169041a0b9f9fd1e7e920421 | 64.233.172.71:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 14:37:24.236 | INFO | dc5c226d03ca41e2b44870152cb22788 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 14:37:24.838 | INFO | dc5c226d03ca41e2b44870152cb22788 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:37:24.844 | INFO | dc5c226d03ca41e2b44870152cb22788 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:37:25.645 | INFO | dc5c226d03ca41e2b44870152cb22788 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 14:37:26.194 | INFO | dc5c226d03ca41e2b44870152cb22788 | 64.233.172.64:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 14:37:27.704 | INFO | 66aa31abe9da431399c13aad3cda7b1d | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:37:27.710 | INFO | 66aa31abe9da431399c13aad3cda7b1d | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:37:28.354 | INFO | 66aa31abe9da431399c13aad3cda7b1d | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 14:37:28.765 | INFO | 66aa31abe9da431399c13aad3cda7b1d | 64.233.172.70:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 14:37:29.483 | INFO | bee2e9a126d5494488b5007abb24f08b | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:37:29.489 | INFO | bee2e9a126d5494488b5007abb24f08b | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:37:29.876 | INFO | bee2e9a126d5494488b5007abb24f08b | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:37:30.026 | INFO | bee2e9a126d5494488b5007abb24f08b | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:37:30.032 | INFO | bee2e9a126d5494488b5007abb24f08b | 64.233.172.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:37:31.415 | INFO | 3986f57256194b0b9d43e6c11679ff4e | 64.233.172.78:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 500 2025-06-18 14:37:32.162 | INFO | 2df2e1f8be37425ba5ad4060ac491e8d | 64.233.172.77:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 500 2025-06-18 14:38:55.829 | INFO | - | Shutting down 2025-06-18 14:38:55.935 | INFO | - | Waiting for application shutdown. 2025-06-18 14:38:55.939 | INFO | - | Application shutdown complete. 2025-06-18 14:38:55.941 | INFO | - | Finished server process [2024] 2025-06-18 14:39:05.512 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 14:39:05.513 | INFO | - | Started server process [6672] 2025-06-18 14:39:05.513 | INFO | - | Waiting for application startup. 2025-06-18 14:39:05.515 | INFO | - | Application startup complete. 2025-06-18 14:40:31.456 | INFO | be56dff69cdc4c4d9804c39e46284e1e | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:40:31.457 | INFO | be56dff69cdc4c4d9804c39e46284e1e | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 14:40:31.458 | INFO | be56dff69cdc4c4d9804c39e46284e1e | 64.233.172.76:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 14:40:32.185 | INFO | 6eac3936a73b46a6a32954d8051511d0 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:40:32.185 | INFO | 6eac3936a73b46a6a32954d8051511d0 | 64.233.172.70:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 14:40:33.690 | INFO | e0988f1b01fa493e8e158f70ddf53e53 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 14:40:33.987 | INFO | e0988f1b01fa493e8e158f70ddf53e53 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:40:33.988 | INFO | e0988f1b01fa493e8e158f70ddf53e53 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:40:34.613 | INFO | e0988f1b01fa493e8e158f70ddf53e53 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 14:40:35.145 | INFO | e0988f1b01fa493e8e158f70ddf53e53 | 64.233.172.78:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 14:40:36.586 | INFO | fa048509b3ae43b7a7a25f45812efb01 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:40:36.590 | INFO | fa048509b3ae43b7a7a25f45812efb01 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:40:37.300 | INFO | fa048509b3ae43b7a7a25f45812efb01 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 14:40:37.768 | INFO | fa048509b3ae43b7a7a25f45812efb01 | 64.233.172.72:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 14:40:38.547 | INFO | 79c65dcf62944061a5d5291669abd837 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:40:38.552 | INFO | 79c65dcf62944061a5d5291669abd837 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:40:39.139 | INFO | 79c65dcf62944061a5d5291669abd837 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:40:39.270 | INFO | 79c65dcf62944061a5d5291669abd837 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:40:39.283 | INFO | 79c65dcf62944061a5d5291669abd837 | 64.233.172.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:40:40.602 | INFO | 05a30c6fdab2424d957473f9eb7b6277 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:40:40.885 | INFO | 05a30c6fdab2424d957473f9eb7b6277 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:40:40.979 | INFO | 05a30c6fdab2424d957473f9eb7b6277 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:40:40.982 | INFO | 05a30c6fdab2424d957473f9eb7b6277 | 64.233.172.76:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:40:41.766 | INFO | d5e666806083405285952f0b4be7de36 | 64.233.172.71:0 - "POST /api/v1/user/info HTTP/1.1" 500 2025-06-18 14:41:23.293 | INFO | - | Shutting down 2025-06-18 14:41:23.395 | INFO | - | Waiting for application shutdown. 2025-06-18 14:41:23.398 | INFO | - | Application shutdown complete. 2025-06-18 14:41:23.400 | INFO | - | Finished server process [6672] 2025-06-18 14:41:33.256 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 14:41:33.256 | INFO | - | Started server process [3696] 2025-06-18 14:41:33.257 | INFO | - | Waiting for application startup. 2025-06-18 14:41:33.259 | INFO | - | Application startup complete. 2025-06-18 14:43:46.351 | INFO | c4e7c922d5be407c8efd2b642066ba6d | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:43:46.352 | INFO | c4e7c922d5be407c8efd2b642066ba6d | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 14:43:46.353 | INFO | c4e7c922d5be407c8efd2b642066ba6d | 64.233.172.71:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 14:43:46.954 | INFO | 9333b5bc1d9446ee8199f373f199e332 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:43:46.956 | INFO | 9333b5bc1d9446ee8199f373f199e332 | 64.233.172.75:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 14:43:48.840 | INFO | e1c4389cb6844155898a18ec26341ce0 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 14:43:49.338 | INFO | e1c4389cb6844155898a18ec26341ce0 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:43:49.339 | INFO | e1c4389cb6844155898a18ec26341ce0 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:43:49.920 | INFO | e1c4389cb6844155898a18ec26341ce0 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 14:43:51.302 | INFO | e1c4389cb6844155898a18ec26341ce0 | 64.233.172.73:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 14:43:52.697 | INFO | 5c0b08d843ec449bb113cba5de4e17cd | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:43:52.703 | INFO | 5c0b08d843ec449bb113cba5de4e17cd | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:43:53.445 | INFO | 5c0b08d843ec449bb113cba5de4e17cd | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 14:43:58.930 | INFO | 5c0b08d843ec449bb113cba5de4e17cd | 64.233.172.71:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 14:43:59.741 | INFO | 3837d1029bdf40f699e8842a254d8dd5 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:43:59.743 | INFO | 3837d1029bdf40f699e8842a254d8dd5 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:44:00.040 | INFO | 3837d1029bdf40f699e8842a254d8dd5 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:44:00.173 | INFO | 3837d1029bdf40f699e8842a254d8dd5 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:44:00.178 | INFO | 3837d1029bdf40f699e8842a254d8dd5 | 64.233.172.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:44:02.052 | INFO | c3f611da00164364b3073a049099720d | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:44:02.500 | INFO | c3f611da00164364b3073a049099720d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:44:02.702 | INFO | c3f611da00164364b3073a049099720d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:44:02.708 | INFO | c3f611da00164364b3073a049099720d | 64.233.172.73:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:44:03.341 | INFO | 501e8a2b8d0844b9b6f7cefb704fabc5 | 64.233.172.73:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-18 14:45:22.207 | INFO | - | Shutting down 2025-06-18 14:45:22.315 | INFO | - | Waiting for application shutdown. 2025-06-18 14:45:22.316 | INFO | - | Application shutdown complete. 2025-06-18 14:45:22.322 | INFO | - | Finished server process [3696] 2025-06-18 14:45:32.432 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 14:45:32.433 | INFO | - | Started server process [24988] 2025-06-18 14:45:32.433 | INFO | - | Waiting for application startup. 2025-06-18 14:45:32.435 | INFO | - | Application startup complete. 2025-06-18 14:45:42.067 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 14:45:42.068 | INFO | - | Started server process [19124] 2025-06-18 14:45:42.068 | INFO | - | Waiting for application startup. 2025-06-18 14:45:42.069 | INFO | - | Application startup complete. 2025-06-18 14:46:35.083 | INFO | 4c073f7932324cd2a32566f6c0dd2565 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:46:35.084 | INFO | 4c073f7932324cd2a32566f6c0dd2565 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 14:46:35.084 | INFO | 4c073f7932324cd2a32566f6c0dd2565 | 64.233.172.71:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 14:46:35.658 | INFO | cd0a6237ae064686b9be0a76655dcd86 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:46:35.660 | INFO | cd0a6237ae064686b9be0a76655dcd86 | 64.233.172.72:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 14:46:37.391 | INFO | 3ac84e8f6d6a4490b410c46edd376a0f | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 14:46:37.977 | INFO | 3ac84e8f6d6a4490b410c46edd376a0f | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:46:37.980 | INFO | 3ac84e8f6d6a4490b410c46edd376a0f | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:46:38.836 | INFO | 3ac84e8f6d6a4490b410c46edd376a0f | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 14:46:39.636 | INFO | 3ac84e8f6d6a4490b410c46edd376a0f | 64.233.172.75:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 14:46:40.989 | INFO | 91b830f39350480f9517818a9887ef60 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:46:40.991 | INFO | 91b830f39350480f9517818a9887ef60 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:46:41.571 | INFO | 91b830f39350480f9517818a9887ef60 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 14:46:42.112 | INFO | 91b830f39350480f9517818a9887ef60 | 64.233.172.74:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 14:46:42.712 | INFO | f36e13785a3f443494a06bda95e75a9a | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:46:42.713 | INFO | f36e13785a3f443494a06bda95e75a9a | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:46:43.072 | INFO | f36e13785a3f443494a06bda95e75a9a | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:46:43.266 | INFO | f36e13785a3f443494a06bda95e75a9a | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:46:43.269 | INFO | f36e13785a3f443494a06bda95e75a9a | 64.233.172.72:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:46:44.314 | INFO | d80c65d8ba4d4c16b7fc3809d5a88aee | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:46:44.739 | INFO | d80c65d8ba4d4c16b7fc3809d5a88aee | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:46:44.836 | INFO | d80c65d8ba4d4c16b7fc3809d5a88aee | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:46:44.838 | INFO | d80c65d8ba4d4c16b7fc3809d5a88aee | 64.233.172.76:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:46:45.344 | INFO | d497142386694c88a80ff84225582e29 | 64.233.172.76:0 - "POST /api/v1/user/info HTTP/1.1" 500 2025-06-18 14:46:46.079 | INFO | a0b4e7eaec1d4060824fbb0561959c83 | 64.233.172.77:0 - "POST /api/v1/user/info HTTP/1.1" 500 2025-06-18 14:48:37.373 | INFO | - | Shutting down 2025-06-18 14:48:37.479 | INFO | - | Waiting for application shutdown. 2025-06-18 14:48:37.481 | INFO | - | Application shutdown complete. 2025-06-18 14:48:37.483 | INFO | - | Finished server process [19124] 2025-06-18 14:48:47.237 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 14:48:47.238 | INFO | - | Started server process [21408] 2025-06-18 14:48:47.238 | INFO | - | Waiting for application startup. 2025-06-18 14:48:47.240 | INFO | - | Application startup complete. 2025-06-18 14:49:16.976 | INFO | dfe2b512f39d48f2b251905a796280a0 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:49:16.976 | INFO | dfe2b512f39d48f2b251905a796280a0 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 14:49:16.978 | INFO | dfe2b512f39d48f2b251905a796280a0 | 64.233.172.71:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 14:49:17.629 | INFO | 70ba4e84ed8a43c2932cc63e95218a0a | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 14:49:17.632 | INFO | 70ba4e84ed8a43c2932cc63e95218a0a | 64.233.172.76:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 14:49:18.844 | INFO | 284797d2b63342baa6c3688763717a49 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 14:49:19.312 | INFO | 284797d2b63342baa6c3688763717a49 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:49:19.315 | INFO | 284797d2b63342baa6c3688763717a49 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:49:19.894 | INFO | 284797d2b63342baa6c3688763717a49 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 14:49:20.318 | INFO | 284797d2b63342baa6c3688763717a49 | 64.233.172.76:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 14:49:21.797 | INFO | 3bd3face5219406eb0ebd0f9bd3f1786 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 14:49:21.800 | INFO | 3bd3face5219406eb0ebd0f9bd3f1786 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 14:49:22.448 | INFO | 3bd3face5219406eb0ebd0f9bd3f1786 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 14:49:22.869 | INFO | 3bd3face5219406eb0ebd0f9bd3f1786 | 64.233.172.76:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 14:49:23.664 | INFO | ad4ed4814a2748f8b2464ff4b5486c27 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 14:49:23.666 | INFO | ad4ed4814a2748f8b2464ff4b5486c27 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:49:23.935 | INFO | ad4ed4814a2748f8b2464ff4b5486c27 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:49:24.084 | INFO | ad4ed4814a2748f8b2464ff4b5486c27 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:49:24.090 | INFO | ad4ed4814a2748f8b2464ff4b5486c27 | 64.233.172.72:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 14:49:25.259 | INFO | 5483dbc2d34f4725b2dd4809854f3fc7 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 14:49:25.759 | INFO | 5483dbc2d34f4725b2dd4809854f3fc7 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 14:49:25.870 | INFO | 5483dbc2d34f4725b2dd4809854f3fc7 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 14:49:25.876 | INFO | 5483dbc2d34f4725b2dd4809854f3fc7 | 64.233.172.76:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 14:49:26.561 | INFO | 45737269f3104674895049576795e8ff | 64.233.172.75:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-18 15:08:59.385 | INFO | - | Shutting down 2025-06-18 15:08:59.495 | INFO | - | Waiting for application shutdown. 2025-06-18 15:08:59.501 | INFO | - | Application shutdown complete. 2025-06-18 15:08:59.501 | INFO | - | Finished server process [21408] 2025-06-18 15:09:12.680 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 15:09:12.680 | INFO | - | Started server process [14396] 2025-06-18 15:09:12.681 | INFO | - | Waiting for application startup. 2025-06-18 15:09:12.683 | INFO | - | Application startup complete. 2025-06-18 15:09:46.762 | INFO | 50e21d48b6034293b768394e02c7ea65 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 15:09:46.763 | INFO | 50e21d48b6034293b768394e02c7ea65 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 15:09:46.764 | INFO | 50e21d48b6034293b768394e02c7ea65 | 64.233.172.70:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 15:09:47.335 | INFO | 6df43a3cf22a46fc965c23a55774aded | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 15:09:47.336 | INFO | 6df43a3cf22a46fc965c23a55774aded | 64.233.172.71:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 15:09:49.161 | INFO | 69dcdd72de6a4635b0ed8230024571a8 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 15:09:49.810 | INFO | 69dcdd72de6a4635b0ed8230024571a8 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 15:09:49.813 | INFO | 69dcdd72de6a4635b0ed8230024571a8 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 15:09:50.522 | INFO | 69dcdd72de6a4635b0ed8230024571a8 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 15:09:51.205 | INFO | 69dcdd72de6a4635b0ed8230024571a8 | 64.233.172.75:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 15:09:52.463 | INFO | 08a788846ed343ea9a2aa93e5992502b | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 15:09:52.464 | INFO | 08a788846ed343ea9a2aa93e5992502b | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 15:09:52.970 | INFO | 08a788846ed343ea9a2aa93e5992502b | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 15:09:53.378 | INFO | 08a788846ed343ea9a2aa93e5992502b | 64.233.172.70:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 15:09:54.168 | INFO | 6442bb00b2bf47788573681c6e97fc74 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 15:09:54.169 | INFO | 6442bb00b2bf47788573681c6e97fc74 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 15:09:54.456 | INFO | 6442bb00b2bf47788573681c6e97fc74 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 15:09:54.596 | INFO | 6442bb00b2bf47788573681c6e97fc74 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 15:09:54.598 | INFO | 6442bb00b2bf47788573681c6e97fc74 | 64.233.172.72:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 15:09:55.524 | INFO | d0388791916a43c480f3c7c48fe2135c | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 15:09:55.998 | INFO | d0388791916a43c480f3c7c48fe2135c | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 15:09:56.085 | INFO | d0388791916a43c480f3c7c48fe2135c | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 15:09:56.086 | INFO | d0388791916a43c480f3c7c48fe2135c | 64.233.172.72:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 15:09:56.720 | INFO | 09fb1c477d6241c6a8e3857aa187815d | User exists: False 2025-06-18 15:09:56.760 | INFO | 09fb1c477d6241c6a8e3857aa187815d | 64.233.172.76:0 - "POST /api/v1/user/info HTTP/1.1" 500 2025-06-18 15:09:57.269 | INFO | 71e1bf0d8eb343ba9f12a731b80a7001 | User exists: False 2025-06-18 15:09:57.270 | INFO | 71e1bf0d8eb343ba9f12a731b80a7001 | 64.233.172.70:0 - "POST /api/v1/user/info HTTP/1.1" 500 2025-06-18 15:11:46.654 | INFO | - | Shutting down 2025-06-18 15:11:46.764 | INFO | - | Waiting for application shutdown. 2025-06-18 15:11:46.767 | INFO | - | Application shutdown complete. 2025-06-18 15:11:46.769 | INFO | - | Finished server process [14396] 2025-06-18 15:11:56.819 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 15:11:56.821 | INFO | - | Started server process [11748] 2025-06-18 15:11:56.821 | INFO | - | Waiting for application startup. 2025-06-18 15:11:56.824 | INFO | - | Application startup complete. 2025-06-18 15:12:42.780 | INFO | 485c25438a9645878a2e7e430d123ec6 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 15:12:42.782 | INFO | 485c25438a9645878a2e7e430d123ec6 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 15:12:42.784 | INFO | 485c25438a9645878a2e7e430d123ec6 | 64.233.172.72:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 15:12:43.364 | INFO | 49d52d4c226a43acad7a7146b5fd3fee | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 15:12:43.368 | INFO | 49d52d4c226a43acad7a7146b5fd3fee | 64.233.172.75:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 15:12:45.146 | INFO | 92e163d6f36c434891c5496807dd1cd3 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 15:12:45.471 | INFO | 92e163d6f36c434891c5496807dd1cd3 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 15:12:45.476 | INFO | 92e163d6f36c434891c5496807dd1cd3 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 15:12:46.065 | INFO | 92e163d6f36c434891c5496807dd1cd3 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 15:12:46.482 | INFO | 92e163d6f36c434891c5496807dd1cd3 | 64.233.172.75:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 15:12:47.931 | INFO | 7e9eaaa8ebb74c6c9299aaa25ba70ad3 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 15:12:47.933 | INFO | 7e9eaaa8ebb74c6c9299aaa25ba70ad3 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 15:12:48.497 | INFO | 7e9eaaa8ebb74c6c9299aaa25ba70ad3 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 15:12:48.920 | INFO | 7e9eaaa8ebb74c6c9299aaa25ba70ad3 | 64.233.172.71:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 15:12:49.711 | INFO | 9da3e55aaf674211a00941be8fb3c55a | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 15:12:49.718 | INFO | 9da3e55aaf674211a00941be8fb3c55a | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 15:12:50.165 | INFO | 9da3e55aaf674211a00941be8fb3c55a | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 15:12:50.563 | INFO | 9da3e55aaf674211a00941be8fb3c55a | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 15:12:50.576 | INFO | 9da3e55aaf674211a00941be8fb3c55a | 64.233.172.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 15:12:51.753 | INFO | e5f4de85722a4223b9429027ceffe3ef | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 15:12:52.053 | INFO | e5f4de85722a4223b9429027ceffe3ef | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 15:12:52.149 | INFO | e5f4de85722a4223b9429027ceffe3ef | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 15:12:52.153 | INFO | e5f4de85722a4223b9429027ceffe3ef | 64.233.172.78:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 15:12:52.946 | INFO | cfdbe465f9c94817a1e810ebcec55a3c | 64.233.172.70:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-18 15:13:34.535 | INFO | d35470009274483cb8ef442ed246706a | 64.233.172.71:0 - "POST /api/v1/user/extract-name HTTP/1.1" 500 2025-06-18 15:13:35.462 | INFO | dc5887ab833d4541aff6dc506334ebcb | 64.233.172.74:0 - "POST /api/v1/user/extract-name HTTP/1.1" 500 2025-06-18 15:14:02.932 | INFO | 240bcdd19a3d4922b2a190c6e4dfaa63 | 64.233.172.70:0 - "POST /api/v1/user/extract-name HTTP/1.1" 500 2025-06-18 15:14:03.574 | INFO | 3d44668bd28f496e815f233e9dfa7519 | 64.233.172.76:0 - "POST /api/v1/user/extract-name HTTP/1.1" 500 2025-06-18 15:14:31.244 | INFO | ad3226768f924ab99e819081aa692df6 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/None "HTTP/1.1 403 " 2025-06-18 15:14:31.372 | INFO | ad3226768f924ab99e819081aa692df6 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/None "HTTP/1.1 500 " 2025-06-18 15:14:31.374 | INFO | ad3226768f924ab99e819081aa692df6 | 64.233.172.71:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 200 2025-06-18 15:16:47.742 | INFO | - | Shutting down 2025-06-18 15:16:47.852 | INFO | - | Waiting for application shutdown. 2025-06-18 15:16:47.854 | INFO | - | Application shutdown complete. 2025-06-18 15:16:47.857 | INFO | - | Finished server process [11748] 2025-06-18 15:16:57.811 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 15:16:57.812 | INFO | - | Started server process [17300] 2025-06-18 15:16:57.812 | INFO | - | Waiting for application startup. 2025-06-18 15:16:57.814 | INFO | - | Application startup complete. 2025-06-18 15:18:19.043 | INFO | 005f0a1d2de24b4ea78c5f4133b7b8ec | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 15:18:19.044 | INFO | 005f0a1d2de24b4ea78c5f4133b7b8ec | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 15:18:19.046 | INFO | 005f0a1d2de24b4ea78c5f4133b7b8ec | 64.233.172.64:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 15:18:19.648 | INFO | 0bfb5e53b01c4804905d9581de837037 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 15:18:19.649 | INFO | 0bfb5e53b01c4804905d9581de837037 | 64.233.172.76:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 15:18:21.108 | INFO | 58ab8884d81049e4a8d17e0e337c0cff | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 15:18:21.558 | INFO | 58ab8884d81049e4a8d17e0e337c0cff | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 15:18:21.559 | INFO | 58ab8884d81049e4a8d17e0e337c0cff | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 15:18:22.093 | INFO | 58ab8884d81049e4a8d17e0e337c0cff | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 15:18:23.568 | INFO | 58ab8884d81049e4a8d17e0e337c0cff | 64.233.172.75:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 15:18:25.028 | INFO | d3c7999e26fb4716a627446ae4956b7d | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 15:18:25.034 | INFO | d3c7999e26fb4716a627446ae4956b7d | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 15:18:25.800 | INFO | d3c7999e26fb4716a627446ae4956b7d | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 15:18:26.396 | INFO | d3c7999e26fb4716a627446ae4956b7d | 64.233.172.77:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 15:18:26.905 | INFO | 0aeaa4d2dd9b486eb00d9f00995dfae6 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 15:18:26.910 | INFO | 0aeaa4d2dd9b486eb00d9f00995dfae6 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 15:18:27.312 | INFO | 0aeaa4d2dd9b486eb00d9f00995dfae6 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 15:18:27.438 | INFO | 0aeaa4d2dd9b486eb00d9f00995dfae6 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 15:18:27.442 | INFO | 0aeaa4d2dd9b486eb00d9f00995dfae6 | 64.233.172.75:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 15:18:28.749 | INFO | ea48ca0e3d444c96b089174da619bf61 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 15:18:29.040 | INFO | ea48ca0e3d444c96b089174da619bf61 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 15:18:29.113 | INFO | ea48ca0e3d444c96b089174da619bf61 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 15:18:29.118 | INFO | ea48ca0e3d444c96b089174da619bf61 | 64.233.172.72:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 15:18:29.686 | INFO | d37e6ad3878a4d29bc6cf46bcc7a3ec0 | 64.233.172.72:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-18 15:18:31.130 | INFO | d96eb4edb1864577b8ad63d4fcdf9539 | 64.233.172.64:0 - "POST /api/v1/user/extract-name HTTP/1.1" 200 2025-06-18 15:18:32.690 | INFO | 9e64bab1e0e340978bec127230c29b91 | 64.233.172.75:0 - "POST /api/v1/user/extract-name HTTP/1.1" 200 2025-06-18 15:18:35.541 | INFO | 1c0ee121174f4abf9c548d0ef977ed65 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/None "HTTP/1.1 403 " 2025-06-18 15:18:35.641 | INFO | 1c0ee121174f4abf9c548d0ef977ed65 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/None "HTTP/1.1 500 " 2025-06-18 15:18:35.650 | INFO | 1c0ee121174f4abf9c548d0ef977ed65 | 64.233.172.74:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 200 2025-06-18 15:21:49.015 | INFO | - | Shutting down 2025-06-18 15:21:49.124 | INFO | - | Waiting for application shutdown. 2025-06-18 15:21:49.125 | INFO | - | Application shutdown complete. 2025-06-18 15:21:49.125 | INFO | - | Finished server process [17300] 2025-06-18 15:21:59.644 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 15:21:59.645 | INFO | - | Started server process [26104] 2025-06-18 15:21:59.645 | INFO | - | Waiting for application startup. 2025-06-18 15:21:59.647 | INFO | - | Application startup complete. 2025-06-18 15:22:09.565 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 15:22:09.566 | INFO | - | Started server process [19968] 2025-06-18 15:22:09.567 | INFO | - | Waiting for application startup. 2025-06-18 15:22:09.568 | INFO | - | Application startup complete. 2025-06-18 15:25:15.952 | INFO | - | Shutting down 2025-06-18 15:25:16.062 | INFO | - | Waiting for application shutdown. 2025-06-18 15:25:16.064 | INFO | - | Application shutdown complete. 2025-06-18 15:25:16.066 | INFO | - | Finished server process [19968] 2025-06-18 15:25:27.288 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 15:25:27.289 | INFO | - | Started server process [23436] 2025-06-18 15:25:27.289 | INFO | - | Waiting for application startup. 2025-06-18 15:25:27.291 | INFO | - | Application startup complete. 2025-06-18 15:25:27.300 | INFO | 952189e3c58042818e49eb006966fba8 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 15:25:27.301 | INFO | 952189e3c58042818e49eb006966fba8 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 15:25:27.302 | INFO | 952189e3c58042818e49eb006966fba8 | 64.233.172.75:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 15:25:27.970 | INFO | 251453a7eb5b4bd2b4a9c2d88efe79cf | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 15:25:27.971 | INFO | 251453a7eb5b4bd2b4a9c2d88efe79cf | 64.233.172.72:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 15:25:29.624 | INFO | 0befac725323489aba661f3af4ab708a | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 15:25:30.269 | INFO | 0befac725323489aba661f3af4ab708a | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 15:25:30.276 | INFO | 0befac725323489aba661f3af4ab708a | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 15:25:31.062 | INFO | 0befac725323489aba661f3af4ab708a | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 15:25:31.887 | INFO | 0befac725323489aba661f3af4ab708a | 64.233.172.78:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 15:25:33.758 | INFO | b31c254d344f4307ad61ab2983fd0b23 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 15:25:33.810 | INFO | b31c254d344f4307ad61ab2983fd0b23 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 15:25:34.560 | INFO | b31c254d344f4307ad61ab2983fd0b23 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 15:25:35.260 | INFO | b31c254d344f4307ad61ab2983fd0b23 | 64.233.172.74:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 15:25:35.974 | INFO | fdc1385f2ee54073a93ea4d4de4e0a0c | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 15:25:35.982 | INFO | fdc1385f2ee54073a93ea4d4de4e0a0c | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 15:25:36.314 | INFO | fdc1385f2ee54073a93ea4d4de4e0a0c | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 15:25:36.449 | INFO | fdc1385f2ee54073a93ea4d4de4e0a0c | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 15:25:36.458 | INFO | fdc1385f2ee54073a93ea4d4de4e0a0c | 64.233.172.74:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 15:25:37.700 | INFO | 37b22831836c4c3182ffd783018c2e13 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 15:25:38.028 | INFO | 37b22831836c4c3182ffd783018c2e13 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 15:25:38.206 | INFO | 37b22831836c4c3182ffd783018c2e13 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 15:25:38.214 | INFO | 37b22831836c4c3182ffd783018c2e13 | 64.233.172.70:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 15:25:38.861 | INFO | e8a6d1df55cb43008a1c4db5110a2fda | 64.233.172.75:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-18 15:25:40.215 | INFO | f12f6db1131d4abdb32523c1946d122c | 64.233.172.72:0 - "POST /api/v1/user/extract-name HTTP/1.1" 200 2025-06-18 15:25:42.338 | INFO | e0b99ec8ca7842caa6f713ba264ffcd5 | 64.233.172.64:0 - "POST /api/v1/user/extract-name HTTP/1.1" 200 2025-06-18 15:25:44.690 | INFO | d2f5c2f54c724313afd97b8620e59957 | 64.233.172.76:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-18 15:25:45.437 | INFO | 52a8e844f8ac435a916995d2012ece5f | 64.233.172.73:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-18 15:28:42.349 | INFO | - | Shutting down 2025-06-18 15:28:42.459 | INFO | - | Waiting for application shutdown. 2025-06-18 15:28:42.461 | INFO | - | Application shutdown complete. 2025-06-18 15:28:42.463 | INFO | - | Finished server process [23436] 2025-06-18 15:28:53.115 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 15:28:53.117 | INFO | - | Started server process [9816] 2025-06-18 15:28:53.118 | INFO | - | Waiting for application startup. 2025-06-18 15:28:53.120 | INFO | - | Application startup complete. 2025-06-18 15:29:31.905 | INFO | 3900678d8579488781c233ec93641409 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 15:29:31.907 | INFO | 3900678d8579488781c233ec93641409 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 15:29:31.910 | INFO | 3900678d8579488781c233ec93641409 | 64.233.172.70:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 15:29:32.464 | INFO | 50d0a77ca2c7487d97278a76b4be7b30 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 15:29:32.465 | INFO | 50d0a77ca2c7487d97278a76b4be7b30 | 64.233.172.64:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 15:29:34.051 | INFO | b36632832a9e448a83ce244daaa5649b | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 15:29:34.340 | INFO | b36632832a9e448a83ce244daaa5649b | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 15:29:34.342 | INFO | b36632832a9e448a83ce244daaa5649b | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 15:29:35.124 | INFO | b36632832a9e448a83ce244daaa5649b | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 15:29:37.744 | INFO | b36632832a9e448a83ce244daaa5649b | 64.233.172.77:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 15:29:39.391 | INFO | ab3a544ed8744620b9484714b3487f86 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 15:29:39.393 | INFO | ab3a544ed8744620b9484714b3487f86 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 15:29:40.143 | INFO | ab3a544ed8744620b9484714b3487f86 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 15:29:40.816 | INFO | ab3a544ed8744620b9484714b3487f86 | 64.233.172.74:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 15:29:41.582 | INFO | d07964ce856c498a9f4b81619220e7f9 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 26.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914886.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-18 15:29:41.584 | INFO | d07964ce856c498a9f4b81619220e7f9 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 15:29:41.853 | INFO | d07964ce856c498a9f4b81619220e7f9 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 15:29:41.984 | INFO | d07964ce856c498a9f4b81619220e7f9 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 15:29:41.986 | INFO | d07964ce856c498a9f4b81619220e7f9 | 64.233.172.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 15:29:43.892 | INFO | 5ba3eb43fdc3416484fa26b9e6e42a22 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 15:29:44.182 | INFO | 5ba3eb43fdc3416484fa26b9e6e42a22 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 15:29:44.261 | INFO | 5ba3eb43fdc3416484fa26b9e6e42a22 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 15:29:44.263 | INFO | 5ba3eb43fdc3416484fa26b9e6e42a22 | 64.233.172.73:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 15:29:44.905 | INFO | d8aede2f2a3b460cb8c22348cf9df7ee | 64.233.172.78:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-18 15:29:45.984 | INFO | 70f9f008a6bd4607ae4de7b932ae2b1f | 64.233.172.72:0 - "POST /api/v1/user/extract-name HTTP/1.1" 200 2025-06-18 15:29:47.712 | INFO | 3533edc829e84c64a480528d244b406a | 64.233.172.64:0 - "POST /api/v1/user/extract-name HTTP/1.1" 200 2025-06-18 15:29:49.865 | INFO | 475698b36550404e90d3fa21da1df992 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-18 15:29:50.000 | INFO | 475698b36550404e90d3fa21da1df992 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-18 15:29:50.013 | INFO | 475698b36550404e90d3fa21da1df992 | 64.233.172.77:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 422 2025-06-18 16:10:30.026 | INFO | 9616ab235fed47449c2b1fc97114ff03 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 16:10:30.029 | INFO | 9616ab235fed47449c2b1fc97114ff03 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 16:10:30.032 | INFO | 9616ab235fed47449c2b1fc97114ff03 | 64.233.172.71:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 16:10:30.681 | INFO | 2c06208a8f844b9c962bb21e0daaa698 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 16:10:30.689 | INFO | 2c06208a8f844b9c962bb21e0daaa698 | 64.233.172.64:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 16:10:32.193 | INFO | 942cb7b52b4b4a409cf04e874d395922 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:10:32.195 | INFO | 942cb7b52b4b4a409cf04e874d395922 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:10:32.523 | INFO | 942cb7b52b4b4a409cf04e874d395922 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 16:10:32.581 | INFO | 942cb7b52b4b4a409cf04e874d395922 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 16:10:32.583 | INFO | 942cb7b52b4b4a409cf04e874d395922 | 64.233.172.64:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 16:10:33.708 | INFO | a1f5b6eb70c045f5ad6d4f341af88897 | 64.233.172.75:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 16:10:34.627 | INFO | ac56df76a8584c999782067cfe1d5383 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:10:34.632 | INFO | ac56df76a8584c999782067cfe1d5383 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:10:35.021 | INFO | ac56df76a8584c999782067cfe1d5383 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 16:10:35.088 | INFO | ac56df76a8584c999782067cfe1d5383 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 16:10:35.093 | INFO | ac56df76a8584c999782067cfe1d5383 | 64.233.172.72:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 16:10:37.101 | INFO | 905cff6621884c858bc96d1d0dd8e2ce | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:10:37.107 | INFO | 905cff6621884c858bc96d1d0dd8e2ce | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:10:37.486 | INFO | 905cff6621884c858bc96d1d0dd8e2ce | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 16:10:37.555 | INFO | 905cff6621884c858bc96d1d0dd8e2ce | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 16:10:37.557 | INFO | 905cff6621884c858bc96d1d0dd8e2ce | 64.233.172.78:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 16:10:39.703 | INFO | a2eec9dc26ee4e17b3271a8fb80066a5 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:10:39.704 | INFO | a2eec9dc26ee4e17b3271a8fb80066a5 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:10:39.943 | INFO | a2eec9dc26ee4e17b3271a8fb80066a5 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 16:10:40.011 | INFO | a2eec9dc26ee4e17b3271a8fb80066a5 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 16:10:40.014 | INFO | a2eec9dc26ee4e17b3271a8fb80066a5 | 64.233.172.70:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 16:10:41.592 | INFO | 285cba211f1c4110891bb5f20ffdafd7 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:10:41.600 | INFO | 285cba211f1c4110891bb5f20ffdafd7 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:10:41.997 | INFO | 285cba211f1c4110891bb5f20ffdafd7 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 16:10:42.067 | INFO | 285cba211f1c4110891bb5f20ffdafd7 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 16:10:42.069 | INFO | 285cba211f1c4110891bb5f20ffdafd7 | 64.233.172.76:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 16:10:44.281 | INFO | ecea1e4705cd46dd992cbe9d806a953f | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:10:44.284 | INFO | ecea1e4705cd46dd992cbe9d806a953f | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:10:44.543 | INFO | ecea1e4705cd46dd992cbe9d806a953f | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 16:10:44.605 | INFO | ecea1e4705cd46dd992cbe9d806a953f | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 16:10:44.614 | INFO | ecea1e4705cd46dd992cbe9d806a953f | 64.233.172.71:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 16:10:46.910 | INFO | d1679ee40a1d462b8560fe9c0c5a7603 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:10:46.912 | INFO | d1679ee40a1d462b8560fe9c0c5a7603 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:10:47.180 | INFO | d1679ee40a1d462b8560fe9c0c5a7603 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 16:10:47.322 | INFO | d1679ee40a1d462b8560fe9c0c5a7603 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 16:10:47.332 | INFO | d1679ee40a1d462b8560fe9c0c5a7603 | 64.233.172.72:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 16:10:49.656 | INFO | 217eb29fb988428d887ca794043cdbe4 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:10:49.661 | INFO | 217eb29fb988428d887ca794043cdbe4 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:10:49.990 | INFO | 217eb29fb988428d887ca794043cdbe4 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 16:10:50.056 | INFO | 217eb29fb988428d887ca794043cdbe4 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 16:10:50.059 | INFO | 217eb29fb988428d887ca794043cdbe4 | 64.233.172.75:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 16:10:51.435 | INFO | a4c8beec1be7408d99c70cfdf33194f5 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:10:51.438 | INFO | a4c8beec1be7408d99c70cfdf33194f5 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:10:51.900 | INFO | a4c8beec1be7408d99c70cfdf33194f5 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 16:10:52.007 | INFO | a4c8beec1be7408d99c70cfdf33194f5 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 16:10:52.011 | INFO | a4c8beec1be7408d99c70cfdf33194f5 | 64.233.172.78:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 16:11:43.787 | INFO | 2f294e71931746bfb3d329cd577688d3 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 16:11:43.789 | INFO | 2f294e71931746bfb3d329cd577688d3 | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 16:11:43.791 | INFO | 2f294e71931746bfb3d329cd577688d3 | 64.233.172.70:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 16:11:44.417 | INFO | 07b81c7b1efd4ddabfc993e7f52c9cb5 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 16:11:44.418 | INFO | 07b81c7b1efd4ddabfc993e7f52c9cb5 | 64.233.172.77:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 16:11:47.425 | INFO | f66852700fc14420bf37fbe8ac9adccb | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:11:47.427 | INFO | f66852700fc14420bf37fbe8ac9adccb | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:11:47.726 | INFO | f66852700fc14420bf37fbe8ac9adccb | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 16:11:47.813 | INFO | f66852700fc14420bf37fbe8ac9adccb | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 401 Unauthorized" 2025-06-18 16:11:47.816 | INFO | f66852700fc14420bf37fbe8ac9adccb | 64.233.172.77:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 16:20:31.802 | INFO | - | Shutting down 2025-06-18 16:20:31.912 | INFO | - | Waiting for application shutdown. 2025-06-18 16:20:31.915 | INFO | - | Application shutdown complete. 2025-06-18 16:20:31.917 | INFO | - | Finished server process [9816] 2025-06-18 16:20:44.258 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 16:20:44.258 | INFO | - | Started server process [30116] 2025-06-18 16:20:44.259 | INFO | - | Waiting for application startup. 2025-06-18 16:20:44.261 | INFO | - | Application startup complete. 2025-06-18 16:20:54.839 | INFO | e291a5f631b54c899988a3b6d4f9795e | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 16:20:54.841 | INFO | e291a5f631b54c899988a3b6d4f9795e | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 16:20:54.844 | INFO | e291a5f631b54c899988a3b6d4f9795e | 64.233.172.75:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 16:20:55.306 | INFO | ec8af8474bbc4badbae8e6a8ca4b84ef | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 16:20:55.307 | INFO | ec8af8474bbc4badbae8e6a8ca4b84ef | 64.233.172.75:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 16:20:57.027 | INFO | 5bb6e9e5d188433499ab97cde26b722c | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 16:20:57.637 | INFO | 5bb6e9e5d188433499ab97cde26b722c | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:20:57.643 | INFO | 5bb6e9e5d188433499ab97cde26b722c | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:20:57.644 | INFO | 5bb6e9e5d188433499ab97cde26b722c | Access token: eyJhbGciOiJSUzI1NiIsImtpZCI6ImE0YTEwZGVjZTk4MzY2ZDZmNjNlMTY3Mjg2YWU5YjYxMWQyYmFhMjciLCJ0eXAiOiJKV1QifQ.eyJhbm9ueW1vdXMiOnRydWUsImlwIjoiOjoxIiwidXNlcl9hZ2VudCI6Ik1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMTQuMC4wLjAgU2FmYXJpLzUzNy4zNiIsImlzcyI6Imh0dHBzOi8vc2VjdXJldG9rZW4uZ29vZ2xlLmNvbS9mYWNlY2FyLTI5YWU3IiwiYXVkIjoiZmFjZWNhci0yOWFlNyIsImF1dGhfdGltZSI6MTc1MDIzNTg4NiwidXNlcl9pZCI6InNFMkk1dkg3TTBhUkhWdVl1QW9QaXByczZKZTIiLCJzdWIiOiJzRTJJNXZIN00wYVJIVnVZdUFvUGlwcnM2SmUyIiwiaWF0IjoxNzUwMjM1ODg2LCJleHAiOjE3NTAyMzk0ODYsImZpcmViYXNlIjp7ImlkZW50aXRpZXMiOnt9LCJzaWduX2luX3Byb3ZpZGVyIjoiY3VzdG9tIn19.RbmvIniUGdfjAkLukmXVnGv3mqkiAL6Hh4WJUa10oTlCao3U6k2_fQxDTg_VW9Ru7ADZSHRnD1HtWxVuNA9pDJ7E9HinDNaezVPXYQNAFh4C4lhP7p-_0egfMagP8Ivuz0pvzks8heCYZAb_BlmeValQQlj2LnWx5oi9mvvezWCVgXfkeqAOtERAXn0HfvHgjREVSVQR_9AWk4tglfPPaZC8m81tjGdI37qGx0EsEYF62Q5F7dHD1yj-HYiEE8Q6tz5kcobm3tSmCSHSrQ02ivyqEzIlCPoxvNJTNx840vW1ijq-2aeAYxuuK5aY6ADKTcUSJ1mqlQX4TKPncOvRtw 2025-06-18 16:20:58.260 | INFO | 5bb6e9e5d188433499ab97cde26b722c | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 16:20:58.692 | INFO | 5bb6e9e5d188433499ab97cde26b722c | 64.233.172.77:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 16:21:10.550 | INFO | - | Shutting down 2025-06-18 16:21:10.660 | INFO | - | Waiting for application shutdown. 2025-06-18 16:21:10.660 | INFO | - | Application shutdown complete. 2025-06-18 16:21:10.660 | INFO | - | Finished server process [30116] 2025-06-18 16:21:21.988 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 16:21:21.989 | INFO | - | Started server process [18256] 2025-06-18 16:21:21.990 | INFO | - | Waiting for application startup. 2025-06-18 16:21:21.993 | INFO | - | Application startup complete. 2025-06-18 16:25:32.128 | INFO | 0af89fa3a11d483ca1abe973d459d591 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 16:25:32.547 | INFO | 0af89fa3a11d483ca1abe973d459d591 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:25:32.554 | INFO | 0af89fa3a11d483ca1abe973d459d591 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:25:33.104 | INFO | 0af89fa3a11d483ca1abe973d459d591 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 16:25:33.466 | INFO | 0af89fa3a11d483ca1abe973d459d591 | 64.233.172.75:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 16:25:34.276 | INFO | 3fc736110d744e7f8dd6fd399b74a697 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 25.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 4.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914916.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5914946.0, 'route': '16:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898676.0, 'route': '17:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-18 16:25:34.281 | INFO | 3fc736110d744e7f8dd6fd399b74a697 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 16:25:34.621 | INFO | 3fc736110d744e7f8dd6fd399b74a697 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 16:25:34.744 | INFO | 3fc736110d744e7f8dd6fd399b74a697 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 16:25:34.753 | INFO | 3fc736110d744e7f8dd6fd399b74a697 | 64.233.172.76:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 16:25:40.335 | INFO | 4a76027707b944e59f78d288ec0a5899 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 16:25:40.621 | INFO | 4a76027707b944e59f78d288ec0a5899 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 16:25:40.699 | INFO | 4a76027707b944e59f78d288ec0a5899 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 16:25:40.706 | INFO | 4a76027707b944e59f78d288ec0a5899 | 64.233.172.70:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 16:25:41.420 | INFO | 163eaaf3cafa4568b044d6a159d02d80 | 64.233.172.75:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-18 16:26:16.004 | INFO | 9b9a82531ac14465be5103686e96afc6 | 64.233.172.76:0 - "POST /api/v1/user/extract-name HTTP/1.1" 200 2025-06-18 16:26:23.136 | INFO | 39893237b7b2427ea52a189e0f46ab9d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-18 16:26:23.273 | INFO | 39893237b7b2427ea52a189e0f46ab9d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-18 16:26:23.275 | INFO | 39893237b7b2427ea52a189e0f46ab9d | 64.233.172.72:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 422 2025-06-18 16:29:01.767 | INFO | - | Shutting down 2025-06-18 16:29:01.875 | INFO | - | Waiting for application shutdown. 2025-06-18 16:29:01.876 | INFO | - | Application shutdown complete. 2025-06-18 16:29:01.877 | INFO | - | Finished server process [18256] 2025-06-18 16:29:13.951 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 16:29:13.953 | INFO | - | Started server process [9196] 2025-06-18 16:29:13.953 | INFO | - | Waiting for application startup. 2025-06-18 16:29:13.955 | INFO | - | Application startup complete. 2025-06-18 16:30:04.036 | INFO | 95a0d1649e0e4fae939ef254190441b3 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 16:30:04.037 | INFO | 95a0d1649e0e4fae939ef254190441b3 | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 16:30:04.039 | INFO | 95a0d1649e0e4fae939ef254190441b3 | 64.233.172.71:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 16:30:04.668 | INFO | 0770b70a8a02454caaf6b67bc7de2c1e | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 16:30:04.668 | INFO | 0770b70a8a02454caaf6b67bc7de2c1e | 64.233.172.72:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 16:30:06.386 | INFO | 22dc2f8a47cd430d80177a4944e19614 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 16:30:07.030 | INFO | 22dc2f8a47cd430d80177a4944e19614 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:30:07.037 | INFO | 22dc2f8a47cd430d80177a4944e19614 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:30:07.779 | INFO | 22dc2f8a47cd430d80177a4944e19614 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 16:30:19.287 | INFO | 22dc2f8a47cd430d80177a4944e19614 | 64.233.172.75:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 16:30:21.667 | INFO | 1abc239fc8194a709ae8c68de98274dc | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:30:21.671 | INFO | 1abc239fc8194a709ae8c68de98274dc | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:30:23.039 | INFO | 1abc239fc8194a709ae8c68de98274dc | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 16:30:32.639 | INFO | 1b701ee101954d1bbdac57b6dc99f882 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:30:32.646 | INFO | 1b701ee101954d1bbdac57b6dc99f882 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:30:33.370 | INFO | 1b701ee101954d1bbdac57b6dc99f882 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 16:30:48.624 | INFO | 060939d336d84efe8a1a42d006709047 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:30:48.629 | INFO | 060939d336d84efe8a1a42d006709047 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:30:49.376 | INFO | 060939d336d84efe8a1a42d006709047 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 16:30:59.994 | INFO | 060939d336d84efe8a1a42d006709047 | 64.233.172.77:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 16:31:02.616 | INFO | 6df1d11d0ea2467abf2a14083c64d190 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:31:02.619 | INFO | 6df1d11d0ea2467abf2a14083c64d190 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:31:03.960 | INFO | 6df1d11d0ea2467abf2a14083c64d190 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 16:31:34.826 | INFO | 105a3c2cb43d4e778b71fcf45ee89a4f | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 16:31:34.828 | INFO | 105a3c2cb43d4e778b71fcf45ee89a4f | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 16:31:34.829 | INFO | 105a3c2cb43d4e778b71fcf45ee89a4f | 64.233.172.77:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 16:31:35.396 | INFO | 7036e02903b54cba997d39cdd8258410 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 16:31:35.398 | INFO | 7036e02903b54cba997d39cdd8258410 | 64.233.172.71:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 16:31:40.671 | INFO | 7b30d21fec94447d8986d9db1658a447 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:31:40.675 | INFO | 7b30d21fec94447d8986d9db1658a447 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:31:41.938 | INFO | 7b30d21fec94447d8986d9db1658a447 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 16:34:31.410 | INFO | 06b98acda05d4ea58676d28cc6e587cb | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-18 16:34:33.878 | INFO | 0495300ab4114b68aa1c8daf0097863f | 14.241.227.54:0 - "GET /openapi HTTP/1.1" 200 2025-06-18 16:36:40.187 | INFO | 1fb5e37753de46ddafbb05a3f5c9db65 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 16:36:40.188 | INFO | 1fb5e37753de46ddafbb05a3f5c9db65 | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 16:36:40.192 | INFO | 1fb5e37753de46ddafbb05a3f5c9db65 | 64.233.172.78:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 16:36:40.905 | INFO | d0286f1dace842fe84d4c32cf6acd04f | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 16:36:40.907 | INFO | d0286f1dace842fe84d4c32cf6acd04f | 64.233.172.77:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 16:36:46.255 | INFO | 13a852c38edc484eb793fc4aa994a916 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:36:46.263 | INFO | 13a852c38edc484eb793fc4aa994a916 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:36:47.470 | INFO | 13a852c38edc484eb793fc4aa994a916 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 16:39:42.042 | INFO | d310f1cabf60447994852e5c1eed87d8 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 16:39:42.043 | INFO | d310f1cabf60447994852e5c1eed87d8 | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 16:39:42.059 | INFO | d310f1cabf60447994852e5c1eed87d8 | 64.233.172.77:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 16:39:42.741 | INFO | a1138aada886406597a13d9a5f14efcf | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 16:39:42.744 | INFO | a1138aada886406597a13d9a5f14efcf | 64.233.172.77:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 16:39:44.320 | INFO | 79ac3c9d4abc417b86224728a7a2e34f | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:39:44.349 | INFO | 79ac3c9d4abc417b86224728a7a2e34f | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:39:45.360 | INFO | 79ac3c9d4abc417b86224728a7a2e34f | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 16:39:49.621 | INFO | 79ac3c9d4abc417b86224728a7a2e34f | 64.233.172.70:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 16:40:03.128 | INFO | de59a205382140148894c3444481c86e | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 16:40:03.130 | INFO | de59a205382140148894c3444481c86e | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 16:40:03.795 | INFO | de59a205382140148894c3444481c86e | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 16:41:17.812 | INFO | 7b52cd29298448f9952f43e60ccdbba8 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'destination_city': 'Thành phố Đà Lạt', 'origin_office': 'Bến xe Miền Tây', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 16:41:17.813 | INFO | 7b52cd29298448f9952f43e60ccdbba8 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 16:41:17.814 | INFO | 7b52cd29298448f9952f43e60ccdbba8 | 64.233.172.74:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 16:41:19.473 | INFO | ae3d035dca744ca8b757b44536a95306 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750239678 "HTTP/1.1 200 OK" 2025-06-18 16:41:19.478 | INFO | ae3d035dca744ca8b757b44536a95306 | 64.233.172.70:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-18 16:41:20.164 | INFO | e0a99c61863e4cd8a9251c4426b4532b | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 1.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'TP. Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'origin_office': 'Bến xe Miền Tây', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 16:41:20.166 | INFO | e0a99c61863e4cd8a9251c4426b4532b | 64.233.172.71:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 16:41:29.157 | INFO | 93491d393dfc40ada55d60d5d41b1bf0 | 64.233.172.75:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-18 16:41:29.781 | INFO | 805c9cf406fa4c66bdec6e7168c0547d | 64.233.172.72:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-18 16:44:03.286 | INFO | - | Shutting down 2025-06-18 16:44:03.393 | INFO | - | Waiting for application shutdown. 2025-06-18 16:44:03.393 | INFO | - | Application shutdown complete. 2025-06-18 16:44:03.393 | INFO | - | Finished server process [9196] 2025-06-18 16:44:14.137 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 16:44:14.138 | INFO | - | Started server process [17820] 2025-06-18 16:44:14.138 | INFO | - | Waiting for application startup. 2025-06-18 16:44:14.141 | INFO | - | Application startup complete. 2025-06-18 16:47:56.971 | INFO | b6c47479f4fe4e48958cb983a1e603d0 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'destination_city': 'Thành phố Đà Lạt', 'origin_office': 'Bến xe Miền Tây', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 16:47:56.972 | INFO | b6c47479f4fe4e48958cb983a1e603d0 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 16:47:56.972 | INFO | b6c47479f4fe4e48958cb983a1e603d0 | 64.233.172.77:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 16:47:58.160 | INFO | a1685887bcd641fa9e56275cb47f4844 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 16:47:58.549 | INFO | a1685887bcd641fa9e56275cb47f4844 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750240077 "HTTP/1.1 200 OK" 2025-06-18 16:47:58.552 | INFO | a1685887bcd641fa9e56275cb47f4844 | 64.233.172.77:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-18 16:47:59.227 | INFO | 90edbebf652c401aa6f2eefaa303244c | 64.233.172.76:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-18 16:47:59.808 | INFO | bc242f61ef9543b68143c667b02c28ed | 64.233.172.77:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 500 2025-06-18 16:48:27.752 | INFO | - | Shutting down 2025-06-18 16:48:27.861 | INFO | - | Waiting for application shutdown. 2025-06-18 16:48:27.863 | INFO | - | Application shutdown complete. 2025-06-18 16:48:27.864 | INFO | - | Finished server process [17820] 2025-06-18 16:48:39.977 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 16:48:39.980 | INFO | - | Started server process [30292] 2025-06-18 16:48:39.981 | INFO | - | Waiting for application startup. 2025-06-18 16:48:39.983 | INFO | - | Application startup complete. 2025-06-18 17:00:54.888 | INFO | 6738a16fa4fa4464a7669bb2e40a87c4 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'destination_city': 'Thành phố Đà Lạt', 'origin_office': 'Bến xe Miền Tây', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 17:00:54.915 | INFO | 6738a16fa4fa4464a7669bb2e40a87c4 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 17:00:54.923 | INFO | 6738a16fa4fa4464a7669bb2e40a87c4 | 64.233.172.72:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 17:00:57.401 | INFO | 26945d0984b849f8b3a0ea89e936268a | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 17:00:57.937 | INFO | 26945d0984b849f8b3a0ea89e936268a | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750240855 "HTTP/1.1 200 OK" 2025-06-18 17:00:57.940 | INFO | 26945d0984b849f8b3a0ea89e936268a | 64.233.172.71:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-18 17:00:58.670 | INFO | 8c93899d809640c2bfcee7cbc3858e5a | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 1.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'TP. Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'origin_office': 'Bến xe Miền Tây', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 17:00:58.673 | INFO | 8c93899d809640c2bfcee7cbc3858e5a | 64.233.172.70:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 17:01:04.089 | INFO | 09ee82fea76447049099a1e64edbb4d0 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 1.0, '$request.generative.response_fall_back': 'Chào bạn, tôi là FUTA Bus Assistant. Tôi có thể giúp gì cho bạn ạ?\n', 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'TP. Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'origin_office': 'Bến xe Miền Tây', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 17:01:04.091 | INFO | 09ee82fea76447049099a1e64edbb4d0 | 64.233.172.71:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 17:01:10.007 | INFO | 0713433b87864034a0654d501cc8b504 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750240869 "HTTP/1.1 200 OK" 2025-06-18 17:01:10.560 | INFO | 0713433b87864034a0654d501cc8b504 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750240870 "HTTP/1.1 200 OK" 2025-06-18 17:01:11.028 | INFO | 0713433b87864034a0654d501cc8b504 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750240870 "HTTP/1.1 200 OK" 2025-06-18 17:01:11.511 | INFO | 0713433b87864034a0654d501cc8b504 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750240871 "HTTP/1.1 200 OK" 2025-06-18 17:01:12.053 | INFO | 0713433b87864034a0654d501cc8b504 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&OriginIds=16&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 17:01:12.055 | INFO | 0713433b87864034a0654d501cc8b504 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1375], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 17:01:12.817 | INFO | 0713433b87864034a0654d501cc8b504 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 17:01:15.878 | INFO | 0713433b87864034a0654d501cc8b504 | 64.233.172.71:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 17:01:25.281 | INFO | e749a3c1d0da486aa1e6a62a2aa020c9 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750240884 "HTTP/1.1 200 OK" 2025-06-18 17:01:25.613 | INFO | e749a3c1d0da486aa1e6a62a2aa020c9 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750240885 "HTTP/1.1 200 OK" 2025-06-18 17:01:25.982 | INFO | e749a3c1d0da486aa1e6a62a2aa020c9 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&OriginIds=16&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 17:01:25.985 | INFO | e749a3c1d0da486aa1e6a62a2aa020c9 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1375], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 17:01:26.453 | INFO | e749a3c1d0da486aa1e6a62a2aa020c9 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 17:01:29.668 | INFO | e749a3c1d0da486aa1e6a62a2aa020c9 | 64.233.172.76:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 17:01:30.750 | INFO | 7ccebffe87434882a2e30b74de6fb438 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'TP. Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'origin_office': 'Bến xe Miền Tây', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 25.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 4.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898304.0, 'route': '15:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5898676.0, 'route': '17:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-18 17:01:30.750 | INFO | 7ccebffe87434882a2e30b74de6fb438 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 17:01:31.365 | INFO | 7ccebffe87434882a2e30b74de6fb438 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 17:01:31.600 | INFO | 7ccebffe87434882a2e30b74de6fb438 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 17:01:31.601 | INFO | 7ccebffe87434882a2e30b74de6fb438 | 64.233.172.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 17:15:27.290 | INFO | b18c65d824394fca92f704e6f7071a94 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 17:15:30.568 | INFO | b18c65d824394fca92f704e6f7071a94 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 17:15:31.597 | INFO | b18c65d824394fca92f704e6f7071a94 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 17:15:31.605 | INFO | b18c65d824394fca92f704e6f7071a94 | 64.233.172.72:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 17:15:33.188 | INFO | 7988f191148d4de1a61b0ff04657c841 | 64.233.172.75:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-18 17:15:40.661 | INFO | 33031fc484ce4785ba43519885ef99bb | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-18 17:15:41.070 | INFO | 33031fc484ce4785ba43519885ef99bb | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-18 17:15:41.084 | INFO | 33031fc484ce4785ba43519885ef99bb | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-18 17:15:41.163 | INFO | 33031fc484ce4785ba43519885ef99bb | 64.233.172.72:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 422 2025-06-18 17:17:40.497 | INFO | - | Shutting down 2025-06-18 17:17:40.654 | INFO | - | Waiting for application shutdown. 2025-06-18 17:17:40.654 | INFO | - | Application shutdown complete. 2025-06-18 17:17:40.655 | INFO | - | Finished server process [30292] 2025-06-18 17:17:51.637 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 17:17:51.638 | INFO | - | Started server process [19144] 2025-06-18 17:17:51.638 | INFO | - | Waiting for application startup. 2025-06-18 17:17:51.640 | INFO | - | Application startup complete. 2025-06-18 17:18:52.548 | INFO | 65753be99c2c48d4842e62533f8fa62b | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'destination_city': 'Thành phố Đà Lạt', 'origin_office': 'Bến xe Miền Tây', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 17:18:52.550 | INFO | 65753be99c2c48d4842e62533f8fa62b | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 17:18:52.552 | INFO | 65753be99c2c48d4842e62533f8fa62b | 64.233.172.70:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 17:18:54.128 | INFO | f091225bd27446e3bb9fe2c184628bdc | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 17:18:55.148 | INFO | f091225bd27446e3bb9fe2c184628bdc | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750241933 "HTTP/1.1 200 OK" 2025-06-18 17:18:55.149 | INFO | f091225bd27446e3bb9fe2c184628bdc | 64.233.172.76:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-18 17:18:55.838 | INFO | f6d715b982dc4dab8871d0cca7b9decc | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 1.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'TP. Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'origin_office': 'Bến xe Miền Tây', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 17:18:55.841 | INFO | f6d715b982dc4dab8871d0cca7b9decc | 64.233.172.71:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 17:18:58.185 | INFO | 2b35a6b943e740b6ab18f44797558a09 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 1.0, '$request.generative.response_fall_back': 'Chào bạn, tôi là FUTA Bus Assistant. Tôi có thể giúp gì cho bạn ạ?\n', 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'TP. Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'origin_office': 'Bến xe Miền Tây', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 17:18:58.190 | INFO | 2b35a6b943e740b6ab18f44797558a09 | 64.233.172.72:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 17:19:00.185 | INFO | 7e104b1729b0457796ea20a2f7532f58 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750241939 "HTTP/1.1 200 OK" 2025-06-18 17:19:00.808 | INFO | 7e104b1729b0457796ea20a2f7532f58 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750241940 "HTTP/1.1 200 OK" 2025-06-18 17:19:01.390 | INFO | 7e104b1729b0457796ea20a2f7532f58 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750241940 "HTTP/1.1 200 OK" 2025-06-18 17:19:02.055 | INFO | 7e104b1729b0457796ea20a2f7532f58 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750241941 "HTTP/1.1 200 OK" 2025-06-18 17:19:02.771 | INFO | 7e104b1729b0457796ea20a2f7532f58 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&OriginIds=16&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 17:19:02.774 | INFO | 7e104b1729b0457796ea20a2f7532f58 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1375], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 17:19:03.816 | INFO | 7e104b1729b0457796ea20a2f7532f58 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 17:19:13.586 | INFO | 7e104b1729b0457796ea20a2f7532f58 | 64.233.172.73:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 17:19:15.535 | INFO | 852ef157e208414987d7d339c58e1b0c | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750241955 "HTTP/1.1 200 OK" 2025-06-18 17:19:17.007 | INFO | 852ef157e208414987d7d339c58e1b0c | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750241955 "HTTP/1.1 200 OK" 2025-06-18 17:19:17.506 | INFO | 852ef157e208414987d7d339c58e1b0c | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&OriginIds=16&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 17:19:17.509 | INFO | 852ef157e208414987d7d339c58e1b0c | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1375], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 17:19:18.472 | INFO | 852ef157e208414987d7d339c58e1b0c | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 17:19:19.264 | INFO | 852ef157e208414987d7d339c58e1b0c | 64.233.172.75:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-18 17:19:20.675 | INFO | 0fea8f605cf340ca8fffb43f73b79730 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'TP. Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'origin_office': 'Bến xe Miền Tây', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898458.0, 'departure_time': 1750323600000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '19-06-2025', 'arrival_time': 1750352400000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 25.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750320000000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 3.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 4.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898304.0, 'route': '15:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5898365.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5898458.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5898676.0, 'route': '17:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-18 17:19:20.677 | INFO | 0fea8f605cf340ca8fffb43f73b79730 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 17:19:21.084 | INFO | 0fea8f605cf340ca8fffb43f73b79730 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 17:19:23.680 | INFO | 0fea8f605cf340ca8fffb43f73b79730 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 17:19:23.682 | INFO | 0fea8f605cf340ca8fffb43f73b79730 | 64.233.172.64:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-18 17:19:25.312 | INFO | ebfa6167d9e94241a9696a94c513c316 | Parameters for fetching seats: {'departureDate': '19-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-18 17:19:26.704 | INFO | ebfa6167d9e94241a9696a94c513c316 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-18 17:19:26.815 | INFO | ebfa6167d9e94241a9696a94c513c316 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898458?departureDate=19-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-18 17:19:26.820 | INFO | ebfa6167d9e94241a9696a94c513c316 | 64.233.172.73:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-18 17:19:27.585 | INFO | bce6eb47bd384617a098eb0b07df34c0 | 64.233.172.71:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-18 17:19:29.405 | INFO | 2ccfe20d30914f3fbe18063447de7f23 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-18 17:19:29.563 | INFO | 2ccfe20d30914f3fbe18063447de7f23 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-18 17:19:29.572 | INFO | 2ccfe20d30914f3fbe18063447de7f23 | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-18 17:19:29.579 | INFO | 2ccfe20d30914f3fbe18063447de7f23 | 64.233.172.73:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 422 2025-06-18 17:20:35.230 | INFO | - | Shutting down 2025-06-18 17:20:35.347 | INFO | - | Waiting for application shutdown. 2025-06-18 17:20:35.349 | INFO | - | Application shutdown complete. 2025-06-18 17:20:35.351 | INFO | - | Finished server process [19144] 2025-06-18 17:20:45.878 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 17:20:45.879 | INFO | - | Started server process [26860] 2025-06-18 17:20:45.880 | INFO | - | Waiting for application startup. 2025-06-18 17:20:45.882 | INFO | - | Application startup complete. 2025-06-18 17:21:57.739 | INFO | f1457a00dfc14b638a80fa5e220a19f7 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'destination_city': 'Thành phố Đà Lạt', 'origin_office': 'Bến xe Miền Tây', 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 17:21:57.739 | INFO | f1457a00dfc14b638a80fa5e220a19f7 | Time selection: {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 17:21:57.740 | INFO | f1457a00dfc14b638a80fa5e220a19f7 | 64.233.172.64:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 17:21:59.083 | INFO | bb6108b087a5412bb5d41f4b4819fcea | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 17:21:59.588 | INFO | bb6108b087a5412bb5d41f4b4819fcea | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750242118 "HTTP/1.1 200 OK" 2025-06-18 17:21:59.589 | INFO | bb6108b087a5412bb5d41f4b4819fcea | 64.233.172.71:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-18 17:22:00.280 | INFO | 73406dba0f0b493bb9ff8ab6c792d511 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 1.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'TP. Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'origin_office': 'Bến xe Miền Tây', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 17:22:00.292 | INFO | 73406dba0f0b493bb9ff8ab6c792d511 | 64.233.172.78:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 17:22:03.301 | INFO | 28cf198a5515417db7cb22ec81bcdd5d | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 1.0, '$request.generative.response_fall_back': 'Chào bạn, tôi là FUTA Bus Assistant. Tôi có thể giúp gì cho bạn ạ?\n', 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'TP. Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'origin_office': 'Bến xe Miền Tây', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 17:22:03.305 | INFO | 28cf198a5515417db7cb22ec81bcdd5d | 64.233.172.70:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 17:22:05.977 | INFO | 88c725fa4de04f4bbfb8a084217c5cf3 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750242125 "HTTP/1.1 200 OK" 2025-06-18 17:22:06.505 | INFO | 88c725fa4de04f4bbfb8a084217c5cf3 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750242125 "HTTP/1.1 200 OK" 2025-06-18 17:22:07.094 | INFO | 88c725fa4de04f4bbfb8a084217c5cf3 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750242126 "HTTP/1.1 200 OK" 2025-06-18 17:22:07.882 | INFO | 88c725fa4de04f4bbfb8a084217c5cf3 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750242127 "HTTP/1.1 200 OK" 2025-06-18 17:22:08.783 | INFO | 88c725fa4de04f4bbfb8a084217c5cf3 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&OriginIds=16&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 17:22:08.790 | INFO | 88c725fa4de04f4bbfb8a084217c5cf3 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1375], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 17:22:10.711 | INFO | 88c725fa4de04f4bbfb8a084217c5cf3 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 17:22:23.833 | INFO | 88c725fa4de04f4bbfb8a084217c5cf3 | 64.233.172.71:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 17:22:26.735 | INFO | 2e72cc02f5d24709b28acb5ec0fb5de9 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750242145 "HTTP/1.1 200 OK" 2025-06-18 17:22:27.597 | INFO | 2e72cc02f5d24709b28acb5ec0fb5de9 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750242146 "HTTP/1.1 200 OK" 2025-06-18 17:22:28.664 | INFO | 2e72cc02f5d24709b28acb5ec0fb5de9 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&OriginIds=16&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 17:22:28.666 | INFO | 2e72cc02f5d24709b28acb5ec0fb5de9 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1375], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 17:22:29.407 | INFO | 2e72cc02f5d24709b28acb5ec0fb5de9 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 17:22:38.273 | INFO | 1ac68558ac9f41f7958f5b068b010d7b | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750242157 "HTTP/1.1 200 OK" 2025-06-18 17:22:38.759 | INFO | 1ac68558ac9f41f7958f5b068b010d7b | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750242158 "HTTP/1.1 200 OK" 2025-06-18 17:22:39.372 | INFO | 1ac68558ac9f41f7958f5b068b010d7b | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750242158 "HTTP/1.1 200 OK" 2025-06-18 17:22:40.606 | INFO | 1ac68558ac9f41f7958f5b068b010d7b | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750242159 "HTTP/1.1 200 OK" 2025-06-18 17:22:41.142 | INFO | 1ac68558ac9f41f7958f5b068b010d7b | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&OriginIds=16&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 17:22:41.148 | INFO | 1ac68558ac9f41f7958f5b068b010d7b | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1375], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 17:22:41.919 | INFO | 1ac68558ac9f41f7958f5b068b010d7b | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 17:27:23.098 | INFO | 90330a64d0404e128b51440cb9bf3a70 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 17:27:23.098 | INFO | 90330a64d0404e128b51440cb9bf3a70 | Time selection: {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 17:27:23.099 | INFO | 90330a64d0404e128b51440cb9bf3a70 | 64.233.172.70:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 17:27:23.792 | INFO | d2d5c0b436e349d194bc24cca0a08c67 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 17:27:23.795 | INFO | d2d5c0b436e349d194bc24cca0a08c67 | 64.233.172.71:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 17:27:30.289 | INFO | e8297262bf44466089e4f34fc17797d8 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 17:27:30.292 | INFO | e8297262bf44466089e4f34fc17797d8 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 17:27:31.082 | INFO | e8297262bf44466089e4f34fc17797d8 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 17:28:31.300 | INFO | e53d384c5a3a42d4bb7ed45a8e885cd3 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'time_select': {'hours': 1.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 1.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 13.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 1.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}}} 2025-06-18 17:28:31.300 | INFO | e53d384c5a3a42d4bb7ed45a8e885cd3 | Time selection: {'hours': 1.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0, 'future': {'hours': 1.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'past': {'hours': 13.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'partial': {'hours': 1.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 17:28:31.301 | INFO | e53d384c5a3a42d4bb7ed45a8e885cd3 | 64.233.172.75:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 17:28:32.139 | INFO | 9a1af893dbb44cf994c172d6b2ea398b | 64.233.172.72:0 - "POST /api/v1/time/ambiguity-selection HTTP/1.1" 200 2025-06-18 17:28:38.541 | INFO | 15f93c2f31f24e17a890154da618d872 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': True, 'time_select': {'hours': 13.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 17:28:38.542 | INFO | 15f93c2f31f24e17a890154da618d872 | Time selection: {'hours': 13.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0} 2025-06-18 17:28:38.543 | INFO | 15f93c2f31f24e17a890154da618d872 | 64.233.172.75:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 17:28:39.198 | INFO | c06c71fe5af54ee99a09e8951b78c362 | Received parameters: {'$flow.retry_num': 3.0, '$flow.webhook_retry_num': 0.0, 'date': {'year': 2025.0, 'month': 6.0, 'day': 19.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'ticket_number': 1.0, 'time_select': {'hours': 13.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}} 2025-06-18 17:28:39.201 | INFO | c06c71fe5af54ee99a09e8951b78c362 | 64.233.172.77:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 17:28:43.273 | INFO | 9cf8251e631743978fda26ea0a6a2520 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 17:28:43.292 | INFO | 9cf8251e631743978fda26ea0a6a2520 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 17:28:44.709 | INFO | 9cf8251e631743978fda26ea0a6a2520 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 17:28:58.003 | INFO | 9cf8251e631743978fda26ea0a6a2520 | 64.233.172.76:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 17:29:05.354 | INFO | cebe32b8cda04737a39f0aa3fd9b1a02 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 17:29:05.359 | INFO | cebe32b8cda04737a39f0aa3fd9b1a02 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 17:29:06.367 | INFO | cebe32b8cda04737a39f0aa3fd9b1a02 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 17:37:31.996 | INFO | - | Shutting down 2025-06-18 17:37:32.105 | INFO | - | Waiting for application shutdown. 2025-06-18 17:37:32.109 | INFO | - | Application shutdown complete. 2025-06-18 17:37:32.110 | INFO | - | Finished server process [26860] 2025-06-18 17:37:43.551 | INFO | - | Model loaded from app/ner/models/ner 2025-06-18 17:37:43.552 | INFO | - | Started server process [13356] 2025-06-18 17:37:43.553 | INFO | - | Waiting for application startup. 2025-06-18 17:37:43.555 | INFO | - | Application startup complete. 2025-06-18 17:37:57.474 | INFO | eb85f96cd28040c19b64779a7ee1310b | 64.233.172.77:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-18 17:37:58.228 | INFO | 2cafba4533cf440aa7673a4327b18b7f | 64.233.172.72:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-18 17:38:03.793 | INFO | 5f7624f90ff145c590e8b57692f384d6 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-18 17:38:04.664 | INFO | 5f7624f90ff145c590e8b57692f384d6 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 17:38:04.668 | INFO | 5f7624f90ff145c590e8b57692f384d6 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 17:38:05.741 | INFO | 5f7624f90ff145c590e8b57692f384d6 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-18 17:38:24.805 | INFO | 5f7624f90ff145c590e8b57692f384d6 | 64.233.172.78:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-18 17:38:34.423 | INFO | 865dcd44b23f464689eb18c6d7092328 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-18 17:38:34.435 | INFO | 865dcd44b23f464689eb18c6d7092328 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750266000000, 'to_time': 1750352399000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-18 17:38:36.362 | INFO | 865dcd44b23f464689eb18c6d7092328 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 09:06:12.612 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 09:06:12.612 | INFO | - | Started server process [8776] 2025-06-19 09:06:12.615 | INFO | - | Waiting for application startup. 2025-06-19 09:06:12.618 | INFO | - | Application startup complete. 2025-06-19 09:06:18.852 | INFO | 5e66761150bd4639814b45e9ead556f8 | 14.241.227.54:0 - "GET / HTTP/1.1" 404 2025-06-19 09:06:19.687 | INFO | 5f6aa032daaf4ae7a4eb5a0de864f2d7 | 14.241.227.54:0 - "GET /favicon.ico HTTP/1.1" 404 2025-06-19 09:06:21.508 | INFO | 43650de29acd4685afc6c1b08b97283f | 14.241.227.54:0 - "GET /docs HTTP/1.1" 200 2025-06-19 09:06:23.216 | INFO | 628f3a7798f74c7ba9480ac97fcbdddd | 14.241.227.54:0 - "GET /openapi HTTP/1.1" 200 2025-06-19 09:09:05.152 | INFO | 64bab8beb03543bd816cad64b6648ff3 | 74.125.212.67:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 09:09:06.052 | INFO | 98e241fe5cf24164b7a47a8b520fb70a | 74.125.212.70:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 09:09:10.584 | INFO | 8a9e15df9eb9423591f6b204c04964a5 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-19 09:09:11.248 | INFO | 8a9e15df9eb9423591f6b204c04964a5 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 09:09:11.252 | INFO | 8a9e15df9eb9423591f6b204c04964a5 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 09:09:12.087 | INFO | 8a9e15df9eb9423591f6b204c04964a5 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 09:09:12.971 | INFO | 8a9e15df9eb9423591f6b204c04964a5 | 74.125.212.67:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-19 09:09:24.823 | INFO | f67e3a6324af4c0cb3b1e53a7051ee73 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 09:09:24.829 | INFO | f67e3a6324af4c0cb3b1e53a7051ee73 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 09:09:25.677 | INFO | f67e3a6324af4c0cb3b1e53a7051ee73 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 09:09:26.251 | INFO | f67e3a6324af4c0cb3b1e53a7051ee73 | 74.125.212.70:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-19 09:09:26.882 | INFO | 49479afbc9cf413c8e3236b38f712e83 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-19 09:09:26.882 | INFO | 49479afbc9cf413c8e3236b38f712e83 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:09:27.278 | INFO | 49479afbc9cf413c8e3236b38f712e83 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:09:27.462 | INFO | 49479afbc9cf413c8e3236b38f712e83 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:09:27.467 | INFO | 49479afbc9cf413c8e3236b38f712e83 | 74.125.212.69:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:09:39.781 | INFO | aa4e417afb3d4739af6ccb95a346b13d | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:09:40.171 | INFO | aa4e417afb3d4739af6ccb95a346b13d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:09:40.333 | INFO | aa4e417afb3d4739af6ccb95a346b13d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:09:40.333 | INFO | aa4e417afb3d4739af6ccb95a346b13d | 74.125.212.69:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:09:41.142 | INFO | ed86003285394144b47e3456d080450e | 74.125.212.71:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-19 09:10:12.951 | INFO | b8abc462ef9448b6a0ec84d6da5017f6 | 74.125.212.71:0 - "POST /api/v1/user/extract-name HTTP/1.1" 200 2025-06-19 09:10:23.672 | INFO | d3620432507e4e9ca8f9229954e0ab49 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 09:10:23.805 | INFO | d3620432507e4e9ca8f9229954e0ab49 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 09:10:23.811 | INFO | d3620432507e4e9ca8f9229954e0ab49 | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-19 09:10:23.813 | INFO | d3620432507e4e9ca8f9229954e0ab49 | 74.125.212.69:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 422 2025-06-19 09:12:12.017 | INFO | - | Shutting down 2025-06-19 09:12:12.129 | INFO | - | Waiting for application shutdown. 2025-06-19 09:12:12.129 | INFO | - | Application shutdown complete. 2025-06-19 09:12:12.129 | INFO | - | Finished server process [8776] 2025-06-19 09:12:24.101 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 09:12:24.101 | INFO | - | Started server process [2040] 2025-06-19 09:12:24.101 | INFO | - | Waiting for application startup. 2025-06-19 09:12:24.101 | INFO | - | Application startup complete. 2025-06-19 09:18:42.223 | INFO | 223d1788a95c413f893ce1e352966062 | 74.125.212.68:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 09:18:42.827 | INFO | 35338b4be6a34dcc9e6a4ad25feb8e00 | 74.125.212.64:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 09:18:44.653 | INFO | 87f32b269f524aec96250b959841b461 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-19 09:18:45.192 | INFO | 87f32b269f524aec96250b959841b461 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 09:18:45.197 | INFO | 87f32b269f524aec96250b959841b461 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 09:18:45.901 | INFO | 87f32b269f524aec96250b959841b461 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 09:18:46.360 | INFO | 87f32b269f524aec96250b959841b461 | 74.125.212.64:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-19 09:18:47.835 | INFO | 5d849604fb3947db9e58f4e3fbaf156b | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 09:18:47.848 | INFO | 5d849604fb3947db9e58f4e3fbaf156b | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 09:18:48.520 | INFO | 5d849604fb3947db9e58f4e3fbaf156b | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 09:18:49.228 | INFO | 5d849604fb3947db9e58f4e3fbaf156b | 74.125.212.70:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-19 09:18:50.179 | INFO | a71242ec825a46f592e85b3adeedc578 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-19 09:18:50.179 | INFO | a71242ec825a46f592e85b3adeedc578 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:18:50.443 | INFO | a71242ec825a46f592e85b3adeedc578 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:18:50.564 | INFO | a71242ec825a46f592e85b3adeedc578 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:18:50.564 | INFO | a71242ec825a46f592e85b3adeedc578 | 74.125.212.70:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:18:51.632 | INFO | 4bd6da1e16df4e82b849e0a7ad244864 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:18:51.970 | INFO | 4bd6da1e16df4e82b849e0a7ad244864 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:18:52.059 | INFO | 4bd6da1e16df4e82b849e0a7ad244864 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:18:52.059 | INFO | 4bd6da1e16df4e82b849e0a7ad244864 | 74.125.212.69:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:18:52.570 | INFO | 6d172f22caf9486a89f8afd19d9fb1d5 | 74.125.212.70:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-19 09:18:54.833 | INFO | 4ed74505c8964536bdb3a3d0ec7fe1e4 | 74.125.212.70:0 - "POST /api/v1/user/extract-name HTTP/1.1" 200 2025-06-19 09:18:56.598 | INFO | e49cabf5319041b9aeaac56d3850f233 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 09:18:56.723 | INFO | e49cabf5319041b9aeaac56d3850f233 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 09:18:56.723 | INFO | e49cabf5319041b9aeaac56d3850f233 | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-19 09:18:56.723 | INFO | e49cabf5319041b9aeaac56d3850f233 | 74.125.212.68:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 422 2025-06-19 09:19:37.074 | INFO | - | Shutting down 2025-06-19 09:19:37.186 | INFO | - | Waiting for application shutdown. 2025-06-19 09:19:37.187 | INFO | - | Application shutdown complete. 2025-06-19 09:19:37.189 | INFO | - | Finished server process [2040] 2025-06-19 09:19:46.913 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 09:19:46.913 | INFO | - | Started server process [21860] 2025-06-19 09:19:46.913 | INFO | - | Waiting for application startup. 2025-06-19 09:19:46.913 | INFO | - | Application startup complete. 2025-06-19 09:19:52.831 | INFO | 6b49904e57b84570a7c9c4c632c361a4 | 74.125.212.70:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 09:19:53.383 | INFO | 9cfc684d09524c7c8f90f86a3483d7bf | 74.125.212.68:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 09:19:54.837 | INFO | cf8de2c0fba84e6c95899f13d3f6191d | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-19 09:19:55.325 | INFO | cf8de2c0fba84e6c95899f13d3f6191d | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 09:19:55.325 | INFO | cf8de2c0fba84e6c95899f13d3f6191d | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 09:19:56.083 | INFO | cf8de2c0fba84e6c95899f13d3f6191d | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 09:19:56.561 | INFO | cf8de2c0fba84e6c95899f13d3f6191d | 74.125.212.71:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-19 09:19:58.027 | INFO | 590d5ee5852842a095166537797e6b37 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 09:19:58.033 | INFO | 590d5ee5852842a095166537797e6b37 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 09:19:58.610 | INFO | 590d5ee5852842a095166537797e6b37 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 09:19:59.209 | INFO | 590d5ee5852842a095166537797e6b37 | 74.125.212.66:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-19 09:20:00.046 | INFO | 57d713895be740faa1388ca747fe4d99 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-19 09:20:00.052 | INFO | 57d713895be740faa1388ca747fe4d99 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:20:00.624 | INFO | 57d713895be740faa1388ca747fe4d99 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:20:00.858 | INFO | 57d713895be740faa1388ca747fe4d99 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:20:00.858 | INFO | 57d713895be740faa1388ca747fe4d99 | 74.125.212.64:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:20:02.314 | INFO | 4f90c37ebfd84ff3be3ccefb1b0cc819 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:20:02.604 | INFO | 4f90c37ebfd84ff3be3ccefb1b0cc819 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:20:02.673 | INFO | 4f90c37ebfd84ff3be3ccefb1b0cc819 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:20:02.690 | INFO | 4f90c37ebfd84ff3be3ccefb1b0cc819 | 74.125.212.64:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:20:03.293 | INFO | 6c54af1653bf49c6a1f7ab0afdfb70f1 | 74.125.212.70:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-19 09:20:05.091 | INFO | 0f4dc7da6857477b8c370d7652a08610 | 74.125.212.64:0 - "POST /api/v1/user/extract-name HTTP/1.1" 200 2025-06-19 09:20:06.279 | INFO | 1ea0743c58d94d27962d4eeba03ea3fb | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': True, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:20:06.654 | INFO | 1ea0743c58d94d27962d4eeba03ea3fb | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 09:20:06.725 | INFO | 1ea0743c58d94d27962d4eeba03ea3fb | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 09:20:06.737 | INFO | 1ea0743c58d94d27962d4eeba03ea3fb | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-19 09:20:06.737 | INFO | 1ea0743c58d94d27962d4eeba03ea3fb | 74.125.212.66:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 422 2025-06-19 09:22:21.133 | INFO | - | Shutting down 2025-06-19 09:22:21.242 | INFO | - | Waiting for application shutdown. 2025-06-19 09:22:21.244 | INFO | - | Application shutdown complete. 2025-06-19 09:22:21.246 | INFO | - | Finished server process [21860] 2025-06-19 09:22:31.910 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 09:22:31.912 | INFO | - | Started server process [9996] 2025-06-19 09:22:31.913 | INFO | - | Waiting for application startup. 2025-06-19 09:22:31.915 | INFO | - | Application startup complete. 2025-06-19 09:23:30.180 | INFO | 53a62524a32d462fbc14403e2c534605 | 74.125.212.68:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 09:23:31.446 | INFO | 2debe18232c3426cb63554fbb20291d1 | 74.125.212.69:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 09:23:32.815 | INFO | d603911167944c198555e28fce143b54 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-19 09:23:33.287 | INFO | d603911167944c198555e28fce143b54 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 09:23:33.294 | INFO | d603911167944c198555e28fce143b54 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 09:23:34.908 | INFO | d603911167944c198555e28fce143b54 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 09:23:59.784 | INFO | d603911167944c198555e28fce143b54 | 74.125.212.69:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-19 09:24:02.552 | INFO | d7ab1c519646461a9f83d824760d9537 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 09:24:02.552 | INFO | d7ab1c519646461a9f83d824760d9537 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 09:24:03.392 | INFO | d7ab1c519646461a9f83d824760d9537 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 09:24:03.858 | INFO | d7ab1c519646461a9f83d824760d9537 | 74.125.212.68:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-19 09:24:04.560 | INFO | ba572f1f52e9402792760745e9e64966 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-19 09:24:04.565 | INFO | ba572f1f52e9402792760745e9e64966 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:24:04.870 | INFO | ba572f1f52e9402792760745e9e64966 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:24:05.018 | INFO | ba572f1f52e9402792760745e9e64966 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:24:05.023 | INFO | ba572f1f52e9402792760745e9e64966 | 74.125.212.64:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:24:06.028 | INFO | a3febc8774114ba19999eae644db1a19 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:24:06.433 | INFO | a3febc8774114ba19999eae644db1a19 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:24:06.537 | INFO | a3febc8774114ba19999eae644db1a19 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:24:06.551 | INFO | a3febc8774114ba19999eae644db1a19 | 74.125.212.64:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:24:07.419 | INFO | 145fee2bc8724e8192ebbaefb0264a1e | 74.125.212.70:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-19 09:24:09.419 | INFO | 1eac601d5ba24312a5aeb6e8c8f22de2 | 74.125.212.69:0 - "POST /api/v1/user/extract-name HTTP/1.1" 200 2025-06-19 09:24:10.546 | INFO | 1e6c50f6527f43abba0542e2cb86791d | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': True, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:24:10.552 | INFO | 1e6c50f6527f43abba0542e2cb86791d | Received data: trip_data=TripDTO(id=5898738, route_id=405, way_id=177, route=Route(name='Mien Tay - Da Lat'), raw_departure_date='20-06-2025', raw_departure_time='18:00', seat_type_name='Limousine', price=290000) 2025-06-19 09:24:10.893 | INFO | 1e6c50f6527f43abba0542e2cb86791d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 09:24:11.022 | INFO | 1e6c50f6527f43abba0542e2cb86791d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 09:24:11.052 | INFO | 1e6c50f6527f43abba0542e2cb86791d | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-19 09:24:11.080 | INFO | 1e6c50f6527f43abba0542e2cb86791d | 74.125.212.71:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 422 2025-06-19 09:25:24.818 | INFO | 5dd44ee8c3c64a05bbab4a61da6eb478 | 74.125.212.68:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 09:25:25.463 | INFO | 2f1ea7f6f9174436b8146464a8305179 | 74.125.212.70:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 09:25:26.535 | INFO | 7ff45b5018a841f4869635f79f4e6845 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 09:25:26.541 | INFO | 7ff45b5018a841f4869635f79f4e6845 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 09:25:27.232 | INFO | 7ff45b5018a841f4869635f79f4e6845 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 09:25:27.806 | INFO | 7ff45b5018a841f4869635f79f4e6845 | 74.125.212.68:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-19 09:25:29.284 | INFO | 909fa352aef24e34980d657cc5e80d9b | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 09:25:29.288 | INFO | 909fa352aef24e34980d657cc5e80d9b | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 09:25:29.940 | INFO | 909fa352aef24e34980d657cc5e80d9b | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 09:25:30.618 | INFO | 909fa352aef24e34980d657cc5e80d9b | 74.125.212.67:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-19 09:25:31.352 | INFO | 1fafb642be4d446690de01cedc7a9087 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-19 09:25:31.356 | INFO | 1fafb642be4d446690de01cedc7a9087 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:25:31.695 | INFO | 1fafb642be4d446690de01cedc7a9087 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:25:31.788 | INFO | 1fafb642be4d446690de01cedc7a9087 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:25:31.796 | INFO | 1fafb642be4d446690de01cedc7a9087 | 74.125.212.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:25:33.052 | INFO | 4b3f0b114a9446a69ab2cf6b5d626726 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:25:33.356 | INFO | 4b3f0b114a9446a69ab2cf6b5d626726 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:25:33.452 | INFO | 4b3f0b114a9446a69ab2cf6b5d626726 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:25:33.459 | INFO | 4b3f0b114a9446a69ab2cf6b5d626726 | 74.125.212.64:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:25:34.217 | INFO | e329a93f5ca240ad804748a771363439 | 74.125.212.69:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-19 09:25:35.835 | INFO | 370f11003eb440edbf8add20d267a7d5 | 74.125.212.65:0 - "POST /api/v1/user/extract-name HTTP/1.1" 200 2025-06-19 09:25:37.312 | INFO | f874e84d47e14d289b5f0f39a895d255 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': True, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:25:37.318 | INFO | f874e84d47e14d289b5f0f39a895d255 | Received data: trip_data=TripDTO(id=5898738, route_id=405, way_id=177, route=Route(name='Mien Tay - Da Lat'), raw_departure_date='20-06-2025', raw_departure_time='18:00', seat_type_name='Limousine', price=290000) 2025-06-19 09:25:37.647 | INFO | f874e84d47e14d289b5f0f39a895d255 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 09:25:37.782 | INFO | f874e84d47e14d289b5f0f39a895d255 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 09:25:37.789 | INFO | f874e84d47e14d289b5f0f39a895d255 | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-19 09:25:37.796 | INFO | f874e84d47e14d289b5f0f39a895d255 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 422 2025-06-19 09:26:24.012 | INFO | - | Shutting down 2025-06-19 09:26:24.120 | INFO | - | Waiting for application shutdown. 2025-06-19 09:26:24.123 | INFO | - | Application shutdown complete. 2025-06-19 09:26:24.123 | INFO | - | Finished server process [9996] 2025-06-19 09:26:33.869 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 09:26:33.870 | INFO | - | Started server process [5496] 2025-06-19 09:26:33.870 | INFO | - | Waiting for application startup. 2025-06-19 09:26:33.873 | INFO | - | Application startup complete. 2025-06-19 09:26:53.436 | INFO | 70db38967fc54cf0ae60c7588a98f953 | 74.125.212.68:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 09:26:54.141 | INFO | 83a95f59dc3749cc8fc24163fd3314cd | 74.125.212.65:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 09:26:55.784 | INFO | 3da751f413724b14a1c00e7391899714 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-19 09:26:56.530 | INFO | 3da751f413724b14a1c00e7391899714 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 09:26:56.530 | INFO | 3da751f413724b14a1c00e7391899714 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 09:26:57.139 | INFO | 3da751f413724b14a1c00e7391899714 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 09:26:57.672 | INFO | 3da751f413724b14a1c00e7391899714 | 74.125.212.69:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-19 09:26:58.989 | INFO | 179b70f73f364c579bcd983c1b086cca | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 09:26:58.994 | INFO | 179b70f73f364c579bcd983c1b086cca | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 09:26:59.620 | INFO | 179b70f73f364c579bcd983c1b086cca | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 09:27:00.020 | INFO | 179b70f73f364c579bcd983c1b086cca | 74.125.212.64:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-19 09:27:00.763 | INFO | 8086458cd49d45aea0beb6ce44567402 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-19 09:27:00.763 | INFO | 8086458cd49d45aea0beb6ce44567402 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:27:01.930 | INFO | 8086458cd49d45aea0beb6ce44567402 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:27:02.126 | INFO | 8086458cd49d45aea0beb6ce44567402 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:27:02.130 | INFO | 8086458cd49d45aea0beb6ce44567402 | 74.125.212.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:27:03.167 | INFO | da6b20db7e37406380c83035f97be598 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:27:03.699 | INFO | da6b20db7e37406380c83035f97be598 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:27:03.864 | INFO | da6b20db7e37406380c83035f97be598 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:27:03.864 | INFO | da6b20db7e37406380c83035f97be598 | 74.125.212.64:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:27:04.586 | INFO | 8df933b395cf42039fc98639adbb3e0b | 74.125.212.65:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-19 09:27:06.155 | INFO | d4c439aa023c4e7f98bd7380b5145cf5 | 74.125.212.64:0 - "POST /api/v1/user/extract-name HTTP/1.1" 200 2025-06-19 09:27:07.242 | INFO | 0b915eddf23944c086acfbb7fcfdce97 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': True, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:27:07.242 | INFO | 0b915eddf23944c086acfbb7fcfdce97 | Received data: trip_data=TripDTO(id=5898738, route_id=405, way_id=177, route=Route(name='Mien Tay - Da Lat'), raw_departure_date='20-06-2025', raw_departure_time='18:00', seat_type_name='Limousine', price=290000) 2025-06-19 09:27:07.969 | INFO | 0b915eddf23944c086acfbb7fcfdce97 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 09:27:08.059 | INFO | 0b915eddf23944c086acfbb7fcfdce97 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 09:27:08.063 | INFO | 0b915eddf23944c086acfbb7fcfdce97 | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-19 09:27:08.067 | INFO | 0b915eddf23944c086acfbb7fcfdce97 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 422 2025-06-19 09:32:36.595 | INFO | - | Shutting down 2025-06-19 09:32:36.699 | INFO | - | Waiting for application shutdown. 2025-06-19 09:32:36.702 | INFO | - | Application shutdown complete. 2025-06-19 09:32:36.704 | INFO | - | Finished server process [5496] 2025-06-19 09:32:46.088 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 09:32:46.089 | INFO | - | Started server process [3824] 2025-06-19 09:32:46.089 | INFO | - | Waiting for application startup. 2025-06-19 09:32:46.091 | INFO | - | Application startup complete. 2025-06-19 09:33:34.160 | INFO | 72a39bed66dc4f8eb6271e35dc2b9861 | 74.125.212.64:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 09:33:34.925 | INFO | c026569296264bd88df4654b2fd6f77d | 74.125.212.69:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 09:33:37.266 | INFO | 548e4caff722499896ad131051c606ba | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-19 09:33:37.843 | INFO | 548e4caff722499896ad131051c606ba | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 09:33:37.847 | INFO | 548e4caff722499896ad131051c606ba | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 09:33:38.916 | INFO | 548e4caff722499896ad131051c606ba | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 09:33:42.474 | INFO | 548e4caff722499896ad131051c606ba | 74.125.212.64:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-19 09:33:43.850 | INFO | 83bb9bab8e9b419db8848c3fef2b99ec | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 09:33:43.854 | INFO | 83bb9bab8e9b419db8848c3fef2b99ec | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 09:33:44.622 | INFO | 83bb9bab8e9b419db8848c3fef2b99ec | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 09:33:45.490 | INFO | 83bb9bab8e9b419db8848c3fef2b99ec | 74.125.212.70:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-19 09:33:46.435 | INFO | 9cc5f088dd8a41fbaff620db6570165a | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-19 09:33:46.436 | INFO | 9cc5f088dd8a41fbaff620db6570165a | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:33:46.750 | INFO | 9cc5f088dd8a41fbaff620db6570165a | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:33:46.886 | INFO | 9cc5f088dd8a41fbaff620db6570165a | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:33:46.897 | INFO | 9cc5f088dd8a41fbaff620db6570165a | 74.125.212.70:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:33:48.176 | INFO | 90088ad1d6654f58a12fd98f7b4a866a | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:33:48.619 | INFO | 90088ad1d6654f58a12fd98f7b4a866a | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:33:48.711 | INFO | 90088ad1d6654f58a12fd98f7b4a866a | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:33:48.713 | INFO | 90088ad1d6654f58a12fd98f7b4a866a | 74.125.212.70:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:33:49.511 | INFO | a6e3bc9f4272424fbe77ae0d567fb0d4 | 74.125.212.71:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-19 09:33:51.086 | INFO | ef564359b7b244b7a5848cc65800728f | 74.125.212.68:0 - "POST /api/v1/user/extract-name HTTP/1.1" 200 2025-06-19 09:33:52.643 | INFO | ecdf750a409a413da94c14d081019850 | Received body: {'detectIntentResponseId': 'bf7bf3bd-c941-47dd-a3db-6ffff9f76cd0', 'intentInfo': {'lastMatchedIntent': 'projects/busbooking-451909/locations/us-central1/agents/76716506-e80a-413a-931b-6b61ef715d31/intents/334510b1-c527-4b2b-bf75-4ae847d238ff', 'displayName': 'confirm.yes', 'confidence': 1.0}, 'pageInfo': {'currentPage': 'projects/busbooking-451909/locations/us-central1/agents/76716506-e80a-413a-931b-6b61ef715d31/flows/df8a9b01-2f8f-4a3e-9cf5-a5cf08585d0c/pages/fde94d34-6cfa-4530-a62b-dd792be454d0', 'displayName': 'Select Pick Up'}, 'sessionInfo': {'session': 'projects/busbooking-451909/locations/us-central1/agents/76716506-e80a-413a-931b-6b61ef715d31/sessions/8f7dee-7ca-a86-edd-4dc7bff51', 'parameters': {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': True, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'}}, 'fulfillmentInfo': {'tag': 'selectpickup'}, 'text': 'ok', 'languageCode': 'vi', 'languageInfo': {'inputLanguageCode': 'vi', 'resolvedLanguageCode': 'vi', 'confidenceScore': 1.0}} 2025-06-19 09:33:52.649 | INFO | ecdf750a409a413da94c14d081019850 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': True, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:33:52.654 | INFO | ecdf750a409a413da94c14d081019850 | Received data: trip_data=TripDTO(id=5898738, route_id=405, way_id=177, route=Route(name='Mien Tay - Da Lat'), raw_departure_date='20-06-2025', raw_departure_time='18:00', seat_type_name='Limousine', price=290000) 2025-06-19 09:33:53.099 | INFO | ecdf750a409a413da94c14d081019850 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 09:33:53.178 | INFO | ecdf750a409a413da94c14d081019850 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 09:33:53.186 | INFO | ecdf750a409a413da94c14d081019850 | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-19 09:33:53.188 | INFO | ecdf750a409a413da94c14d081019850 | 74.125.212.68:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 422 2025-06-19 09:37:37.700 | INFO | - | Shutting down 2025-06-19 09:37:37.805 | INFO | - | Waiting for application shutdown. 2025-06-19 09:37:37.805 | INFO | - | Application shutdown complete. 2025-06-19 09:37:37.805 | INFO | - | Finished server process [3824] 2025-06-19 09:37:47.301 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 09:37:47.301 | INFO | - | Started server process [1920] 2025-06-19 09:37:47.301 | INFO | - | Waiting for application startup. 2025-06-19 09:37:47.301 | INFO | - | Application startup complete. 2025-06-19 09:39:22.326 | INFO | - | Shutting down 2025-06-19 09:39:22.437 | INFO | - | Waiting for application shutdown. 2025-06-19 09:39:22.438 | INFO | - | Application shutdown complete. 2025-06-19 09:39:22.438 | INFO | - | Finished server process [1920] 2025-06-19 09:39:32.112 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 09:39:32.113 | INFO | - | Started server process [3696] 2025-06-19 09:39:32.113 | INFO | - | Waiting for application startup. 2025-06-19 09:39:32.115 | INFO | - | Application startup complete. 2025-06-19 09:39:42.401 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 09:39:42.401 | INFO | - | Started server process [23924] 2025-06-19 09:39:42.401 | INFO | - | Waiting for application startup. 2025-06-19 09:39:42.401 | INFO | - | Application startup complete. 2025-06-19 09:39:51.633 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 09:39:51.633 | INFO | - | Started server process [30620] 2025-06-19 09:39:51.634 | INFO | - | Waiting for application startup. 2025-06-19 09:39:51.636 | INFO | - | Application startup complete. 2025-06-19 09:40:19.389 | INFO | 09399196ff474f01860cfe19e174194e | 74.125.212.68:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 09:40:20.060 | INFO | 3a3a2f22ae4541bcb57c35e4b9af714e | 74.125.212.67:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 09:40:21.897 | INFO | d0d7331075bc412d9aa9482e7325dfb7 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-19 09:40:23.178 | INFO | d0d7331075bc412d9aa9482e7325dfb7 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 09:40:23.192 | INFO | d0d7331075bc412d9aa9482e7325dfb7 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 09:40:24.533 | INFO | d0d7331075bc412d9aa9482e7325dfb7 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 09:40:26.079 | INFO | d0d7331075bc412d9aa9482e7325dfb7 | 74.125.212.70:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-19 09:40:27.651 | INFO | 579768a181374144b8a805fd06ceb90f | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 09:40:27.651 | INFO | 579768a181374144b8a805fd06ceb90f | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 09:40:28.575 | INFO | 579768a181374144b8a805fd06ceb90f | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 09:40:29.284 | INFO | 579768a181374144b8a805fd06ceb90f | 74.125.212.66:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-19 09:40:30.095 | INFO | aa3b34a4cc2149c4b2dcc60d25c0a29c | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-19 09:40:30.095 | INFO | aa3b34a4cc2149c4b2dcc60d25c0a29c | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:40:30.615 | INFO | aa3b34a4cc2149c4b2dcc60d25c0a29c | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:40:30.869 | INFO | aa3b34a4cc2149c4b2dcc60d25c0a29c | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:40:30.869 | INFO | aa3b34a4cc2149c4b2dcc60d25c0a29c | 74.125.212.65:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:40:32.345 | INFO | 9d61a4f76d924520a4c111306932f654 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:40:32.751 | INFO | 9d61a4f76d924520a4c111306932f654 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:40:32.855 | INFO | 9d61a4f76d924520a4c111306932f654 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:40:32.857 | INFO | 9d61a4f76d924520a4c111306932f654 | 74.125.212.66:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:40:33.695 | INFO | ced77fe1572841a9bf44f998a2b35b26 | 74.125.212.64:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-19 09:40:36.530 | INFO | 64d668b5558242829f1eaf2a7614cab5 | 74.125.212.70:0 - "POST /api/v1/user/extract-name HTTP/1.1" 200 2025-06-19 09:40:38.164 | INFO | e5995eb472d04c36a36a69ac6b42b695 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 09:40:38.289 | INFO | e5995eb472d04c36a36a69ac6b42b695 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 09:40:38.306 | INFO | e5995eb472d04c36a36a69ac6b42b695 | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-19 09:40:38.312 | INFO | e5995eb472d04c36a36a69ac6b42b695 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 200 2025-06-19 09:41:09.485 | INFO | 304660f116494bc6a49e61db0708d030 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 09:41:09.491 | INFO | 304660f116494bc6a49e61db0708d030 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 09:41:10.001 | INFO | 304660f116494bc6a49e61db0708d030 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 09:41:10.872 | INFO | 304660f116494bc6a49e61db0708d030 | 74.125.212.65:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-19 09:41:11.403 | INFO | c342579d9fb04eb0aed3cf17eea6b9b1 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': True, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:41:11.405 | INFO | c342579d9fb04eb0aed3cf17eea6b9b1 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:11.748 | INFO | c342579d9fb04eb0aed3cf17eea6b9b1 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:11.876 | INFO | c342579d9fb04eb0aed3cf17eea6b9b1 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:11.878 | INFO | c342579d9fb04eb0aed3cf17eea6b9b1 | 74.125.212.65:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:41:12.584 | INFO | 37ba6ff1066a47819195976e07e36ad1 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:13.294 | INFO | 37ba6ff1066a47819195976e07e36ad1 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:13.431 | INFO | 37ba6ff1066a47819195976e07e36ad1 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:13.433 | INFO | 37ba6ff1066a47819195976e07e36ad1 | 74.125.212.64:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:41:14.510 | INFO | 3707e2a2c80b4dc59445cefbc7e32bdd | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': False, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:41:14.521 | INFO | 3707e2a2c80b4dc59445cefbc7e32bdd | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:14.853 | INFO | 3707e2a2c80b4dc59445cefbc7e32bdd | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:14.931 | INFO | 3707e2a2c80b4dc59445cefbc7e32bdd | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:14.938 | INFO | 3707e2a2c80b4dc59445cefbc7e32bdd | 74.125.212.64:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:41:15.672 | INFO | d3eaca4bec9241cf9fad4732bf1cc38f | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:16.108 | INFO | d3eaca4bec9241cf9fad4732bf1cc38f | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:16.276 | INFO | d3eaca4bec9241cf9fad4732bf1cc38f | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:16.284 | INFO | d3eaca4bec9241cf9fad4732bf1cc38f | 74.125.212.68:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:41:16.955 | INFO | 814b8eaaa4b84ab0880dd224efe9c894 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': False, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:41:16.956 | INFO | 814b8eaaa4b84ab0880dd224efe9c894 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:17.501 | INFO | 814b8eaaa4b84ab0880dd224efe9c894 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:17.590 | INFO | 814b8eaaa4b84ab0880dd224efe9c894 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:17.602 | INFO | 814b8eaaa4b84ab0880dd224efe9c894 | 74.125.212.70:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:41:18.107 | INFO | 5977b50b284244dab5b6f45e79d124c2 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:18.484 | INFO | 5977b50b284244dab5b6f45e79d124c2 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:18.601 | INFO | 5977b50b284244dab5b6f45e79d124c2 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:18.603 | INFO | 5977b50b284244dab5b6f45e79d124c2 | 74.125.212.70:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:41:19.105 | INFO | ecce9e5820ab42ba995bb72deabcdb2d | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': False, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:41:19.108 | INFO | ecce9e5820ab42ba995bb72deabcdb2d | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:19.557 | INFO | ecce9e5820ab42ba995bb72deabcdb2d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:19.838 | INFO | ecce9e5820ab42ba995bb72deabcdb2d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:19.841 | INFO | ecce9e5820ab42ba995bb72deabcdb2d | 74.125.212.64:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:41:20.757 | INFO | 11f46827020442428123bf5065ea8ee6 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:21.233 | INFO | 11f46827020442428123bf5065ea8ee6 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:21.330 | INFO | 11f46827020442428123bf5065ea8ee6 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:21.335 | INFO | 11f46827020442428123bf5065ea8ee6 | 74.125.212.69:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:41:22.368 | INFO | a3f4f5e9225949cd9511f62a9bee762d | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': False, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:41:22.368 | INFO | a3f4f5e9225949cd9511f62a9bee762d | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:22.753 | INFO | a3f4f5e9225949cd9511f62a9bee762d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:22.851 | INFO | a3f4f5e9225949cd9511f62a9bee762d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:22.851 | INFO | a3f4f5e9225949cd9511f62a9bee762d | 74.125.212.64:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:41:23.735 | INFO | 192b37b3e8bd43ea9d80446d2fc98f43 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:24.505 | INFO | 192b37b3e8bd43ea9d80446d2fc98f43 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:24.781 | INFO | 192b37b3e8bd43ea9d80446d2fc98f43 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:24.781 | INFO | 192b37b3e8bd43ea9d80446d2fc98f43 | 74.125.212.65:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:41:25.684 | INFO | 8988120b6cdf48868698aeadbd7ccee8 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': False, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:41:25.686 | INFO | 8988120b6cdf48868698aeadbd7ccee8 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:26.056 | INFO | 8988120b6cdf48868698aeadbd7ccee8 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:26.185 | INFO | 8988120b6cdf48868698aeadbd7ccee8 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:26.185 | INFO | 8988120b6cdf48868698aeadbd7ccee8 | 74.125.212.66:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:41:26.895 | INFO | a57d441a44c64f69a9f8aba591e9d618 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:27.429 | INFO | a57d441a44c64f69a9f8aba591e9d618 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:27.552 | INFO | a57d441a44c64f69a9f8aba591e9d618 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:27.552 | INFO | a57d441a44c64f69a9f8aba591e9d618 | 74.125.212.64:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:41:28.190 | INFO | e0d9a9fb3897464c9c2a8d28dffccc43 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': False, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:41:28.191 | INFO | e0d9a9fb3897464c9c2a8d28dffccc43 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:28.779 | INFO | e0d9a9fb3897464c9c2a8d28dffccc43 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:28.873 | INFO | e0d9a9fb3897464c9c2a8d28dffccc43 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:28.880 | INFO | e0d9a9fb3897464c9c2a8d28dffccc43 | 74.125.212.64:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:41:29.726 | INFO | 5cdc8d11a3b24b0abb45ef590ddfd20f | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:30.212 | INFO | 5cdc8d11a3b24b0abb45ef590ddfd20f | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:30.399 | INFO | 5cdc8d11a3b24b0abb45ef590ddfd20f | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:30.405 | INFO | 5cdc8d11a3b24b0abb45ef590ddfd20f | 74.125.212.70:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:41:31.365 | INFO | 9fddbee8c5f145a2b04424ced05d2a0d | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': False, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:41:31.368 | INFO | 9fddbee8c5f145a2b04424ced05d2a0d | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:31.987 | INFO | 9fddbee8c5f145a2b04424ced05d2a0d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:32.175 | INFO | 9fddbee8c5f145a2b04424ced05d2a0d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:32.175 | INFO | 9fddbee8c5f145a2b04424ced05d2a0d | 74.125.212.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:41:32.744 | INFO | 7b5b7b51e0d14044b46db97fe0b691ed | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:33.134 | INFO | 7b5b7b51e0d14044b46db97fe0b691ed | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:33.225 | INFO | 7b5b7b51e0d14044b46db97fe0b691ed | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:33.232 | INFO | 7b5b7b51e0d14044b46db97fe0b691ed | 74.125.212.70:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:41:33.992 | INFO | 8842e23601aa43fc82a893083bd35ea3 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': False, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:41:33.994 | INFO | 8842e23601aa43fc82a893083bd35ea3 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:34.318 | INFO | 8842e23601aa43fc82a893083bd35ea3 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:34.397 | INFO | 8842e23601aa43fc82a893083bd35ea3 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:34.403 | INFO | 8842e23601aa43fc82a893083bd35ea3 | 74.125.212.64:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:41:34.971 | INFO | dc86dae8f9e94bf788da94350af2d64d | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:35.268 | INFO | dc86dae8f9e94bf788da94350af2d64d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:35.439 | INFO | dc86dae8f9e94bf788da94350af2d64d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:35.439 | INFO | dc86dae8f9e94bf788da94350af2d64d | 74.125.212.70:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:41:35.941 | INFO | 7e9b45256dbb489eb2a37c2f05c6c4d4 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': False, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:41:35.945 | INFO | 7e9b45256dbb489eb2a37c2f05c6c4d4 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:36.421 | INFO | 7e9b45256dbb489eb2a37c2f05c6c4d4 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:36.639 | INFO | 7e9b45256dbb489eb2a37c2f05c6c4d4 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:36.648 | INFO | 7e9b45256dbb489eb2a37c2f05c6c4d4 | 74.125.212.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:41:37.184 | INFO | 16556a4713764137b706a10daeda7a34 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:37.538 | INFO | 16556a4713764137b706a10daeda7a34 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:37.618 | INFO | 16556a4713764137b706a10daeda7a34 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:37.622 | INFO | 16556a4713764137b706a10daeda7a34 | 74.125.212.71:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:41:38.504 | INFO | f3eafa7f09d8417fa29625584e2cd726 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': False, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:41:38.508 | INFO | f3eafa7f09d8417fa29625584e2cd726 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:39.084 | INFO | f3eafa7f09d8417fa29625584e2cd726 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:39.265 | INFO | f3eafa7f09d8417fa29625584e2cd726 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:39.281 | INFO | f3eafa7f09d8417fa29625584e2cd726 | 74.125.212.70:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:41:39.945 | INFO | 21164fdcfe2e46268e06b902600f885d | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:40.328 | INFO | 21164fdcfe2e46268e06b902600f885d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:40.413 | INFO | 21164fdcfe2e46268e06b902600f885d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:40.421 | INFO | 21164fdcfe2e46268e06b902600f885d | 74.125.212.70:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:41:41.146 | INFO | 9b7c75e5648e4679956a751a8284bc9a | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': False, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:41:41.235 | INFO | 9b7c75e5648e4679956a751a8284bc9a | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:41.858 | INFO | 9b7c75e5648e4679956a751a8284bc9a | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:42.154 | INFO | 9b7c75e5648e4679956a751a8284bc9a | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:42.158 | INFO | 9b7c75e5648e4679956a751a8284bc9a | 74.125.212.69:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:41:42.868 | INFO | 1573978b36014b8fb83ac5a85470bcd3 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:43.198 | INFO | 1573978b36014b8fb83ac5a85470bcd3 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:43.287 | INFO | 1573978b36014b8fb83ac5a85470bcd3 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:43.294 | INFO | 1573978b36014b8fb83ac5a85470bcd3 | 74.125.212.65:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:41:44.108 | INFO | a3b3ed16b23b4cd0a28b96c0c9691b5c | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': False, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:41:44.108 | INFO | a3b3ed16b23b4cd0a28b96c0c9691b5c | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:44.684 | INFO | a3b3ed16b23b4cd0a28b96c0c9691b5c | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:44.807 | INFO | a3b3ed16b23b4cd0a28b96c0c9691b5c | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:44.807 | INFO | a3b3ed16b23b4cd0a28b96c0c9691b5c | 74.125.212.69:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:41:45.592 | INFO | dc7da8b26bf043d480e933562689af4e | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:45.946 | INFO | dc7da8b26bf043d480e933562689af4e | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:46.029 | INFO | dc7da8b26bf043d480e933562689af4e | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:46.034 | INFO | dc7da8b26bf043d480e933562689af4e | 74.125.212.64:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:41:46.916 | INFO | a1ac7cc3ec84412886dfc476f68121b0 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': False, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:41:46.921 | INFO | a1ac7cc3ec84412886dfc476f68121b0 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:47.477 | INFO | a1ac7cc3ec84412886dfc476f68121b0 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:47.723 | INFO | a1ac7cc3ec84412886dfc476f68121b0 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:47.731 | INFO | a1ac7cc3ec84412886dfc476f68121b0 | 74.125.212.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:41:48.451 | INFO | 877f78eada2c4a87bcba5be1bc08f8e9 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:48.822 | INFO | 877f78eada2c4a87bcba5be1bc08f8e9 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:48.917 | INFO | 877f78eada2c4a87bcba5be1bc08f8e9 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:48.930 | INFO | 877f78eada2c4a87bcba5be1bc08f8e9 | 74.125.212.70:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:41:49.843 | INFO | 19d6de69c93744949599bf5ad4fded1e | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': False, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:41:49.846 | INFO | 19d6de69c93744949599bf5ad4fded1e | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:50.635 | INFO | 19d6de69c93744949599bf5ad4fded1e | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:50.750 | INFO | 19d6de69c93744949599bf5ad4fded1e | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:50.754 | INFO | 19d6de69c93744949599bf5ad4fded1e | 74.125.212.70:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:41:51.541 | INFO | 58b620d41e8e40e68b315999f593af0e | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:51.895 | INFO | 58b620d41e8e40e68b315999f593af0e | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:51.973 | INFO | 58b620d41e8e40e68b315999f593af0e | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:51.990 | INFO | 58b620d41e8e40e68b315999f593af0e | 74.125.212.66:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:41:52.803 | INFO | c1095a418fdb461b8d61535a864d494b | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': False, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:41:52.807 | INFO | c1095a418fdb461b8d61535a864d494b | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:53.367 | INFO | c1095a418fdb461b8d61535a864d494b | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:53.479 | INFO | c1095a418fdb461b8d61535a864d494b | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:53.479 | INFO | c1095a418fdb461b8d61535a864d494b | 74.125.212.69:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:41:54.093 | INFO | 89e4d58b6211413aa76c33ec6b171334 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:54.471 | INFO | 89e4d58b6211413aa76c33ec6b171334 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:54.562 | INFO | 89e4d58b6211413aa76c33ec6b171334 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:54.562 | INFO | 89e4d58b6211413aa76c33ec6b171334 | 74.125.212.70:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:41:55.294 | INFO | 282c09fa191748a38698c02d56a4bafb | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': False, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:41:55.301 | INFO | 282c09fa191748a38698c02d56a4bafb | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:55.904 | INFO | 282c09fa191748a38698c02d56a4bafb | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:56.068 | INFO | 282c09fa191748a38698c02d56a4bafb | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:56.074 | INFO | 282c09fa191748a38698c02d56a4bafb | 74.125.212.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:41:56.823 | INFO | 489acb1b827d45e6ab1796014218022a | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:57.226 | INFO | 489acb1b827d45e6ab1796014218022a | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:57.307 | INFO | 489acb1b827d45e6ab1796014218022a | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:57.309 | INFO | 489acb1b827d45e6ab1796014218022a | 74.125.212.64:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:41:57.999 | INFO | ec3f3b8fa6174bf9b319613705ba61bd | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'email': 'vaddai@gmail.com', 'is_time_ambiguous': None, 'is_user_exist': None, 'is_valid_seat': False, 'is_valid_trip': True, 'phone_number': '032659865', 'seat': 'B13', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898738.0, 'departure_time': 1750417200000.0, 'raw_departure_time': '18:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750446000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 24.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750413600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 1.0, 'middle_first_floor_quantity': 1.0, 'last_first_floor_quantity': 5.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898738.0, 'route': '18:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5915037.0, 'route': '18:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5915067.0, 'route': '18:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898955.0, 'route': '19:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}], 'user_name': 'Nguyễn chí thanh'} 2025-06-19 09:41:58.000 | INFO | ec3f3b8fa6174bf9b319613705ba61bd | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:41:58.401 | INFO | ec3f3b8fa6174bf9b319613705ba61bd | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:41:58.496 | INFO | ec3f3b8fa6174bf9b319613705ba61bd | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:41:58.502 | INFO | ec3f3b8fa6174bf9b319613705ba61bd | 74.125.212.70:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 09:41:59.888 | INFO | 6bac45255249495f9f1acbe7e93492a4 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '18:00', 'kind': 'Limousine'} 2025-06-19 09:42:00.528 | INFO | 6bac45255249495f9f1acbe7e93492a4 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 09:42:00.825 | INFO | 6bac45255249495f9f1acbe7e93492a4 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898738?departureDate=20-06-2025&departureTime=18%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 09:42:00.843 | INFO | 6bac45255249495f9f1acbe7e93492a4 | 74.125.212.67:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 09:49:43.153 | INFO | - | Shutting down 2025-06-19 09:49:43.255 | INFO | - | Waiting for application shutdown. 2025-06-19 09:49:43.257 | INFO | - | Application shutdown complete. 2025-06-19 09:49:43.258 | INFO | - | Finished server process [30620] 2025-06-19 09:49:53.815 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 09:49:53.816 | INFO | - | Started server process [10860] 2025-06-19 09:49:53.817 | INFO | - | Waiting for application startup. 2025-06-19 09:49:53.817 | INFO | - | Application startup complete. 2025-06-19 09:54:44.149 | INFO | - | Shutting down 2025-06-19 09:54:44.252 | INFO | - | Waiting for application shutdown. 2025-06-19 09:54:44.254 | INFO | - | Application shutdown complete. 2025-06-19 09:54:44.256 | INFO | - | Finished server process [10860] 2025-06-19 10:00:12.819 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 10:00:12.819 | INFO | - | Started server process [13308] 2025-06-19 10:00:12.819 | INFO | - | Waiting for application startup. 2025-06-19 10:00:12.819 | INFO | - | Application startup complete. 2025-06-19 10:05:03.725 | INFO | - | Shutting down 2025-06-19 10:05:03.837 | INFO | - | Waiting for application shutdown. 2025-06-19 10:05:03.837 | INFO | - | Application shutdown complete. 2025-06-19 10:05:03.837 | INFO | - | Finished server process [13308] 2025-06-19 10:05:14.520 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 10:05:14.520 | INFO | - | Started server process [10604] 2025-06-19 10:05:14.520 | INFO | - | Waiting for application startup. 2025-06-19 10:05:14.520 | INFO | - | Application startup complete. 2025-06-19 10:07:20.315 | INFO | 25d1dd1e87d042dc8567d15eefe78bf0 | 74.125.212.70:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 10:07:20.909 | INFO | 8afadf1f7d2d4ae5ba34cbe47af2f766 | 74.125.212.65:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 10:08:04.037 | INFO | 44c7842d22ff42b4836ae24610ccf54d | 74.125.212.66:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 10:08:04.632 | INFO | f020229290d443ffa8ad1803c7628cff | 74.125.212.71:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 10:08:06.474 | INFO | e6e3a80e1d284b22a3a14056be6bdf28 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-19 10:08:07.052 | INFO | e6e3a80e1d284b22a3a14056be6bdf28 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 10:08:07.061 | INFO | e6e3a80e1d284b22a3a14056be6bdf28 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 10:08:07.919 | INFO | e6e3a80e1d284b22a3a14056be6bdf28 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 10:08:08.571 | INFO | e6e3a80e1d284b22a3a14056be6bdf28 | 74.125.212.70:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-19 10:08:15.283 | INFO | 2f451ef9e49c4c6e87b8c636fb3f265e | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 10:08:15.286 | INFO | 2f451ef9e49c4c6e87b8c636fb3f265e | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 10:08:15.812 | INFO | 2f451ef9e49c4c6e87b8c636fb3f265e | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 10:08:16.446 | INFO | 2f451ef9e49c4c6e87b8c636fb3f265e | 74.125.212.64:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-19 10:08:17.089 | INFO | 0a0b347cdc2440b09fce5d4557fd9470 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898459.0, 'departure_time': 1750410000000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750438800000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 31.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750406400000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2.0, 'middle_first_floor_quantity': 6.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898459.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914917.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5914947.0, 'route': '16:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898677.0, 'route': '17:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-19 10:08:17.091 | INFO | 0a0b347cdc2440b09fce5d4557fd9470 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-19 10:08:17.406 | INFO | 0a0b347cdc2440b09fce5d4557fd9470 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898459?departureDate=20-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 10:08:17.530 | INFO | 0a0b347cdc2440b09fce5d4557fd9470 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898459?departureDate=20-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 10:08:17.534 | INFO | 0a0b347cdc2440b09fce5d4557fd9470 | 74.125.212.64:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 10:08:22.943 | INFO | 1a003d9a348c4e9aaf073b3fe30719d4 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-19 10:08:23.240 | INFO | 1a003d9a348c4e9aaf073b3fe30719d4 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898459?departureDate=20-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 10:08:23.324 | INFO | 1a003d9a348c4e9aaf073b3fe30719d4 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898459?departureDate=20-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 10:08:23.326 | INFO | 1a003d9a348c4e9aaf073b3fe30719d4 | 74.125.212.66:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 10:08:23.970 | INFO | 97fd79978869477da9eee4dcb15897c3 | 74.125.212.70:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-19 10:08:31.550 | INFO | 0e8fd4acdb30420591c1ac6b76986cdb | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:08:31.704 | INFO | 0e8fd4acdb30420591c1ac6b76986cdb | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:08:31.711 | INFO | 0e8fd4acdb30420591c1ac6b76986cdb | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-19 10:08:31.721 | INFO | 0e8fd4acdb30420591c1ac6b76986cdb | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 200 2025-06-19 10:09:17.817 | INFO | 6401977d26ee4ec7895505f25ed3996a | 74.125.212.68:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:09:19.768 | INFO | e08358dd714d4ef6ac202908e01c252d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:09:19.887 | INFO | e08358dd714d4ef6ac202908e01c252d | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:09:19.891 | INFO | e08358dd714d4ef6ac202908e01c252d | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-19 10:09:19.896 | INFO | e08358dd714d4ef6ac202908e01c252d | 74.125.212.66:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 200 2025-06-19 10:10:15.670 | INFO | f0448c3958dd4293a85a2136fa1dca27 | 74.125.212.66:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:10:16.837 | INFO | fd1995013cf1491aa1af37db81432931 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:10:16.955 | INFO | fd1995013cf1491aa1af37db81432931 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:10:16.965 | INFO | fd1995013cf1491aa1af37db81432931 | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-19 10:10:16.979 | INFO | fd1995013cf1491aa1af37db81432931 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 200 2025-06-19 10:11:37.069 | INFO | - | Shutting down 2025-06-19 10:11:37.178 | INFO | - | Waiting for application shutdown. 2025-06-19 10:11:37.179 | INFO | - | Application shutdown complete. 2025-06-19 10:11:37.181 | INFO | - | Finished server process [10604] 2025-06-19 10:11:48.125 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 10:11:48.125 | INFO | - | Started server process [16048] 2025-06-19 10:11:48.127 | INFO | - | Waiting for application startup. 2025-06-19 10:11:48.129 | INFO | - | Application startup complete. 2025-06-19 10:15:19.939 | INFO | 1aeb45d1d0044a6881f6ae9e6a9e8de1 | ID: 165 2025-06-19 10:15:19.939 | INFO | 1aeb45d1d0044a6881f6ae9e6a9e8de1 | 74.125.212.69:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:15:20.491 | INFO | 1565a74ef8a840e9a5696509de05a157 | 74.125.212.70:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:15:21.106 | INFO | cd16979dcb4a43c68de8d5c85212c805 | 74.125.212.71:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:16:48.924 | INFO | 5cfd5dc0920d4d56a2207b4575b61d22 | ID: 165 2025-06-19 10:16:48.926 | INFO | 5cfd5dc0920d4d56a2207b4575b61d22 | 74.125.212.71:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:16:49.461 | INFO | 3fd917cf26d34c7aa8fadb7f6d49aa74 | 74.125.212.70:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:16:49.984 | INFO | 54cae5c0e0864b45b8e5141a3ee0656f | 74.125.212.68:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:16:50.528 | INFO | e7f2ee2ac83b418ca50a9ac163b06964 | ID: 165 2025-06-19 10:16:50.528 | INFO | e7f2ee2ac83b418ca50a9ac163b06964 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:16:51.008 | INFO | ea3acb6e31a4418d9450050863e64a99 | 74.125.212.68:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:16:51.592 | INFO | eef86f9cbd1d4a0ba7dd2f01d069576e | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:16:51.882 | INFO | d21bf99d238d4a4bb1ec66f89b670486 | ID: 165 2025-06-19 10:16:51.882 | INFO | d21bf99d238d4a4bb1ec66f89b670486 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:16:52.364 | INFO | f3a4a5dcf3b148eabb64aac658de7fb6 | 74.125.212.68:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:16:52.653 | INFO | 67383bdbc049400dab53b075dc4fcbd6 | 74.125.212.71:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:16:53.198 | INFO | cc4e4b43d9194cdba6d516b36f8f9d08 | ID: 165 2025-06-19 10:16:53.204 | INFO | cc4e4b43d9194cdba6d516b36f8f9d08 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:16:53.725 | INFO | 753a57b9296d41ac8a496c673b2eb464 | 74.125.212.71:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:16:54.277 | INFO | 33fc6bbfb21042d880cde7c468db6e36 | 74.125.212.71:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:16:54.776 | INFO | f38fde0581e0418e924088b7a16e0b27 | ID: 165 2025-06-19 10:16:54.776 | INFO | f38fde0581e0418e924088b7a16e0b27 | 74.125.212.71:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:16:55.339 | INFO | 994b1e54aa6244018d274867a847197d | 74.125.212.70:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:16:55.862 | INFO | 8e1eefaa46fd4e7ba336470d0578849a | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:16:56.144 | INFO | ce695b34850f49e08212900529940fd1 | ID: 165 2025-06-19 10:16:56.144 | INFO | ce695b34850f49e08212900529940fd1 | 74.125.212.71:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:16:56.427 | INFO | 1b25acc9d05b4af6986548c13eb0220e | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:16:56.956 | INFO | 7f459a1daebf4854ae17d55c0f87eb48 | 74.125.212.70:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:16:57.448 | INFO | 34ca2755f4884d4fb3d0af2dd028a768 | ID: 165 2025-06-19 10:16:57.448 | INFO | 34ca2755f4884d4fb3d0af2dd028a768 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:16:58.033 | INFO | d3d4f59bd37e4b25b9a9e3b8c02359c0 | 74.125.212.68:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:16:58.521 | INFO | 0a11c780d1714abc839dfda42c8559b1 | 74.125.212.69:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:16:59.013 | INFO | 066f84e367de4522bb2d9e881d7b26c8 | ID: 165 2025-06-19 10:16:59.013 | INFO | 066f84e367de4522bb2d9e881d7b26c8 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:16:59.522 | INFO | 144ed7adbe2644f89eb8a6c3d91952eb | 74.125.212.68:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:00.060 | INFO | 8b0373dfa6e047e4981fe4ee13e3ed53 | 74.125.212.70:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:00.650 | INFO | 563d0445443448c4bda356afd79510c9 | ID: 165 2025-06-19 10:17:00.650 | INFO | 563d0445443448c4bda356afd79510c9 | 74.125.212.67:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:17:00.975 | INFO | d128bffddb894823996ef8f6fb286cdc | 74.125.212.67:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:01.282 | INFO | 3debddbf07ff469ba23d2218f7efa5c1 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:01.774 | INFO | 47f06e7b8cdc4782944d6cb74d6116f2 | ID: 165 2025-06-19 10:17:01.778 | INFO | 47f06e7b8cdc4782944d6cb74d6116f2 | 74.125.212.68:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:17:02.465 | INFO | 54a7d847adeb4a569e5433909bb0db67 | 74.125.212.66:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:03.032 | INFO | 644cd5cecab844ab9d05b5b24fb330f1 | 74.125.212.71:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:03.560 | INFO | 39b885c6a62d466998c6008ddf9bd0b8 | ID: 165 2025-06-19 10:17:03.560 | INFO | 39b885c6a62d466998c6008ddf9bd0b8 | 74.125.212.70:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:17:03.890 | INFO | a09f629008a346ec9fd8852d16b6b30e | 74.125.212.70:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:04.373 | INFO | 318d0d0d54ea4feda6fe6fe27ee32ab6 | 74.125.212.67:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:04.880 | INFO | f19022a78bd84560b2d9ab8fb023d997 | ID: 165 2025-06-19 10:17:04.882 | INFO | f19022a78bd84560b2d9ab8fb023d997 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:17:05.380 | INFO | f185469a9b904d63b13800bc74303997 | 74.125.212.71:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:05.947 | INFO | 218770e975f940d4a9643504a642084d | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:06.348 | INFO | ea21087fcda240b49f6c23d8b2d3cfc9 | ID: 165 2025-06-19 10:17:06.355 | INFO | ea21087fcda240b49f6c23d8b2d3cfc9 | 74.125.212.68:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:17:06.866 | INFO | b0c0c28786bd4ba189893cd6a98218bb | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:07.386 | INFO | 36f1234c2b0e40ecaef5cb068a3d1eb6 | 74.125.212.65:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:07.875 | INFO | c480b46565c246febc7446ce36d467d4 | ID: 165 2025-06-19 10:17:07.875 | INFO | c480b46565c246febc7446ce36d467d4 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:17:08.430 | INFO | 769053ce9c4a47eeba04cb1c3b338bf9 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:08.977 | INFO | 8da5bfeb587c491597fa0e0c23b90d07 | 74.125.212.70:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:09.264 | INFO | 011152d9391c4f0888e01dfcbf99ca56 | ID: 165 2025-06-19 10:17:09.267 | INFO | 011152d9391c4f0888e01dfcbf99ca56 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:17:09.786 | INFO | 3a0f9c6e1a3848f7b7808f0fdc18a104 | 74.125.212.67:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:10.364 | INFO | d942b7bcc651425daeed4cc5b138708c | 74.125.212.71:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:10.892 | INFO | e4e954c6de0f4a84b08ed406d2c6f8dc | ID: 165 2025-06-19 10:17:10.896 | INFO | e4e954c6de0f4a84b08ed406d2c6f8dc | 74.125.212.70:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:17:11.215 | INFO | 69dda6637f3547f59cecf84d9b20259c | 74.125.212.70:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:11.764 | INFO | 33327f37385843bf82105787af36455a | 74.125.212.69:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:12.408 | INFO | b513631e8f0a42cbb6439e63e9411cc5 | ID: 165 2025-06-19 10:17:12.408 | INFO | b513631e8f0a42cbb6439e63e9411cc5 | 74.125.212.71:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:17:12.919 | INFO | f3c1b53ea8834df8be0d67d1e4608b07 | 74.125.212.70:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:13.477 | INFO | 000a968185d648038b1375477375e54f | 74.125.212.66:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:13.966 | INFO | bf767d18dce14f708d3d086d0c4b5146 | ID: 165 2025-06-19 10:17:13.970 | INFO | bf767d18dce14f708d3d086d0c4b5146 | 74.125.212.70:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:17:14.638 | INFO | 82f82a5b590246baa4421155a15420fe | 74.125.212.69:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:15.203 | INFO | 92e39fa71d154d7c9bf778cd5a1b8c1d | 74.125.212.70:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:15.729 | INFO | b94769c2e76d498598e3c384220e7320 | ID: 165 2025-06-19 10:17:15.729 | INFO | b94769c2e76d498598e3c384220e7320 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:17:16.421 | INFO | 32a0b959a3824ad9bb17c11e1c95e864 | 74.125.212.69:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:17.031 | INFO | 5be3b7cfe24048d8afb9a6de6bb7f367 | 74.125.212.70:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:17.358 | INFO | ec51fe2ec9bc4b2d861bbad6e2d80d6e | ID: 165 2025-06-19 10:17:17.359 | INFO | ec51fe2ec9bc4b2d861bbad6e2d80d6e | 74.125.212.64:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:17:17.974 | INFO | 63dd50852682470d8f5eb413b4a4bfa4 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:18.543 | INFO | 9babd5d42baa42b69157b6361b919c2d | 74.125.212.68:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:19.058 | INFO | fa2d80e38be9480a9be39c377ad8ef2b | ID: 165 2025-06-19 10:17:19.058 | INFO | fa2d80e38be9480a9be39c377ad8ef2b | 74.125.212.71:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:17:19.407 | INFO | 5c6a3c0fc5dd409f91581013cf8fd2fa | 74.125.212.71:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:19.891 | INFO | b9a741928c4c48d0856ae270f5849c07 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:20.543 | INFO | 7eef2c123db44367be0df9ab7c1003f1 | ID: 165 2025-06-19 10:17:20.543 | INFO | 7eef2c123db44367be0df9ab7c1003f1 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:17:21.145 | INFO | 49e542d1a4ca4f379dcaf18b66992af7 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:21.632 | INFO | e1bb07be74a243b0af6f6f0f29bc82e0 | 74.125.212.69:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:22.142 | INFO | a31d738e9479482cafe15f788f8973d7 | ID: 165 2025-06-19 10:17:22.142 | INFO | a31d738e9479482cafe15f788f8973d7 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:17:22.793 | INFO | f21d697698ba4641a2eea2af9ead7946 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:23.355 | INFO | c2e772d44d8845b8a10123a8c8e5426e | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:23.845 | INFO | bf9f2b9680b74314948094dcbeba52f2 | ID: 165 2025-06-19 10:17:23.845 | INFO | bf9f2b9680b74314948094dcbeba52f2 | 74.125.212.67:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:17:24.125 | INFO | c13d598eabae4bbdb33fd9d88551f155 | 74.125.212.67:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:24.398 | INFO | 61f1b2437a1d40d8bd00c37a7648b262 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:24.969 | INFO | f6b63f649e0048968900a6180c603eda | ID: 165 2025-06-19 10:17:24.974 | INFO | f6b63f649e0048968900a6180c603eda | 74.125.212.64:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:17:25.256 | INFO | daf2d9bb6ee342afb503333a0657d3cf | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:25.738 | INFO | 2945cf9715d14324b34eecc6163f923a | 74.125.212.67:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:17:26.239 | INFO | 11a32e96af284de0ba31f9094f55abbf | ID: 165 2025-06-19 10:17:26.240 | INFO | 11a32e96af284de0ba31f9094f55abbf | 74.125.212.71:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:18:48.374 | INFO | ccad14959f0b4beb92676f3f7668991c | ID: 1632 2025-06-19 10:18:48.374 | INFO | ccad14959f0b4beb92676f3f7668991c | 74.125.212.64:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:18:48.876 | INFO | 872995da50914fb596a892eac8504359 | 74.125.212.71:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:18:49.395 | INFO | 87b28a578b0b49798e9fb171a657939f | 74.125.212.70:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 500 2025-06-19 10:19:19.340 | INFO | 8e5485691712491aa5dbc4dbd6fe933a | 74.125.212.71:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 10:19:19.924 | INFO | 9828db992b574483bfb5b9c71672ed04 | 74.125.212.65:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 10:19:23.674 | INFO | e93526a369dc453c99e61c78058d0542 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-19 10:19:24.209 | INFO | e93526a369dc453c99e61c78058d0542 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 10:19:24.209 | INFO | e93526a369dc453c99e61c78058d0542 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 10:19:25.028 | INFO | e93526a369dc453c99e61c78058d0542 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 10:19:25.784 | INFO | e93526a369dc453c99e61c78058d0542 | 74.125.212.64:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-19 10:19:33.182 | INFO | 33040c2cfe7c43cf9826f7e61ccf038e | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 10:19:33.187 | INFO | 33040c2cfe7c43cf9826f7e61ccf038e | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 10:19:33.918 | INFO | 33040c2cfe7c43cf9826f7e61ccf038e | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 10:19:34.305 | INFO | 33040c2cfe7c43cf9826f7e61ccf038e | 74.125.212.71:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-19 10:19:35.250 | INFO | bb1aa706f69a4493a346a7131e92b12c | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898366.0, 'departure_time': 1750408200000.0, 'raw_departure_time': '15:30', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750437000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 34.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750404600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5.0, 'middle_first_floor_quantity': 6.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898366.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914887.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898459.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914917.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-19 10:19:35.252 | INFO | bb1aa706f69a4493a346a7131e92b12c | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '15:30', 'kind': 'Limousine'} 2025-06-19 10:19:35.558 | INFO | bb1aa706f69a4493a346a7131e92b12c | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898366?departureDate=20-06-2025&departureTime=15%3A30&kind=Limousine "HTTP/1.1 403 " 2025-06-19 10:19:35.633 | INFO | bb1aa706f69a4493a346a7131e92b12c | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898366?departureDate=20-06-2025&departureTime=15%3A30&kind=Limousine "HTTP/1.1 200 " 2025-06-19 10:19:35.640 | INFO | bb1aa706f69a4493a346a7131e92b12c | 74.125.212.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 10:19:44.056 | INFO | 0d2773c0577e4c62a89f60584d508d9e | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '15:30', 'kind': 'Limousine'} 2025-06-19 10:19:44.402 | INFO | 0d2773c0577e4c62a89f60584d508d9e | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898366?departureDate=20-06-2025&departureTime=15%3A30&kind=Limousine "HTTP/1.1 403 " 2025-06-19 10:19:44.479 | INFO | 0d2773c0577e4c62a89f60584d508d9e | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898366?departureDate=20-06-2025&departureTime=15%3A30&kind=Limousine "HTTP/1.1 200 " 2025-06-19 10:19:44.482 | INFO | 0d2773c0577e4c62a89f60584d508d9e | 74.125.212.67:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 10:19:45.072 | INFO | 6e358a6956514be5b1ff91592a4a011c | 74.125.212.64:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-19 10:19:48.784 | INFO | ff07e6a6342341d28811bae32ad1ac6e | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:19:48.951 | INFO | ff07e6a6342341d28811bae32ad1ac6e | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:19:48.956 | INFO | ff07e6a6342341d28811bae32ad1ac6e | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-19 10:19:48.958 | INFO | ff07e6a6342341d28811bae32ad1ac6e | 74.125.212.68:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 200 2025-06-19 10:20:07.260 | INFO | 7670854d10b84084a26df2b2880f1700 | ID: 2 2025-06-19 10:20:07.261 | INFO | 7670854d10b84084a26df2b2880f1700 | 74.125.212.70:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 400 2025-06-19 10:20:08.104 | INFO | 63e6f80daafd440ba8d29a346aa50209 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:20:08.209 | INFO | 63e6f80daafd440ba8d29a346aa50209 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:20:08.212 | INFO | 63e6f80daafd440ba8d29a346aa50209 | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-19 10:20:08.216 | INFO | 63e6f80daafd440ba8d29a346aa50209 | 74.125.212.70:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 200 2025-06-19 10:21:51.211 | INFO | - | Shutting down 2025-06-19 10:21:51.313 | INFO | - | Waiting for application shutdown. 2025-06-19 10:21:51.314 | INFO | - | Application shutdown complete. 2025-06-19 10:21:51.315 | INFO | - | Finished server process [16048] 2025-06-19 10:22:02.172 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 10:22:02.172 | INFO | - | Started server process [10268] 2025-06-19 10:22:02.172 | INFO | - | Waiting for application startup. 2025-06-19 10:22:02.172 | INFO | - | Application startup complete. 2025-06-19 10:22:15.446 | INFO | f537964077a840e5ba0d83688da1bb0e | 74.125.212.71:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 10:22:15.774 | INFO | 98ed234bf84341dcbda3ef7c612e7184 | 74.125.212.71:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 10:22:16.964 | INFO | 2d13e0f193f34c25bdb37628c7957493 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-19 10:22:17.398 | INFO | 2d13e0f193f34c25bdb37628c7957493 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 10:22:17.401 | INFO | 2d13e0f193f34c25bdb37628c7957493 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 10:22:17.935 | INFO | 2d13e0f193f34c25bdb37628c7957493 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 10:22:18.383 | INFO | 2d13e0f193f34c25bdb37628c7957493 | 74.125.212.71:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-19 10:22:19.469 | INFO | 889c51346c9f468e96eb936ddf3a0c21 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 10:22:19.473 | INFO | 889c51346c9f468e96eb936ddf3a0c21 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 10:22:20.101 | INFO | 889c51346c9f468e96eb936ddf3a0c21 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 10:22:20.934 | INFO | 889c51346c9f468e96eb936ddf3a0c21 | 74.125.212.71:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-19 10:22:21.699 | INFO | 9923904317ff4a48b6c70d0fc22bcc52 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898366.0, 'departure_time': 1750408200000.0, 'raw_departure_time': '15:30', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750437000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 34.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750404600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5.0, 'middle_first_floor_quantity': 6.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898366.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914887.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898459.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914917.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-19 10:22:21.705 | INFO | 9923904317ff4a48b6c70d0fc22bcc52 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '15:30', 'kind': 'Limousine'} 2025-06-19 10:22:22.051 | INFO | 9923904317ff4a48b6c70d0fc22bcc52 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898366?departureDate=20-06-2025&departureTime=15%3A30&kind=Limousine "HTTP/1.1 403 " 2025-06-19 10:22:22.191 | INFO | 9923904317ff4a48b6c70d0fc22bcc52 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898366?departureDate=20-06-2025&departureTime=15%3A30&kind=Limousine "HTTP/1.1 200 " 2025-06-19 10:22:22.191 | INFO | 9923904317ff4a48b6c70d0fc22bcc52 | 74.125.212.68:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 10:22:23.477 | INFO | 4f0cf449921c451f927dd4c811796215 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '15:30', 'kind': 'Limousine'} 2025-06-19 10:22:23.880 | INFO | 4f0cf449921c451f927dd4c811796215 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898366?departureDate=20-06-2025&departureTime=15%3A30&kind=Limousine "HTTP/1.1 403 " 2025-06-19 10:22:23.951 | INFO | 4f0cf449921c451f927dd4c811796215 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898366?departureDate=20-06-2025&departureTime=15%3A30&kind=Limousine "HTTP/1.1 200 " 2025-06-19 10:22:23.951 | INFO | 4f0cf449921c451f927dd4c811796215 | 74.125.212.64:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 10:22:24.719 | INFO | da566b555ea04a99a3c512f91340e826 | 74.125.212.64:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-19 10:22:26.009 | INFO | 03807d04960442309adaece1365988b7 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:22:26.086 | INFO | 03807d04960442309adaece1365988b7 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:22:26.088 | INFO | 03807d04960442309adaece1365988b7 | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-19 10:22:26.091 | INFO | 03807d04960442309adaece1365988b7 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 200 2025-06-19 10:22:27.424 | INFO | b2636c83ce4145abaf22258cc5ecb1dd | ID: 2 2025-06-19 10:22:27.424 | INFO | b2636c83ce4145abaf22258cc5ecb1dd | Role: pick-up 2025-06-19 10:22:27.775 | INFO | b2636c83ce4145abaf22258cc5ecb1dd | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:22:27.872 | INFO | b2636c83ce4145abaf22258cc5ecb1dd | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:22:27.881 | INFO | b2636c83ce4145abaf22258cc5ecb1dd | 74.125.212.64:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 200 2025-06-19 10:22:28.767 | INFO | db537cc3255245e19cbe7e28e9c1a9a8 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:22:28.851 | INFO | db537cc3255245e19cbe7e28e9c1a9a8 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:22:28.851 | INFO | db537cc3255245e19cbe7e28e9c1a9a8 | Drop-off points: [{'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 480.0, 'fax': None, 'id': 1, 'latitude': 11.926520347595215, 'longitude': 108.44599914550781, 'name': 'DA LAT', 'note': None, 'officeId': 1, 'orderNumber': None, 'passing': None, 'phone': '19006070', 'routeId': 0, 'shuttleBefore': None, 'type': 1, 'wayId': 0, 'presentBeforeMinutes': 465}] 2025-06-19 10:22:28.851 | INFO | db537cc3255245e19cbe7e28e9c1a9a8 | 74.125.212.64:0 - "POST /api/v1/trip/drop-off HTTP/1.1" 200 2025-06-19 10:22:48.158 | INFO | e90c5fab8b2f4b819dfaabe66a8e6c42 | 74.125.212.64:0 - "POST /api/v1/trip/drop-off/validate-selection HTTP/1.1" 500 2025-06-19 10:22:48.914 | INFO | d6b4b69e0ec1469b9c23a07c342690fa | 74.125.212.69:0 - "POST /api/v1/trip/drop-off/validate-selection HTTP/1.1" 500 2025-06-19 10:22:49.632 | INFO | e2accb90ddfd43ca910bd9221dd87ebd | 74.125.212.64:0 - "POST /api/v1/trip/ticket HTTP/1.1" 500 2025-06-19 10:22:50.321 | INFO | 3a73833d16ae436187ac969252a04fe1 | 74.125.212.69:0 - "POST /api/v1/trip/ticket HTTP/1.1" 500 2025-06-19 10:23:40.811 | INFO | - | Shutting down 2025-06-19 10:23:40.915 | INFO | - | Waiting for application shutdown. 2025-06-19 10:23:40.917 | INFO | - | Application shutdown complete. 2025-06-19 10:23:40.917 | INFO | - | Finished server process [10268] 2025-06-19 10:23:52.129 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 10:23:52.130 | INFO | - | Started server process [16476] 2025-06-19 10:23:52.130 | INFO | - | Waiting for application startup. 2025-06-19 10:23:52.130 | INFO | - | Application startup complete. 2025-06-19 10:24:16.389 | INFO | b1347dbbf487427094022e95e3e65aa4 | 74.125.212.70:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 10:24:16.984 | INFO | ea0b79685d534672a226dae9da25b9ce | 74.125.212.70:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 10:24:18.689 | INFO | e1708a4326be4a9a942b4abf32cef95f | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-19 10:24:18.995 | INFO | e1708a4326be4a9a942b4abf32cef95f | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 10:24:19.002 | INFO | e1708a4326be4a9a942b4abf32cef95f | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 10:24:19.654 | INFO | e1708a4326be4a9a942b4abf32cef95f | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 10:24:20.614 | INFO | e1708a4326be4a9a942b4abf32cef95f | 74.125.212.65:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-19 10:24:23.071 | INFO | a7aa99166ce34745892d351868b148ab | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 10:24:23.071 | INFO | a7aa99166ce34745892d351868b148ab | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 10:24:23.862 | INFO | a7aa99166ce34745892d351868b148ab | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 10:24:24.805 | INFO | a7aa99166ce34745892d351868b148ab | 74.125.212.64:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-19 10:24:25.377 | INFO | 024bec32f36349b0b4b8a4357c8030e5 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898366.0, 'departure_time': 1750408200000.0, 'raw_departure_time': '15:30', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750437000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 34.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750404600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5.0, 'middle_first_floor_quantity': 6.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898366.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914887.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898459.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914917.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-19 10:24:25.378 | INFO | 024bec32f36349b0b4b8a4357c8030e5 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '15:30', 'kind': 'Limousine'} 2025-06-19 10:24:25.808 | INFO | 024bec32f36349b0b4b8a4357c8030e5 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898366?departureDate=20-06-2025&departureTime=15%3A30&kind=Limousine "HTTP/1.1 403 " 2025-06-19 10:24:26.054 | INFO | 024bec32f36349b0b4b8a4357c8030e5 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898366?departureDate=20-06-2025&departureTime=15%3A30&kind=Limousine "HTTP/1.1 200 " 2025-06-19 10:24:26.058 | INFO | 024bec32f36349b0b4b8a4357c8030e5 | 74.125.212.71:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 10:24:27.081 | INFO | 10e1e94dfe85413dbed6d26a6edd3f2f | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '15:30', 'kind': 'Limousine'} 2025-06-19 10:24:27.425 | INFO | 10e1e94dfe85413dbed6d26a6edd3f2f | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898366?departureDate=20-06-2025&departureTime=15%3A30&kind=Limousine "HTTP/1.1 403 " 2025-06-19 10:24:27.501 | INFO | 10e1e94dfe85413dbed6d26a6edd3f2f | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898366?departureDate=20-06-2025&departureTime=15%3A30&kind=Limousine "HTTP/1.1 200 " 2025-06-19 10:24:27.501 | INFO | 10e1e94dfe85413dbed6d26a6edd3f2f | 74.125.212.64:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 10:24:28.125 | INFO | 016060c00f204f7ba7039c602c4e4c5d | 74.125.212.64:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-19 10:24:30.592 | INFO | 261da8389e4047e990ce5e4a3b6ed9d0 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:24:30.757 | INFO | 261da8389e4047e990ce5e4a3b6ed9d0 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:24:30.765 | INFO | 261da8389e4047e990ce5e4a3b6ed9d0 | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-19 10:24:30.776 | INFO | 261da8389e4047e990ce5e4a3b6ed9d0 | 74.125.212.64:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 200 2025-06-19 10:24:32.103 | INFO | 1e51948171224efca941d5a1b86fe3fa | ID: 2 2025-06-19 10:24:32.107 | INFO | 1e51948171224efca941d5a1b86fe3fa | Role: pick-up 2025-06-19 10:24:32.491 | INFO | 1e51948171224efca941d5a1b86fe3fa | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:24:32.626 | INFO | 1e51948171224efca941d5a1b86fe3fa | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:24:32.633 | INFO | 1e51948171224efca941d5a1b86fe3fa | 74.125.212.71:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 200 2025-06-19 10:24:33.498 | INFO | f82f4961b3c6438a90cf51a9eba8b60a | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:24:33.568 | INFO | f82f4961b3c6438a90cf51a9eba8b60a | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:24:33.576 | INFO | f82f4961b3c6438a90cf51a9eba8b60a | Drop-off points: [{'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 480.0, 'fax': None, 'id': 1, 'latitude': 11.926520347595215, 'longitude': 108.44599914550781, 'name': 'DA LAT', 'note': None, 'officeId': 1, 'orderNumber': None, 'passing': None, 'phone': '19006070', 'routeId': 0, 'shuttleBefore': None, 'type': 1, 'wayId': 0, 'presentBeforeMinutes': 465}] 2025-06-19 10:24:33.587 | INFO | f82f4961b3c6438a90cf51a9eba8b60a | 74.125.212.71:0 - "POST /api/v1/trip/drop-off HTTP/1.1" 200 2025-06-19 10:24:34.947 | INFO | 8fedbb52ccd04525812b6080e76a3056 | 74.125.212.68:0 - "POST /api/v1/trip/drop-off/validate-selection HTTP/1.1" 500 2025-06-19 10:24:35.648 | INFO | b6095301f7344d34bdfce2e327d549d1 | 74.125.212.64:0 - "POST /api/v1/trip/drop-off/validate-selection HTTP/1.1" 500 2025-06-19 10:24:36.499 | INFO | 1175511dd0344146aea9437f7446f049 | 74.125.212.71:0 - "POST /api/v1/trip/ticket HTTP/1.1" 500 2025-06-19 10:24:37.274 | INFO | 596efc72117c44de97da177096856f3a | 74.125.212.70:0 - "POST /api/v1/trip/ticket HTTP/1.1" 500 2025-06-19 10:25:02.121 | INFO | 95479ac4025c493fa8ebfc89e8739de9 | 74.125.212.69:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 10:25:02.728 | INFO | 0fe8a00223ac4951bcba5032b9ad8885 | 74.125.212.68:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 10:25:04.420 | INFO | 6ff327d1e2da4324b3ac737c73c520f7 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 10:25:04.420 | INFO | 6ff327d1e2da4324b3ac737c73c520f7 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 10:25:05.592 | INFO | 6ff327d1e2da4324b3ac737c73c520f7 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 10:25:06.456 | INFO | 6ff327d1e2da4324b3ac737c73c520f7 | 74.125.212.64:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-19 10:25:08.045 | INFO | 1a5589a388e04fddb6a3b5de4cfc0f30 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 10:25:08.050 | INFO | 1a5589a388e04fddb6a3b5de4cfc0f30 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 10:25:08.930 | INFO | 1a5589a388e04fddb6a3b5de4cfc0f30 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 10:25:12.552 | INFO | 1a5589a388e04fddb6a3b5de4cfc0f30 | 74.125.212.66:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-19 10:25:13.146 | INFO | f64cb74e26eb446388bdd5f301238d88 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898366.0, 'departure_time': 1750408200000.0, 'raw_departure_time': '15:30', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750437000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 34.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750404600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5.0, 'middle_first_floor_quantity': 6.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898366.0, 'route': '15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914887.0, 'route': '15:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898459.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914917.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}]} 2025-06-19 10:25:13.146 | INFO | f64cb74e26eb446388bdd5f301238d88 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '15:30', 'kind': 'Limousine'} 2025-06-19 10:25:13.415 | INFO | f64cb74e26eb446388bdd5f301238d88 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898366?departureDate=20-06-2025&departureTime=15%3A30&kind=Limousine "HTTP/1.1 403 " 2025-06-19 10:25:13.492 | INFO | f64cb74e26eb446388bdd5f301238d88 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898366?departureDate=20-06-2025&departureTime=15%3A30&kind=Limousine "HTTP/1.1 200 " 2025-06-19 10:25:13.496 | INFO | f64cb74e26eb446388bdd5f301238d88 | 74.125.212.65:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 10:25:14.580 | INFO | 4a453d08e30d494c8f0fe8458a9dc010 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '15:30', 'kind': 'Limousine'} 2025-06-19 10:25:14.988 | INFO | 4a453d08e30d494c8f0fe8458a9dc010 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898366?departureDate=20-06-2025&departureTime=15%3A30&kind=Limousine "HTTP/1.1 403 " 2025-06-19 10:25:15.174 | INFO | 4a453d08e30d494c8f0fe8458a9dc010 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898366?departureDate=20-06-2025&departureTime=15%3A30&kind=Limousine "HTTP/1.1 200 " 2025-06-19 10:25:15.178 | INFO | 4a453d08e30d494c8f0fe8458a9dc010 | 74.125.212.70:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 10:25:15.826 | INFO | 7672e90fa9df46c3b8af5158612d7bcc | 74.125.212.68:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-19 10:25:17.363 | INFO | 52e5777623c4468897d196fe9b08ab3b | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:25:17.458 | INFO | - | Shutting down 2025-06-19 10:25:17.509 | INFO | 52e5777623c4468897d196fe9b08ab3b | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:25:17.511 | INFO | 52e5777623c4468897d196fe9b08ab3b | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-19 10:25:17.512 | INFO | 52e5777623c4468897d196fe9b08ab3b | 74.125.212.70:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 200 2025-06-19 10:25:17.578 | INFO | - | Waiting for application shutdown. 2025-06-19 10:25:17.579 | INFO | - | Application shutdown complete. 2025-06-19 10:25:17.579 | INFO | - | Finished server process [16476] 2025-06-19 10:25:27.286 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 10:25:27.286 | INFO | - | Started server process [6012] 2025-06-19 10:25:27.286 | INFO | - | Waiting for application startup. 2025-06-19 10:25:27.291 | INFO | - | Application startup complete. 2025-06-19 10:25:27.293 | INFO | a409ecae554f4fdaadb1eb09a102abbc | ID: 2 2025-06-19 10:25:27.293 | INFO | a409ecae554f4fdaadb1eb09a102abbc | Role: pick-up 2025-06-19 10:25:27.770 | INFO | a409ecae554f4fdaadb1eb09a102abbc | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-19 10:25:28.202 | INFO | a409ecae554f4fdaadb1eb09a102abbc | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:25:28.279 | INFO | a409ecae554f4fdaadb1eb09a102abbc | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:25:28.866 | INFO | 916312601c5a4b7abee4869c231f3454 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:25:28.959 | INFO | 916312601c5a4b7abee4869c231f3454 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:25:28.964 | INFO | 916312601c5a4b7abee4869c231f3454 | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-19 10:25:28.975 | INFO | 916312601c5a4b7abee4869c231f3454 | 74.125.212.71:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 200 2025-06-19 10:25:30.158 | INFO | 2cfcb3dc9f6e4962988e705bfa224197 | ID: 44 2025-06-19 10:25:30.158 | INFO | 2cfcb3dc9f6e4962988e705bfa224197 | Role: pick-up 2025-06-19 10:25:30.515 | INFO | 2cfcb3dc9f6e4962988e705bfa224197 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:25:30.644 | INFO | 2cfcb3dc9f6e4962988e705bfa224197 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:25:30.647 | INFO | 2cfcb3dc9f6e4962988e705bfa224197 | 74.125.212.70:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 200 2025-06-19 10:25:31.493 | INFO | 56bf5b82c312450eb14689e108a22158 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:25:31.606 | INFO | 56bf5b82c312450eb14689e108a22158 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:25:31.614 | INFO | 56bf5b82c312450eb14689e108a22158 | Drop-off points: [{'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 480.0, 'fax': None, 'id': 1, 'latitude': 11.926520347595215, 'longitude': 108.44599914550781, 'name': 'DA LAT', 'note': None, 'officeId': 1, 'orderNumber': None, 'passing': None, 'phone': '19006070', 'routeId': 0, 'shuttleBefore': None, 'type': 1, 'wayId': 0, 'presentBeforeMinutes': 465}] 2025-06-19 10:25:31.617 | INFO | 56bf5b82c312450eb14689e108a22158 | 74.125.212.70:0 - "POST /api/v1/trip/drop-off HTTP/1.1" 200 2025-06-19 10:26:20.926 | INFO | 0915f39d06c94a6cacf42ea4483ad73b | 74.125.212.71:0 - "POST /api/v1/trip/drop-off/validate-selection HTTP/1.1" 500 2025-06-19 10:26:21.651 | INFO | 7f7a4e9d7af1413295e4582a7865bd4b | 74.125.212.64:0 - "POST /api/v1/trip/drop-off/validate-selection HTTP/1.1" 500 2025-06-19 10:26:22.474 | INFO | 801132cf7eb04b4d96a986b6172d2091 | 74.125.212.64:0 - "POST /api/v1/trip/ticket HTTP/1.1" 200 2025-06-19 10:29:04.082 | INFO | - | Shutting down 2025-06-19 10:29:04.193 | INFO | - | Waiting for application shutdown. 2025-06-19 10:29:04.193 | INFO | - | Application shutdown complete. 2025-06-19 10:29:04.193 | INFO | - | Finished server process [6012] 2025-06-19 10:29:24.502 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 10:29:24.503 | INFO | - | Started server process [23924] 2025-06-19 10:29:24.504 | INFO | - | Waiting for application startup. 2025-06-19 10:29:24.506 | INFO | - | Application startup complete. 2025-06-19 10:29:35.136 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 10:29:35.136 | INFO | - | Started server process [5812] 2025-06-19 10:29:35.136 | INFO | - | Waiting for application startup. 2025-06-19 10:29:35.136 | INFO | - | Application startup complete. 2025-06-19 10:31:08.930 | INFO | a75557dc792145b58567f7821e97630a | 74.125.212.68:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 10:31:09.478 | INFO | 29ed2d2ceb8840178fe17f8829de75e1 | 74.125.212.69:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 10:31:19.603 | INFO | a1484d3285e845b0bfbdbc49942a3f9b | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-19 10:31:20.156 | INFO | a1484d3285e845b0bfbdbc49942a3f9b | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 10:31:20.163 | INFO | a1484d3285e845b0bfbdbc49942a3f9b | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 10:31:20.852 | INFO | a1484d3285e845b0bfbdbc49942a3f9b | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 10:31:21.482 | INFO | a1484d3285e845b0bfbdbc49942a3f9b | 74.125.212.69:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-19 10:31:27.857 | INFO | 58e7d0db7c0b46d4b235df8b81a71301 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 10:31:27.859 | INFO | 58e7d0db7c0b46d4b235df8b81a71301 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 10:31:28.427 | INFO | 58e7d0db7c0b46d4b235df8b81a71301 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 10:31:28.907 | INFO | 58e7d0db7c0b46d4b235df8b81a71301 | 74.125.212.69:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-19 10:31:29.866 | INFO | 65ee1c18db7c4f0583569e9581744585 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898459.0, 'departure_time': 1750410000000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750438800000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 31.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750406400000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2.0, 'middle_first_floor_quantity': 6.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898459.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914917.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5914947.0, 'route': '16:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898677.0, 'route': '17:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-19 10:31:29.871 | INFO | 65ee1c18db7c4f0583569e9581744585 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-19 10:31:30.294 | INFO | 65ee1c18db7c4f0583569e9581744585 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898459?departureDate=20-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 10:31:30.462 | INFO | 65ee1c18db7c4f0583569e9581744585 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898459?departureDate=20-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 10:31:30.462 | INFO | 65ee1c18db7c4f0583569e9581744585 | 74.125.212.64:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 10:31:50.559 | INFO | f2ed43503edf4ee185f0bc9d948a6076 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-19 10:31:50.963 | INFO | f2ed43503edf4ee185f0bc9d948a6076 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898459?departureDate=20-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 10:31:51.088 | INFO | f2ed43503edf4ee185f0bc9d948a6076 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898459?departureDate=20-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 10:31:51.093 | INFO | f2ed43503edf4ee185f0bc9d948a6076 | 74.125.212.69:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 10:31:51.837 | INFO | 88637133356046908cde709b27c7ab71 | 74.125.212.64:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-19 10:31:59.843 | INFO | 628abebc33bd4cc8bcea32523b6ef0ef | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:31:59.963 | INFO | 628abebc33bd4cc8bcea32523b6ef0ef | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:31:59.963 | INFO | 628abebc33bd4cc8bcea32523b6ef0ef | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-19 10:31:59.981 | INFO | 628abebc33bd4cc8bcea32523b6ef0ef | 74.125.212.71:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 200 2025-06-19 10:32:05.968 | INFO | 6d136ddc22584f5fbf85c232e90790df | ID: 177 2025-06-19 10:32:05.968 | INFO | 6d136ddc22584f5fbf85c232e90790df | Role: pick-up 2025-06-19 10:32:06.227 | INFO | 6d136ddc22584f5fbf85c232e90790df | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:32:06.448 | INFO | 6d136ddc22584f5fbf85c232e90790df | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:32:06.452 | INFO | 6d136ddc22584f5fbf85c232e90790df | 74.125.212.71:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 200 2025-06-19 10:32:07.677 | INFO | ac86039d8e114ac7aa496e8eddd22c14 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:32:07.901 | INFO | ac86039d8e114ac7aa496e8eddd22c14 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:32:07.910 | INFO | ac86039d8e114ac7aa496e8eddd22c14 | Drop-off points: [{'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 480.0, 'fax': None, 'id': 1, 'latitude': 11.926520347595215, 'longitude': 108.44599914550781, 'name': 'DA LAT', 'note': None, 'officeId': 1, 'orderNumber': None, 'passing': None, 'phone': '19006070', 'routeId': 0, 'shuttleBefore': None, 'type': 1, 'wayId': 0, 'presentBeforeMinutes': 465}] 2025-06-19 10:32:07.912 | INFO | ac86039d8e114ac7aa496e8eddd22c14 | 74.125.212.70:0 - "POST /api/v1/trip/drop-off HTTP/1.1" 200 2025-06-19 10:32:15.664 | INFO | 85884f8e65194366aaf9bb6be285c330 | ID: 408 2025-06-19 10:32:15.664 | INFO | 85884f8e65194366aaf9bb6be285c330 | Role: drop_off 2025-06-19 10:32:15.664 | INFO | 85884f8e65194366aaf9bb6be285c330 | 74.125.212.70:0 - "POST /api/v1/trip/drop-off/validate-selection HTTP/1.1" 400 2025-06-19 10:32:16.484 | INFO | 676a4f68acf84c4b9e9fd2e3d3c4c87a | 74.125.212.70:0 - "POST /api/v1/trip/ticket HTTP/1.1" 200 2025-06-19 10:33:26.750 | INFO | - | Shutting down 2025-06-19 10:33:26.863 | INFO | - | Waiting for application shutdown. 2025-06-19 10:33:26.863 | INFO | - | Application shutdown complete. 2025-06-19 10:33:26.866 | INFO | - | Finished server process [5812] 2025-06-19 10:33:36.587 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 10:33:36.587 | INFO | - | Started server process [22232] 2025-06-19 10:33:36.587 | INFO | - | Waiting for application startup. 2025-06-19 10:33:36.587 | INFO | - | Application startup complete. 2025-06-19 10:34:04.659 | INFO | a30269eb021143aaa237a5881b732063 | 74.125.212.64:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 10:34:05.254 | INFO | 7a0f2bf13bf34bba9725bc95ff1c5579 | 74.125.212.69:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 10:34:07.113 | INFO | 5b41bfdafdce4f4583e77d2c44acc5f9 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-19 10:34:07.540 | INFO | 5b41bfdafdce4f4583e77d2c44acc5f9 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 10:34:07.544 | INFO | 5b41bfdafdce4f4583e77d2c44acc5f9 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 10:34:08.139 | INFO | 5b41bfdafdce4f4583e77d2c44acc5f9 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 10:34:08.569 | INFO | 5b41bfdafdce4f4583e77d2c44acc5f9 | 74.125.212.65:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-19 10:34:09.910 | INFO | b467d4a922c04dc4ae0b7b4558eb2a85 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 10:34:09.910 | INFO | b467d4a922c04dc4ae0b7b4558eb2a85 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1620, 1375, 498, 2191], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 10:34:10.792 | INFO | b467d4a922c04dc4ae0b7b4558eb2a85 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 10:34:11.177 | INFO | b467d4a922c04dc4ae0b7b4558eb2a85 | 74.125.212.71:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-19 10:34:11.807 | INFO | 2477b21bdcb44b51be13506aa9d9ffec | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'Thành phố Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'is_time_ambiguous': None, 'is_valid_trip': True, 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898459.0, 'departure_time': 1750410000000.0, 'raw_departure_time': '16:00', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750438800000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 31.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750406400000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 2.0, 'middle_first_floor_quantity': 6.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898459.0, 'route': '16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5914917.0, 'route': '16:05 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5914947.0, 'route': '16:35 | BX Miền Đông Mới => Bến Xe Đà Lạt'}, {'trip_id': 5898677.0, 'route': '17:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}]} 2025-06-19 10:34:11.807 | INFO | 2477b21bdcb44b51be13506aa9d9ffec | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-19 10:34:12.142 | INFO | 2477b21bdcb44b51be13506aa9d9ffec | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898459?departureDate=20-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 10:34:12.291 | INFO | 2477b21bdcb44b51be13506aa9d9ffec | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898459?departureDate=20-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 10:34:12.302 | INFO | 2477b21bdcb44b51be13506aa9d9ffec | 74.125.212.64:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 10:34:13.307 | INFO | 0c5d11b4c06f4df2beedca2e13f9e917 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '16:00', 'kind': 'Limousine'} 2025-06-19 10:34:13.617 | INFO | 0c5d11b4c06f4df2beedca2e13f9e917 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898459?departureDate=20-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 403 " 2025-06-19 10:34:13.717 | INFO | 0c5d11b4c06f4df2beedca2e13f9e917 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898459?departureDate=20-06-2025&departureTime=16%3A00&kind=Limousine "HTTP/1.1 200 " 2025-06-19 10:34:13.723 | INFO | 0c5d11b4c06f4df2beedca2e13f9e917 | 74.125.212.64:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 10:34:14.408 | INFO | 4023452333dd4b0b94ed0b12c3957551 | 74.125.212.68:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-19 10:34:15.963 | INFO | 17f58e74902c44ca9121950b87ee7bcd | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:34:16.053 | INFO | 17f58e74902c44ca9121950b87ee7bcd | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:34:16.058 | INFO | 17f58e74902c44ca9121950b87ee7bcd | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-19 10:34:16.062 | INFO | 17f58e74902c44ca9121950b87ee7bcd | 74.125.212.70:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 200 2025-06-19 10:34:17.075 | INFO | 9a8f732b8a154fb88f28eb33b9794320 | ID: 177 2025-06-19 10:34:17.075 | INFO | 9a8f732b8a154fb88f28eb33b9794320 | Role: pick-up 2025-06-19 10:34:17.550 | INFO | 9a8f732b8a154fb88f28eb33b9794320 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:34:17.726 | INFO | 9a8f732b8a154fb88f28eb33b9794320 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:34:17.731 | INFO | 9a8f732b8a154fb88f28eb33b9794320 | 74.125.212.68:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 200 2025-06-19 10:34:18.583 | INFO | c95aaee5b45444d995b0efd50f39bd99 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:34:18.664 | INFO | c95aaee5b45444d995b0efd50f39bd99 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:34:18.664 | INFO | c95aaee5b45444d995b0efd50f39bd99 | Drop-off points: [{'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 480.0, 'fax': None, 'id': 1, 'latitude': 11.926520347595215, 'longitude': 108.44599914550781, 'name': 'DA LAT', 'note': None, 'officeId': 1, 'orderNumber': None, 'passing': None, 'phone': '19006070', 'routeId': 0, 'shuttleBefore': None, 'type': 1, 'wayId': 0, 'presentBeforeMinutes': 465}] 2025-06-19 10:34:18.675 | INFO | c95aaee5b45444d995b0efd50f39bd99 | 74.125.212.68:0 - "POST /api/v1/trip/drop-off HTTP/1.1" 200 2025-06-19 10:34:19.808 | INFO | 9990de0170c0471a968d0fb534c72f58 | ID: 408 2025-06-19 10:34:19.809 | INFO | 9990de0170c0471a968d0fb534c72f58 | Role: drop-off 2025-06-19 10:34:20.112 | INFO | 9990de0170c0471a968d0fb534c72f58 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 10:34:20.202 | INFO | 9990de0170c0471a968d0fb534c72f58 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 10:34:20.205 | INFO | 9990de0170c0471a968d0fb534c72f58 | 74.125.212.71:0 - "POST /api/v1/trip/drop-off/validate-selection HTTP/1.1" 200 2025-06-19 10:34:20.974 | INFO | 1536e4b26a5d45ae868424dcdb924adf | 74.125.212.64:0 - "POST /api/v1/trip/ticket HTTP/1.1" 200 2025-06-19 10:43:27.637 | INFO | - | Shutting down 2025-06-19 10:43:27.746 | INFO | - | Waiting for application shutdown. 2025-06-19 10:43:27.749 | INFO | - | Application shutdown complete. 2025-06-19 10:43:27.751 | INFO | - | Finished server process [22232] 2025-06-19 10:43:37.488 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 10:43:37.489 | INFO | - | Started server process [18104] 2025-06-19 10:43:37.490 | INFO | - | Waiting for application startup. 2025-06-19 10:43:37.491 | INFO | - | Application startup complete. 2025-06-19 10:48:28.700 | INFO | - | Shutting down 2025-06-19 10:48:28.811 | INFO | - | Waiting for application shutdown. 2025-06-19 10:48:28.811 | INFO | - | Application shutdown complete. 2025-06-19 10:48:28.812 | INFO | - | Finished server process [18104] 2025-06-19 11:29:08.724 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 11:29:08.724 | INFO | - | Started server process [28424] 2025-06-19 11:29:08.725 | INFO | - | Waiting for application startup. 2025-06-19 11:29:08.726 | INFO | - | Application startup complete. 2025-06-19 11:31:03.685 | INFO | - | Shutting down 2025-06-19 11:31:03.794 | INFO | - | Waiting for application shutdown. 2025-06-19 11:31:03.795 | INFO | - | Application shutdown complete. 2025-06-19 11:31:03.795 | INFO | - | Finished server process [28424] 2025-06-19 11:31:14.190 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 11:31:14.191 | INFO | - | Started server process [10564] 2025-06-19 11:31:14.191 | INFO | - | Waiting for application startup. 2025-06-19 11:31:14.193 | INFO | - | Application startup complete. 2025-06-19 11:31:35.724 | INFO | - | Shutting down 2025-06-19 11:31:35.830 | INFO | - | Waiting for application shutdown. 2025-06-19 11:31:35.833 | INFO | - | Application shutdown complete. 2025-06-19 11:31:35.835 | INFO | - | Finished server process [10564] 2025-06-19 11:31:45.669 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 11:31:45.670 | INFO | - | Started server process [18384] 2025-06-19 11:31:45.671 | INFO | - | Waiting for application startup. 2025-06-19 11:31:45.673 | INFO | - | Application startup complete. 2025-06-19 11:32:12.020 | INFO | 26b7d0c3034c4d639c0cb76a96070166 | 74.125.212.64:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 11:32:15.812 | INFO | f5b07d47f43e43b0a4933958eaf895dd | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-19 11:32:16.612 | INFO | f5b07d47f43e43b0a4933958eaf895dd | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750307532 "HTTP/1.1 200 OK" 2025-06-19 11:32:16.618 | INFO | f5b07d47f43e43b0a4933958eaf895dd | 74.125.212.64:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-19 11:32:17.344 | INFO | c7423071708643989e659faad7471bba | 74.125.212.65:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 11:32:40.432 | INFO | e192a9de40cf4f62a0a007d3d41373f5 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750307560 "HTTP/1.1 200 OK" 2025-06-19 11:32:40.757 | INFO | e192a9de40cf4f62a0a007d3d41373f5 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750307560 "HTTP/1.1 200 OK" 2025-06-19 11:32:41.267 | INFO | e192a9de40cf4f62a0a007d3d41373f5 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750307560 "HTTP/1.1 200 OK" 2025-06-19 11:32:41.728 | INFO | e192a9de40cf4f62a0a007d3d41373f5 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750307561 "HTTP/1.1 200 OK" 2025-06-19 11:32:42.343 | INFO | e192a9de40cf4f62a0a007d3d41373f5 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&OriginIds=16&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 11:32:42.347 | INFO | e192a9de40cf4f62a0a007d3d41373f5 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1375], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 11:32:43.112 | INFO | e192a9de40cf4f62a0a007d3d41373f5 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 11:32:43.507 | INFO | e192a9de40cf4f62a0a007d3d41373f5 | 74.125.212.71:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-19 11:32:48.487 | INFO | d523f0e58633499abd76fc8a161f9ca0 | 74.125.212.67:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 500 2025-06-19 11:32:49.030 | INFO | 0f10394d55254403b462186efbaa13a4 | 74.125.212.66:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 500 2025-06-19 11:33:07.477 | INFO | - | Shutting down 2025-06-19 11:33:07.585 | INFO | - | Waiting for application shutdown. 2025-06-19 11:33:07.588 | INFO | - | Application shutdown complete. 2025-06-19 11:33:07.590 | INFO | - | Finished server process [18384] 2025-06-19 11:33:18.274 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 11:33:18.275 | INFO | - | Started server process [4880] 2025-06-19 11:33:18.276 | INFO | - | Waiting for application startup. 2025-06-19 11:33:18.278 | INFO | - | Application startup complete. 2025-06-19 11:33:27.235 | INFO | 09c9922cf1444eb69efc53c3b45a72bc | 74.125.212.71:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 11:33:28.137 | INFO | 272e082de5da4763a5f0147c21a06fcc | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-19 11:33:28.578 | INFO | 272e082de5da4763a5f0147c21a06fcc | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750307607 "HTTP/1.1 200 OK" 2025-06-19 11:33:28.581 | INFO | 272e082de5da4763a5f0147c21a06fcc | 74.125.212.66:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-19 11:33:28.911 | INFO | 477b0f0a8b3e49cb8b9741b0b4feea5a | 74.125.212.71:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 11:33:30.420 | INFO | 686d6051336d4d19855897974bdfc23c | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750307610 "HTTP/1.1 200 OK" 2025-06-19 11:33:30.795 | INFO | 686d6051336d4d19855897974bdfc23c | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750307610 "HTTP/1.1 200 OK" 2025-06-19 11:33:31.198 | INFO | 686d6051336d4d19855897974bdfc23c | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750307610 "HTTP/1.1 200 OK" 2025-06-19 11:33:31.717 | INFO | 686d6051336d4d19855897974bdfc23c | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750307611 "HTTP/1.1 200 OK" 2025-06-19 11:33:32.118 | INFO | 686d6051336d4d19855897974bdfc23c | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&OriginIds=16&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 11:33:32.123 | INFO | 686d6051336d4d19855897974bdfc23c | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1375], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 11:33:32.879 | INFO | 686d6051336d4d19855897974bdfc23c | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 11:33:33.842 | INFO | 686d6051336d4d19855897974bdfc23c | 74.125.212.64:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-19 11:33:35.744 | INFO | a6ed07683e2a47a4948c126e07641926 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750307615 "HTTP/1.1 200 OK" 2025-06-19 11:33:36.198 | INFO | a6ed07683e2a47a4948c126e07641926 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+Mi%E1%BB%81n+T%C3%A2y&session_id=1750307615 "HTTP/1.1 200 OK" 2025-06-19 11:33:36.629 | INFO | a6ed07683e2a47a4948c126e07641926 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&OriginIds=16&DestCode=DALAT&ToId=474 "HTTP/1.1 200 OK" 2025-06-19 11:33:36.631 | INFO | a6ed07683e2a47a4948c126e07641926 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [405, 1375], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 11:33:37.165 | INFO | a6ed07683e2a47a4948c126e07641926 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 11:33:37.653 | INFO | a6ed07683e2a47a4948c126e07641926 | 74.125.212.68:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-19 11:33:38.650 | INFO | 366b00b9fc5e4460b543021a39ec9245 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'TP. Hồ Chí Minh', 'destination_city': 'Thành phố Đà Lạt', 'id_selected': 5898366.0, 'is_time_ambiguous': None, 'is_valid_trip': True, 'origin_office': 'Bến xe Miền Tây', 'ticket_number': 1.0, 'time_select': {'hours': 16.0, 'minutes': 30.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 5898366.0, 'departure_time': 1750408200000.0, 'raw_departure_time': '15:30', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750437000000.0, 'duration': 8.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 290000.0, 'empty_seat_quantity': 34.0, 'route_id': 405.0, 'distance': 305.0, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 177.0, 'allow_online_booking': True, 'online_booking_before': 1750404600000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 5.0, 'middle_first_floor_quantity': 6.0, 'last_first_floor_quantity': 6.0, 'top_second_floor_quantity': 5.0, 'middle_second_floor_quantity': 6.0, 'last_second_floor_quantity': 6.0, 'way_name': '9. BX Miền Tây - QL1 - Nga 4 ga - Cao Tốc - QL 20 - Đà Lạt', 'way_note': '', 'pickup_points': [{'OfficeId': 1.0, 'Name': 'DA LAT', 'Address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'Phone': '19006070', 'PickUp': 0.0, 'TimeOffice': 480.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 2.0, 'Name': 'DUC TRONG', 'Address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'Phone': '02633.651.651', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 3.0, 'Name': 'BAO LOC', 'Address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'Phone': '02633731731', 'PickUp': 0.0, 'TimeOffice': 360.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 5.0, 'Name': '205 Phạm Ngũ Lão', 'Address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 12.0, 'Name': '231-233 Lê Hồng Phong', 'Address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' trung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn ra trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp N4 Ga(Tài 6h đến 24h)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 44.0, 'Name': 'Di Linh', 'Address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'Phone': '02633788799', 'PickUp': 0.0, 'TimeOffice': 400.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra Vp Ngã 4 Ga", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 177.0, 'Name': 'Y Dược', 'Address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'Phone': '028.3855.5175', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 208.0, 'Name': '202 Lê Hồng Phong', 'Address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': "Ra VP trước 45' \r\ntrung chuyển ra BX Miền Tây ", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 211.0, 'Name': 'Đồng Đen', 'Address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'Phone': '028 38 601 557 ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 262.0, 'Name': 'Lũy Bán Bích', 'Address': '973 Lũy Bán Bích', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 280.0, 'Name': 'Thanh My', 'Address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'Phone': '0263.3646646', 'PickUp': 0.0, 'TimeOffice': 450.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 321.0, 'Name': 'Tan Phu', 'Address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 210.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn có mặt trước 30p trung chuyển VP N4GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 340.0, 'Name': '43 Nguyễn Cư Trinh', 'Address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'Phone': '19006067', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BX Miền Tây \r\n", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 341.0, 'Name': 'Cho Ray', 'Address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT (Tài 7h đến 23h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': "Ra VP trước 30' trung chuyển ra BX N4 Ga (Tài 6h30 đến 21h50)", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 367.0, 'Name': 'Hòa Ninh', 'Address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 390.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 45.0, 'PointKind': -1.0, 'Note': 'Ra "sau 30p", xe lớn đón tại VP', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 421.0, 'Name': 'BACH KHOA', 'Address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': "Ra VP trước 60' trung chuyển ra BXMT", 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': 30.0, 'PointKind': -1.0, 'Note': 'Hẹn sau 15p', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển vp Xa Lộ Đại Hàn', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn trước 30p trung chuyển BX N4 GA', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 482.0, 'Name': 'BX QUAN 8', 'Address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': '(hoạt động từ 06:00 - 23:00) hẹn trước 60p t/c BXMT', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 500.0, 'Name': 'LOC AN - BAO LOC', 'Address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'Phone': '02633752752', 'PickUp': 0.0, 'TimeOffice': 375.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'Mien Tay - Da Lat', 'route_id': 405.0, 'origin_code': 'TPHCM', 'origin_name': 'TP.Hồ Chí Minh', 'origin_hub_id': 4.0, 'origin_hub_name': 'Bến Xe Miền Tây', 'origin_hub_office_id': 16.0, 'origin_hub_office_name': 'BX Mien Tay', 'origin_hub_coords': {'lat': 10.7410591, 'lon': 106.6189535}, 'dest_code': 'DALAT', 'dest_name': 'Đà Lạt', 'dest_hub_id': 2.0, 'dest_hub_name': 'Bến Xe Đà Lạt', 'dest_hub_office_id': 1.0, 'dest_hub_office_name': 'Da Lat', 'dest_hub_coords': {'lat': 11.9264168, 'lon': 108.4459849}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 5898366.0, 'route': ' 5898366| 15:30 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5898459.0, 'route': ' 5898459| 16:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5898677.0, 'route': ' 5898677| 17:00 | Bến Xe Miền Tây => Bến Xe Đà Lạt'}, {'trip_id': 5935189.0, 'route': ' 5935189| 17:02 | Bến xe An Sương => Bến Xe Đà Lạt'}]} 2025-06-19 11:33:38.653 | INFO | 366b00b9fc5e4460b543021a39ec9245 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '15:30', 'kind': 'Limousine'} 2025-06-19 11:33:40.048 | INFO | 366b00b9fc5e4460b543021a39ec9245 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898366?departureDate=20-06-2025&departureTime=15%3A30&kind=Limousine "HTTP/1.1 403 " 2025-06-19 11:33:40.249 | INFO | 366b00b9fc5e4460b543021a39ec9245 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898366?departureDate=20-06-2025&departureTime=15%3A30&kind=Limousine "HTTP/1.1 200 " 2025-06-19 11:33:40.291 | INFO | 366b00b9fc5e4460b543021a39ec9245 | 74.125.212.64:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 11:33:48.743 | INFO | 7f7bf72e97d34b18885dd2ef34e56b70 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '15:30', 'kind': 'Limousine'} 2025-06-19 11:33:49.262 | INFO | 7f7bf72e97d34b18885dd2ef34e56b70 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898366?departureDate=20-06-2025&departureTime=15%3A30&kind=Limousine "HTTP/1.1 403 " 2025-06-19 11:33:49.339 | INFO | 7f7bf72e97d34b18885dd2ef34e56b70 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/405/5898366?departureDate=20-06-2025&departureTime=15%3A30&kind=Limousine "HTTP/1.1 200 " 2025-06-19 11:33:49.342 | INFO | 7f7bf72e97d34b18885dd2ef34e56b70 | 74.125.212.64:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 11:33:50.110 | INFO | 2035467d91d2454c9c29a440968bf8ab | 74.125.212.69:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-19 11:33:55.780 | INFO | cdbbbce0f60e4a37865517932f14beda | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 11:33:55.931 | INFO | cdbbbce0f60e4a37865517932f14beda | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 11:33:55.940 | INFO | cdbbbce0f60e4a37865517932f14beda | Retrieved 26 pick-up stops for route 405 and way 177 : [{'address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'code': None, 'distance': 0.0, 'duration': 0.0, 'fax': None, 'id': 16, 'latitude': 10.74133014678955, 'longitude': 106.618896484375, 'name': 'BX Miền Tây', 'note': None, 'officeId': 16, 'orderNumber': None, 'passing': None, 'phone': '0283 752 7935', 'routeId': 0, 'shuttleBefore': None, 'type': 0, 'wayId': 0, 'presentBeforeMinutes': -15}, {'address': 'VP Phạm Ngũ Lão: 205 Phạm Ngũ Lão, P.Phạm Ngũ Lão , Q.1 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 5, 'latitude': 10.768600463867188, 'longitude': 106.69300079345703, 'name': '205 Phạm Ngũ Lão', 'note': None, 'officeId': 5, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '03 Mạc Thiên Tích, P11, Q5, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 177, 'latitude': 10.755319595336914, 'longitude': 106.66619873046875, 'name': 'Y Dược', 'note': None, 'officeId': 177, 'orderNumber': None, 'passing': None, 'phone': '028.3855.5175', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'VP Đồng Đen: 288 Đồng Đen, P. 10, Q. Tân Bình, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 211, 'latitude': 10.785699844360352, 'longitude': 106.64289855957031, 'name': 'Đồng Đen', 'note': None, 'officeId': 211, 'orderNumber': None, 'passing': None, 'phone': '028 38 601 557 ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '973 Lũy Bán Bích', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 262, 'latitude': 10.792630195617676, 'longitude': 106.63749694824219, 'name': 'Lũy Bán Bích', 'note': None, 'officeId': 262, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '43 Nguyen Cu Trinh, Phường Phạm Ngũ Lão, Quận 1, TP Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 340, 'latitude': 10.765029907226562, 'longitude': 106.69190216064453, 'name': '43 Nguyễn Cư Trinh', 'note': None, 'officeId': 340, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'Số 20 Phạm Hữu Chí, phường 12, Quận 5, Tp HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 341, 'latitude': 10.755999565124512, 'longitude': 106.65789794921875, 'name': 'Cho Ray', 'note': None, 'officeId': 341, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '6B Đường số 2, Cư Xá Lữ Gia, Phường 15, Quận 11', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 421, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BACH KHOA', 'note': None, 'officeId': 421, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': 'BX QUAN 8 , 932 TA QUANG BUU, HCM', 'code': None, 'distance': 0.0, 'duration': -60.0, 'fax': None, 'id': 482, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BX QUAN 8', 'note': None, 'officeId': 482, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -60}, {'address': '202 Lê Hồng Phong - P.4 - Q.5 - TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 208, 'latitude': 10.759920120239258, 'longitude': 106.67759704589844, 'name': '202 Lê Hồng Phong', 'note': None, 'officeId': 208, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP Lê Hồng Phong: 231 Lê Hồng Phong , P.4 , Q.5 , TP.HCM', 'code': None, 'distance': 0.0, 'duration': -45.0, 'fax': None, 'id': 12, 'latitude': 10.760000228881836, 'longitude': 106.6771011352539, 'name': '231-233 Lê Hồng Phong', 'note': None, 'officeId': 12, 'orderNumber': None, 'passing': None, 'phone': '19006067', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -45}, {'address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 20, 'latitude': 10.816399574279785, 'longitude': 106.71119689941406, 'name': 'BX Miền Đông', 'note': None, 'officeId': 20, 'orderNumber': None, 'passing': None, 'phone': '028.3898.1057', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 102, 'latitude': 10.801289558410645, 'longitude': 106.7123031616211, 'name': 'Hàng Xanh', 'note': None, 'officeId': 102, 'orderNumber': None, 'passing': None, 'phone': '02838.990.150', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 365, 'latitude': 10.807769775390625, 'longitude': 106.69509887695312, 'name': 'Bệnh Viện Ung Bướu', 'note': None, 'officeId': 365, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 440, 'latitude': 0.0, 'longitude': 0.0, 'name': 'BỜ BAO TÂN THẮNG', 'note': None, 'officeId': 440, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 441, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGUYỄN ẢNH THỦ', 'note': None, 'officeId': 441, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'code': None, 'distance': 0.0, 'duration': -30.0, 'fax': None, 'id': 332, 'latitude': 10.838930130004883, 'longitude': 106.66790008544922, 'name': 'Nguyen Van Luong', 'note': None, 'officeId': 332, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': -30}, {'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}] 2025-06-19 11:33:55.952 | INFO | cdbbbce0f60e4a37865517932f14beda | 74.125.212.68:0 - "POST /api/v1/trip/pick-up HTTP/1.1" 200 2025-06-19 11:34:00.835 | INFO | f7f35d2a83c149d084d8486de42d9b6c | ID: 177 2025-06-19 11:34:00.835 | INFO | f7f35d2a83c149d084d8486de42d9b6c | Role: pick-up 2025-06-19 11:34:01.108 | INFO | f7f35d2a83c149d084d8486de42d9b6c | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 11:34:01.180 | INFO | f7f35d2a83c149d084d8486de42d9b6c | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 11:34:01.182 | INFO | f7f35d2a83c149d084d8486de42d9b6c | 74.125.212.64:0 - "POST /api/v1/trip/pick-up/validate-selection HTTP/1.1" 200 2025-06-19 11:34:02.643 | INFO | 038eb2792c5f45ba878142a7ffdfe9d1 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 11:34:02.782 | INFO | 038eb2792c5f45ba878142a7ffdfe9d1 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 11:34:02.784 | INFO | 038eb2792c5f45ba878142a7ffdfe9d1 | Drop-off points: [{'address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'code': None, 'distance': 0.0, 'duration': 30.0, 'fax': None, 'id': 423, 'latitude': 0.0, 'longitude': 0.0, 'name': 'Xa Lộ Đại Hàn', 'note': None, 'officeId': 423, 'orderNumber': None, 'passing': None, 'phone': ' ', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 15}, {'address': 'BX NGÃ 4 GA', 'code': None, 'distance': 0.0, 'duration': 45.0, 'fax': None, 'id': 408, 'latitude': 0.0, 'longitude': 0.0, 'name': 'NGÃ TƯ GA', 'note': None, 'officeId': 408, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 30}, {'address': '782 QL 20, TT Tân Phú, H. Tân Phú, Tỉnh Đồng Nai', 'code': None, 'distance': 0.0, 'duration': 210.0, 'fax': None, 'id': 321, 'latitude': 11.269330024719238, 'longitude': 107.4352035522461, 'name': 'Tan Phu', 'note': None, 'officeId': 321, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 195}, {'address': '399 Trần Phú, Lộc Sơn, Bảo Lộc, Lâm Đồng, Việt Nam', 'code': None, 'distance': 0.0, 'duration': 360.0, 'fax': None, 'id': 3, 'latitude': 11.536419868469238, 'longitude': 107.81659698486328, 'name': 'BAO LOC', 'note': None, 'officeId': 3, 'orderNumber': None, 'passing': None, 'phone': '02633731731', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 345}, {'address': 'Đường QL20, Thôn 3, xã Lộc An, H.Bảo Lâm, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 375.0, 'fax': None, 'id': 500, 'latitude': 0.0, 'longitude': 0.0, 'name': 'LOC AN - BAO LOC', 'note': None, 'officeId': 500, 'orderNumber': None, 'passing': None, 'phone': '02633752752', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 360}, {'address': 'Ngã 3 Hòa Ninh QL20-30 Thôn 2,Hòa Ninh,Di Linh,Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 390.0, 'fax': None, 'id': 367, 'latitude': 11.539259910583496, 'longitude': 107.94210052490234, 'name': 'Hòa Ninh', 'note': None, 'officeId': 367, 'orderNumber': None, 'passing': None, 'phone': '.', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 375}, {'address': 'Bến xe Di Linh, Đường Hùng Vương, Thị Trấn Di Linh, Tỉnh Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 400.0, 'fax': None, 'id': 44, 'latitude': 11.589900016784668, 'longitude': 108.07839965820312, 'name': 'Di Linh', 'note': None, 'officeId': 44, 'orderNumber': None, 'passing': None, 'phone': '02633788799', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 385}, {'address': '795 Q Lộ 20 TT LIên Nghĩa _ H.Đức Trọng _ T.Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 2, 'latitude': 11.724140167236328, 'longitude': 108.36710357666016, 'name': 'DUC TRONG', 'note': None, 'officeId': 2, 'orderNumber': None, 'passing': None, 'phone': '02633.651.651', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': '44 đường 2/4, Thị Trấn Thạnh Mỹ, Huyện Đơn Dương, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 450.0, 'fax': None, 'id': 280, 'latitude': 11.761300086975098, 'longitude': 108.48970031738281, 'name': 'Thanh My', 'note': None, 'officeId': 280, 'orderNumber': None, 'passing': None, 'phone': '0263.3646646', 'routeId': 0, 'shuttleBefore': None, 'type': -1, 'wayId': 0, 'presentBeforeMinutes': 435}, {'address': 'VP Đà Lạt, 01 Tô Hiến Thành , P.3 , TP.Đà Lạt, Lâm Đồng', 'code': None, 'distance': 0.0, 'duration': 480.0, 'fax': None, 'id': 1, 'latitude': 11.926520347595215, 'longitude': 108.44599914550781, 'name': 'DA LAT', 'note': None, 'officeId': 1, 'orderNumber': None, 'passing': None, 'phone': '19006070', 'routeId': 0, 'shuttleBefore': None, 'type': 1, 'wayId': 0, 'presentBeforeMinutes': 465}] 2025-06-19 11:34:02.786 | INFO | 038eb2792c5f45ba878142a7ffdfe9d1 | 74.125.212.64:0 - "POST /api/v1/trip/drop-off HTTP/1.1" 200 2025-06-19 11:34:07.328 | INFO | f395907c315c4f0d98a964d9cae5c6ef | ID: 423 2025-06-19 11:34:07.329 | INFO | f395907c315c4f0d98a964d9cae5c6ef | Role: drop-off 2025-06-19 11:34:07.742 | INFO | f395907c315c4f0d98a964d9cae5c6ef | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 403 " 2025-06-19 11:34:08.165 | INFO | f395907c315c4f0d98a964d9cae5c6ef | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/stops/405?wayId=177 "HTTP/1.1 200 " 2025-06-19 11:34:08.167 | INFO | f395907c315c4f0d98a964d9cae5c6ef | 74.125.212.70:0 - "POST /api/v1/trip/drop-off/validate-selection HTTP/1.1" 200 2025-06-19 11:34:09.129 | INFO | f3026324d1a24f37ab53fafb31872e12 | 74.125.212.70:0 - "POST /api/v1/trip/ticket HTTP/1.1" 200 2025-06-19 11:36:35.618 | INFO | 7ce2c6ce2d504d4fab54c5f9a9a521c3 | 74.125.212.70:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 11:36:39.967 | INFO | 37ad29d26545402693cf8f0f8434c23d | 74.125.212.71:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 11:36:59.348 | INFO | 6779adb47f4b4e8fa918e2f343ad227f | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?dest=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750307818 "HTTP/1.1 200 OK" 2025-06-19 11:36:59.351 | INFO | 6779adb47f4b4e8fa918e2f343ad227f | 74.125.212.71:0 - "POST /api/v1/location/dest-city-from-office HTTP/1.1" 200 2025-06-19 11:36:59.725 | INFO | d170ffbe427a4737a1c2561bf269d535 | 74.125.212.71:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 400 2025-06-19 11:37:41.376 | INFO | 6897fa524abd43eaa619346cd4a97e88 | 74.125.212.64:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 11:37:57.894 | INFO | 47018c84379a483d83482da47327b566 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750307877 "HTTP/1.1 200 OK" 2025-06-19 11:37:57.900 | INFO | 47018c84379a483d83482da47327b566 | 74.125.212.64:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-19 11:37:58.514 | INFO | 5a9573e1c37e47539f9e2ffa01ded600 | 74.125.212.70:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 11:38:03.974 | INFO | 358b6650109b43b2be74a9e609daeb53 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750307883 "HTTP/1.1 200 OK" 2025-06-19 11:38:04.275 | INFO | 358b6650109b43b2be74a9e609daeb53 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750307883 "HTTP/1.1 200 OK" 2025-06-19 11:38:04.697 | INFO | 358b6650109b43b2be74a9e609daeb53 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750307884 "HTTP/1.1 200 OK" 2025-06-19 11:38:05.265 | INFO | 358b6650109b43b2be74a9e609daeb53 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750307884 "HTTP/1.1 200 OK" 2025-06-19 11:38:05.917 | INFO | 358b6650109b43b2be74a9e609daeb53 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&OriginIds=231&DestCode=QUINHON&ToId=134 "HTTP/1.1 200 OK" 2025-06-19 11:38:05.924 | INFO | 358b6650109b43b2be74a9e609daeb53 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [1420, 1424, 2385, 2413], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 11:38:06.510 | INFO | 358b6650109b43b2be74a9e609daeb53 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 11:38:06.576 | INFO | 358b6650109b43b2be74a9e609daeb53 | 74.125.212.64:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-19 11:38:14.224 | INFO | 7af3a96e0022411ea4ae552e6591b696 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750307893 "HTTP/1.1 200 OK" 2025-06-19 11:38:14.528 | INFO | 7af3a96e0022411ea4ae552e6591b696 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750307894 "HTTP/1.1 200 OK" 2025-06-19 11:38:14.813 | INFO | 7af3a96e0022411ea4ae552e6591b696 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&OriginIds=231&DestCode=QUINHON&ToId=134 "HTTP/1.1 200 OK" 2025-06-19 11:38:14.815 | INFO | 7af3a96e0022411ea4ae552e6591b696 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [1420, 1424, 2385, 2413], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 11:38:15.177 | INFO | 7af3a96e0022411ea4ae552e6591b696 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 11:38:15.257 | INFO | 7af3a96e0022411ea4ae552e6591b696 | 74.125.212.68:0 - "POST /api/v1/trip/validate-trip-selection HTTP/1.1" 200 2025-06-19 11:38:15.932 | INFO | 9524785a7e2144798ea451712aa07135 | Received parameters: {'date': {'year': 2025.0, 'month': 6.0, 'day': 20.0}, 'departure_city': 'TP. Hồ Chí Minh', 'destination_city': 'Quy Nhơn', 'id_selected': 6321626.0, 'is_time_ambiguous': None, 'is_valid_trip': True, 'origin_office': 'Bến xe An Sương', 'ticket_number': 1.0, 'time_select': {'hours': 18.0, 'minutes': 0.0, 'seconds': 0.0, 'nanos': 0.0}, 'trip_data': {'id': 6321626.0, 'departure_time': 1750383000000.0, 'raw_departure_time': '08:30', 'raw_departure_date': '20-06-2025', 'arrival_time': 1750444200000.0, 'duration': 17.0, 'seat_type_id': 1454.0, 'seat_type_name': 'Limousine', 'price': 410000.0, 'empty_seat_quantity': 5.0, 'route_id': 1424.0, 'distance': 860.0, 'route': {'name': 'An Suong - Quang Ngai', 'route_id': 1424.0, 'origin_code': 'TPHCM', 'origin_name': 'BX An Sương', 'origin_hub_id': 8.0, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231.0, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'QUANGNGAI', 'dest_name': 'Quảng Ngãi', 'dest_hub_id': 25.0, 'dest_hub_name': 'Bến Xe Quãng Ngãi', 'dest_hub_office_id': 83.0, 'dest_hub_office_name': 'Quảng Ngãi', 'dest_hub_coords': {'lat': 15.1077487, 'lon': 108.8201125}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'way_id': 691.0, 'allow_online_booking': True, 'online_booking_before': 1750379400000.0, 'max_seats_per_booking': 5.0, 'point_details': None, 'num_price': 0.0, 'from_bus_station_address': '', 'to_bus_station_address': '', 'top_first_floor_quantity': 0.0, 'middle_first_floor_quantity': 0.0, 'last_first_floor_quantity': 0.0, 'top_second_floor_quantity': 0.0, 'middle_second_floor_quantity': 2.0, 'last_second_floor_quantity': 3.0, 'way_name': 'BXAS - Ngã Tư Ga - Xa Lộ Hà Nội - Full Cao Tốc ( TP.HCM => Nha Trang )- QL1A - Quảng Ngãi.', 'way_note': 'Quý Khách đang chọn tuyến xe có lộ trình đi Cao Tốc từ TP. HCM đến Nha Trang, xe không nhận đón/ trả dọc đường quốc lộ 1A. Cần hỗ trợ thêm thông tin vui lòng liên hệ hotline 19006067.', 'pickup_points': [{'OfficeId': 16.0, 'Name': 'BX Miền Tây', 'Address': 'VP BX Miền Tây: 395 Kinh Dương Vương , P.An Lạc , Q.Bình Tân , TP.HCM', 'Phone': '0283 752 7935', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': 'Hẹn khách trước 60p trung chuyển BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 20.0, 'Name': 'BX Miền Đông', 'Address': 'VP BX Miền Đông: 292 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP HCM', 'Phone': '028.3898.1057', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn khách trước 30p trung chuyển N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 83.0, 'Name': 'Quảng Ngãi', 'Address': 'Số 02 Trần Khánh Dư, phường Nghĩa Chánh, Thành phố Quảng Ngãi', 'Phone': '02553.839.839', 'PickUp': 0.0, 'TimeOffice': 930.0, 'PointKind': 1.0, 'Note': '', 'PointKindName': 'Bến đến'}, {'OfficeId': 102.0, 'Name': 'Hàng Xanh', 'Address': 'VP Hàng Xanh: 486H-486J Điện Biên Phủ, P.21, Q. Bình Thạnh', 'Phone': '02838.990.150', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': 'Hẹn khách trước 60p trung chuyển N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 110.0, 'Name': 'Diên Khánh', 'Address': '62 Lạc Long Quân, Thị Trấn Diên Khánh, Tỉnh Khánh Hòa', 'Phone': '02583.851.851', 'PickUp': 0.0, 'TimeOffice': 470.0, 'PointKind': -1.0, 'Note': '', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 231.0, 'Name': 'BX An Sương', 'Address': 'Bến Xe An Sương, Quốc Lộ 22, Ấp Đông Lân, Bà Điểm, Hóc Môn, TP Hồ Chí Minh', 'Phone': '0', 'PickUp': 0.0, 'TimeOffice': 0.0, 'PointKind': 0.0, 'Note': 'Hẹn khách trước 30p', 'PointKindName': 'Bến xe khởi hành'}, {'OfficeId': 332.0, 'Name': 'Nguyen Van Luong', 'Address': '358 Nguyễn Văn Lượng, Phường 16, Quận Gò Vấp', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -45.0, 'PointKind': -1.0, 'Note': 'Hẹn khách trước 45p trung chuyển N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 365.0, 'Name': 'Bệnh Viện Ung Bướu', 'Address': '68 Nơ Trang Long, Phường 14, Quận Bình Thạnh, TP.HCM', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': 'Hẹn khách trước 60p trung chuyển N4 Ga', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 408.0, 'Name': 'NGÃ TƯ GA', 'Address': 'BX NGÃ 4 GA', 'Phone': '.', 'PickUp': 0.0, 'TimeOffice': 15.0, 'PointKind': -1.0, 'Note': 'Hẹn khách đúng giờ', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 423.0, 'Name': 'Xa Lộ Đại Hàn', 'Address': '2389 Quốc Lộ 1A, phường Tân Hưng Thuận, Quận 12, TP. Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -30.0, 'PointKind': -1.0, 'Note': 'Hẹn khách trước 30p .t/c BXAS', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 440.0, 'Name': 'BỜ BAO TÂN THẮNG', 'Address': '215A Đường Bờ Bao Tân Thắng, Phường Sơn Kỳ, Quận Tân Phú, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': 'Hẹn khách trước 60p T/C BXAS (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}, {'OfficeId': 441.0, 'Name': 'NGUYỄN ẢNH THỦ', 'Address': '186A Nguyễn Ảnh Thủ, Phường Hiệp Thành, Quận 12, TP.Hồ Chí Minh', 'Phone': ' ', 'PickUp': 0.0, 'TimeOffice': -60.0, 'PointKind': -1.0, 'Note': 'Hẹn khách trước 60p T/C N4 Ga (Từ tài 7h - 22h30)', 'PointKindName': 'Bến xe trung gian'}], 'shuttle_option': {'is_enable_shuttle': True, 'route': {'name': 'An Suong - Quang Ngai', 'route_id': 1424.0, 'origin_code': 'TPHCM', 'origin_name': 'BX An Sương', 'origin_hub_id': 8.0, 'origin_hub_name': 'Bến xe An Sương', 'origin_hub_office_id': 231.0, 'origin_hub_office_name': 'BX An Suong', 'origin_hub_coords': {'lat': 10.8437376, 'lon': 106.6133728}, 'dest_code': 'QUANGNGAI', 'dest_name': 'Quảng Ngãi', 'dest_hub_id': 25.0, 'dest_hub_name': 'Bến Xe Quãng Ngãi', 'dest_hub_office_id': 83.0, 'dest_hub_office_name': 'Quảng Ngãi', 'dest_hub_coords': {'lat': 15.1077487, 'lon': 108.8201125}, 'shuttle_enable': True, 'allow_desktop': True, 'allow_mobile_app': True, 'allow_web_client': True, 'allow_web_admin': True}, 'origin_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}, 'dest_result': {'is_in_zone': False, 'is_allow_user_to_toggle': True, 'distance_to_user': 0.0, 'zone': None, 'nearest_pickup_point': None}}}, 'trip_options': [{'trip_id': 6321626.0, 'route': ' 6321626| 08:30 | Bến xe An Sương => Bến Xe Quãng Ngãi'}, {'trip_id': 5997318.0, 'route': ' 5997318| 18:00 | Bến xe An Sương => Bến Xe Quãng Ngãi'}, {'trip_id': 5953114.0, 'route': ' 5953114| 14:30 | Bến xe An Sương => Bến Xe Trung Tâm Đà Nẵng'}, {'trip_id': 6302372.0, 'route': ' 6302372| 18:15 | Bến xe An Sương => Bến Xe Trung Tâm Đà Nẵng'}]} 2025-06-19 11:38:15.934 | INFO | 9524785a7e2144798ea451712aa07135 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '08:30', 'kind': 'Limousine'} 2025-06-19 11:38:16.353 | INFO | 9524785a7e2144798ea451712aa07135 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/1424/6321626?departureDate=20-06-2025&departureTime=08%3A30&kind=Limousine "HTTP/1.1 403 " 2025-06-19 11:38:16.518 | INFO | 9524785a7e2144798ea451712aa07135 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/1424/6321626?departureDate=20-06-2025&departureTime=08%3A30&kind=Limousine "HTTP/1.1 200 " 2025-06-19 11:38:16.521 | INFO | 9524785a7e2144798ea451712aa07135 | 74.125.212.69:0 - "POST /api/v1/trip/available-seat HTTP/1.1" 200 2025-06-19 11:38:27.207 | INFO | 3172091c09284213951e0df31eb45333 | Parameters for fetching seats: {'departureDate': '20-06-2025', 'departureTime': '08:30', 'kind': 'Limousine'} 2025-06-19 11:38:27.522 | INFO | 3172091c09284213951e0df31eb45333 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/1424/6321626?departureDate=20-06-2025&departureTime=08%3A30&kind=Limousine "HTTP/1.1 403 " 2025-06-19 11:38:27.646 | INFO | 3172091c09284213951e0df31eb45333 | HTTP Request: GET https://api-busline.vato.vn/api/buslines/futa/booking/seats/1424/6321626?departureDate=20-06-2025&departureTime=08%3A30&kind=Limousine "HTTP/1.1 200 " 2025-06-19 11:38:27.684 | INFO | 3172091c09284213951e0df31eb45333 | 74.125.212.71:0 - "POST /api/v1/trip/validate-seat-selection HTTP/1.1" 200 2025-06-19 11:38:28.374 | INFO | 24db0c06b5534b22b82fffb67b88cd4d | 74.125.212.64:0 - "POST /api/v1/user/info HTTP/1.1" 200 2025-06-19 11:42:32.186 | INFO | 237f214e9a5d495b9b62b20b75d04389 | 74.125.212.69:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 11:42:32.269 | INFO | - | Shutting down 2025-06-19 11:42:32.384 | INFO | - | Waiting for application shutdown. 2025-06-19 11:42:32.386 | INFO | - | Application shutdown complete. 2025-06-19 11:42:32.388 | INFO | - | Finished server process [4880] 2025-06-19 11:42:42.388 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 11:42:42.388 | INFO | - | Started server process [18732] 2025-06-19 11:42:42.389 | INFO | - | Waiting for application startup. 2025-06-19 11:42:42.391 | INFO | - | Application startup complete. 2025-06-19 11:42:47.902 | INFO | 356dbd4b6dcd4ea98d33e54ac785e0b6 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-19 11:42:48.206 | INFO | 356dbd4b6dcd4ea98d33e54ac785e0b6 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750308167 "HTTP/1.1 200 OK" 2025-06-19 11:42:48.208 | INFO | 356dbd4b6dcd4ea98d33e54ac785e0b6 | 74.125.212.66:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-19 11:42:48.540 | INFO | ba5ebeb12821457eb5357efe5823faa1 | 74.125.212.66:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 11:43:37.452 | INFO | ae809033a4a04004b879967745032c21 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750308216 "HTTP/1.1 200 OK" 2025-06-19 11:43:37.885 | INFO | ae809033a4a04004b879967745032c21 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750308217 "HTTP/1.1 200 OK" 2025-06-19 11:43:38.139 | INFO | ae809033a4a04004b879967745032c21 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750308217 "HTTP/1.1 200 OK" 2025-06-19 11:43:38.476 | INFO | ae809033a4a04004b879967745032c21 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750308218 "HTTP/1.1 200 OK" 2025-06-19 11:43:38.836 | INFO | ae809033a4a04004b879967745032c21 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&OriginIds=231&DestCode=QUINHON&ToId=134 "HTTP/1.1 200 OK" 2025-06-19 11:43:38.838 | INFO | ae809033a4a04004b879967745032c21 | Searching trips with payload: {'channel': 'web_client', 'size': 300, 'only_online_trip': True, 'from_time': 1750352400000, 'to_time': 1750438799000, 'route_ids': [1420, 1424, 2385, 2413], 'ticket_count': 1, 'sort_by': ['price', 'departure_time']} 2025-06-19 11:43:39.209 | INFO | ae809033a4a04004b879967745032c21 | HTTP Request: POST https://api.futabus.vn/search/trips "HTTP/1.1 200 OK" 2025-06-19 11:43:39.276 | INFO | ae809033a4a04004b879967745032c21 | 74.125.212.64:0 - "POST /api/v1/trip/option HTTP/1.1" 200 2025-06-19 13:14:32.643 | INFO | b4f9472b7aff4a79a4a518c39bf4309e | 74.125.212.70:0 - "POST /api/v1/time/check-ambiguity HTTP/1.1" 200 2025-06-19 13:14:33.648 | INFO | 7fe506bd865f46a395e59a5bbaabdad2 | HTTP Request: GET https://api.futabus.vn/identity/api/token/anonymous-token "HTTP/1.1 200 OK" 2025-06-19 13:14:34.016 | INFO | 7fe506bd865f46a395e59a5bbaabdad2 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750313673 "HTTP/1.1 200 OK" 2025-06-19 13:14:34.019 | INFO | 7fe506bd865f46a395e59a5bbaabdad2 | 74.125.212.69:0 - "POST /api/v1/location/origin-city-from-office HTTP/1.1" 200 2025-06-19 13:14:34.968 | INFO | 9ae8d751c09242418d45711422858e63 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?dest=b%E1%BA%BFn+xe+quy+nh%C6%A1n&session_id=1750313674 "HTTP/1.1 200 OK" 2025-06-19 13:14:34.972 | INFO | 9ae8d751c09242418d45711422858e63 | 74.125.212.71:0 - "POST /api/v1/location/dest-city-from-office HTTP/1.1" 200 2025-06-19 13:14:35.669 | INFO | ebc810f9023c4937974ee5d33ad4d61f | 74.125.212.64:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 400 2025-06-19 13:14:37.396 | INFO | 122173a69148478c99edd8cf8f5e1266 | 74.125.212.64:0 - "POST /api/v1/trip/confirm-info HTTP/1.1" 200 2025-06-19 13:14:39.384 | INFO | 28815cc60f6e4108bb7ec89ff9d94bd0 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750313679 "HTTP/1.1 200 OK" 2025-06-19 13:14:39.737 | INFO | 28815cc60f6e4108bb7ec89ff9d94bd0 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750313679 "HTTP/1.1 200 OK" 2025-06-19 13:14:40.055 | INFO | 28815cc60f6e4108bb7ec89ff9d94bd0 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?dest=b%E1%BA%BFn+xe+quy+nh%C6%A1n&session_id=1750313679 "HTTP/1.1 200 OK" 2025-06-19 13:14:40.342 | INFO | 28815cc60f6e4108bb7ec89ff9d94bd0 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=b%E1%BA%BFn+xe+quy+nh%C6%A1n&session_id=1750313680 "HTTP/1.1 200 OK" 2025-06-19 13:14:40.739 | INFO | 28815cc60f6e4108bb7ec89ff9d94bd0 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750313680 "HTTP/1.1 200 OK" 2025-06-19 13:14:41.254 | INFO | 28815cc60f6e4108bb7ec89ff9d94bd0 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750313680 "HTTP/1.1 200 OK" 2025-06-19 13:14:41.634 | INFO | 28815cc60f6e4108bb7ec89ff9d94bd0 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?dest=b%E1%BA%BFn+xe+quy+nh%C6%A1n&session_id=1750313681 "HTTP/1.1 200 OK" 2025-06-19 13:14:41.935 | INFO | 28815cc60f6e4108bb7ec89ff9d94bd0 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=b%E1%BA%BFn+xe+quy+nh%C6%A1n&session_id=1750313681 "HTTP/1.1 200 OK" 2025-06-19 13:14:42.372 | INFO | 28815cc60f6e4108bb7ec89ff9d94bd0 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&OriginIds=231 "HTTP/1.1 400 Bad Request" 2025-06-19 13:14:42.420 | INFO | 28815cc60f6e4108bb7ec89ff9d94bd0 | 74.125.212.71:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-19 13:14:43.432 | INFO | f3aff523c50241408d06a6ff15a07e36 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750313683 "HTTP/1.1 200 OK" 2025-06-19 13:14:43.750 | INFO | f3aff523c50241408d06a6ff15a07e36 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750313683 "HTTP/1.1 200 OK" 2025-06-19 13:14:44.076 | INFO | f3aff523c50241408d06a6ff15a07e36 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?dest=b%E1%BA%BFn+xe+quy+nh%C6%A1n&session_id=1750313683 "HTTP/1.1 200 OK" 2025-06-19 13:14:44.484 | INFO | f3aff523c50241408d06a6ff15a07e36 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=b%E1%BA%BFn+xe+quy+nh%C6%A1n&session_id=1750313684 "HTTP/1.1 200 OK" 2025-06-19 13:14:44.821 | INFO | f3aff523c50241408d06a6ff15a07e36 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750313684 "HTTP/1.1 200 OK" 2025-06-19 13:14:45.172 | INFO | f3aff523c50241408d06a6ff15a07e36 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=B%E1%BA%BFn+xe+An+S%C6%B0%C6%A1ng&session_id=1750313684 "HTTP/1.1 200 OK" 2025-06-19 13:14:45.454 | INFO | f3aff523c50241408d06a6ff15a07e36 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?dest=b%E1%BA%BFn+xe+quy+nh%C6%A1n&session_id=1750313685 "HTTP/1.1 200 OK" 2025-06-19 13:14:45.818 | INFO | f3aff523c50241408d06a6ff15a07e36 | HTTP Request: GET https://api.futabus.vn/search/metadata/pickup-points?origin=b%E1%BA%BFn+xe+quy+nh%C6%A1n&session_id=1750313685 "HTTP/1.1 200 OK" 2025-06-19 13:14:46.170 | INFO | f3aff523c50241408d06a6ff15a07e36 | HTTP Request: GET https://api.futabus.vn/metadata/office/routes?OriginCode=TPHCM&FromId=31&OriginIds=231 "HTTP/1.1 400 Bad Request" 2025-06-19 13:14:46.176 | INFO | f3aff523c50241408d06a6ff15a07e36 | 74.125.212.70:0 - "POST /api/v1/trip/option HTTP/1.1" 500 2025-06-19 13:15:50.516 | INFO | - | Shutting down 2025-06-19 13:15:50.633 | INFO | - | Waiting for application shutdown. 2025-06-19 13:15:50.684 | INFO | - | Application shutdown complete. 2025-06-19 13:15:50.695 | INFO | - | Finished server process [18732] 2025-06-19 13:16:07.242 | INFO | - | Model loaded from app/ner/models/ner 2025-06-19 13:16:07.244 | INFO | - | Started server process [32536] 2025-06-19 13:16:07.245 | INFO | - | Waiting for application startup. 2025-06-19 13:16:07.248 | INFO | - | Application startup complete. 2025-06-19 15:22:49.412 | INFO | - | Shutting down 2025-06-19 15:22:49.572 | INFO | - | Waiting for application shutdown. 2025-06-19 15:22:49.601 | INFO | - | Application shutdown complete. 2025-06-19 15:22:49.610 | INFO | - | Finished server process [32536]