Sơ đồ tích phối đặt vé đường dài đi ngay: cung cấp chức năng đặt vé đi ngay cho các đối tượng bắt xe khách đường dài dọc đường đã được đóng gói thành Rest API chi tiết như sau:
Dựa trên dịch vụ nền của Google Map chỉ giúp định vị 1 đối tượng sử dụng GPS, từ dịch vụ nền đó xây dựng cung cấp dịch vụ đặt vé trực tuyến xác định trước được địa điểm đón của hành khách và tích hợp thông tin đón tại thời điểm mà hành khách muốn đón, hiển thị khoảng cách và thời gian nhà xe đến địa điểm đón vào trong ứng dụng Hlinkbus.
61
Dựa trên dịch vụ nền trong hệ thống Hlinkbus là hiển thị danh sách các chuyến, lịch trình, thông tin các nhà xe. Từ đó cung cấp dịch vụ tra cứu chuyến nhằm mục đích hỗ trợ hành khách dễ dàng tra cứu thông tin 1 chuyến xe mà khách khách muốn đón, và hiển thị chi tiết các danh sách nhà xe đang đến gần điểm mà hành khách muốn đón, và ước tính giá vé thấp nhất của các nhà xe.
Hình 1. 32 Sơ đồ tích phối đặt vé đi ngay Sau đây là quy trình các bước đặt vé thực hiện trong mô hình:
Bước 1: Hành khách tiến hành chọn điểm đi và điểm đón từ App User. Trong bước này sẽ hiển thị lộ trình xe khách(gọi API GetTrip) và hiển thị xe gần điểm đón(API GetMap). Trong chức năng hiển thị lộ trình xe sẽ có 2 TH:
TH1: Tuyến có 1 lộ trình
62
TH2: Tuyến có 2 lộ trình, thì trên app sẽ hiển thị lộ trình gần khách hàng nhất màu xanh, lộ trình còn lại hiển thị màu ghi nếu khách hàng chọn lộ trình nào thì sẽ hiển thị màu xanh.
Bước 2: Sau khi Hành khách chọn điểm đón xong, hành khách chọn số lượng người cần đi và gửi yêu cầu đến lái xe(gọi tới API addrequest gửi request tới app driver của lái xe)
Bước 3: Lái xe tiến hành kiểm tra yêu cầu đón trên app driver(gọi API d8), và kiểm tra danh sách chỗ còn trống trên xe để đưa ra quyết định có đón hay không. Trong trường hợp còn chỗ(gọi API d9 với trạng thái status: OK, để tiến hành đón hành khách), trường hợp không đón (gọi API d9 với status:
cancel để hủy yêu cầu đón của hành khách )
Bước 4: Sau khi đã chon được trạng thái đón hay không đón, thì lái xe gửi lại request cho hành khách thông báo trạng thái. Với trường hợp Driver: OK thì App User tự động cập nhật tình trạng của xe đó đang di chuyển 5s 1 lần. Hiển thị thông tin xe(Biển số xe, số điện thoại, thời gian dự kiến đón, hãng xe).
Sau đây là chi tiết các Rest API được xây dựng ứng dụng trong sơ đồ:
- API listrequest (https://devbus.hlink.vn:8869/api/listrequest): Sau khi hành khách gửi request tới ứng dụng dành cho nhà xe, thì API được triển khanh hiển thị danh sách các request đó cho các lái xe, sau đó nhà xe tiến hành lựa chọn xác nhận đón và gửi lại confirm OK đối với request muốn đón, và cancel đối với trường hợp nhà xe hủy không đón.
- API updaterequest (https://devbus.hlink.vn:8869/api/updaterequest): API này sẽ được nhà xe cập nhật và response lại hành khách để xác nhận trạng thái đón hay cancel:
63
Hình 1. 33 updaterequest
- API driverposition (https://devbus.hlink.vn:8869/api/driverposition): Sau khi nhà xe đồng ý xác nhận đón hành khách, Trên App User API này hiển thị vị trí nhà xe đang thực hiện hành trình.
64
Hình 1. 34 API driverposition
- API addnode (https://devbus.hlink.vn/api/AddNode): API được xây dựng hỗ trợ lái xe cập nhật và tạo nốt xe mà mình đăng ký mới trong danh sách nốt xe.
Tham số:
" + driver_id: int
+ datego: yyyy-mm-dd + timego: hh:ii
+ trip_name: Hà Nội - Sapa + start_id: id tỉnh xuất phát + end_id: id tỉnh đến
+ substation: địa chỉ điểm xuất phát ( bến xe ) + route: json_encode( waypoints )
+ distance : khoảng cách từ start_id đến end_id tính bằng km + totaltime: tổng thời gian đi tính theo google ,tính bằng giây-"
65