本節說明如何使用 Google Maps Mobility 隨選行程服務建立及處理行程。並假設您已熟悉下列項目:
- Fleet Engine:您應熟悉 Fleet Engine 的實作細節、要求機制和安全性。詳情請參閱「什麼是 Fleet Engine 服務?」和「設定 Fleet Engine」中的安全性主題。
- 車輛基本概念 (適用於隨選服務)。請參閱「車輛簡介」。
- 隨選服務的行程基本概念。請參閱「隨選行程」。
您將使用的 TripService 適用於 gRPC 和 REST。為求簡潔,欄位參照會遵循 gRPC 慣例。
在 Fleet Engine for 隨選服務中,行程是一種旅程類型,可模擬消費者提出的餐點外送或叫車要求。行程狀態會隨著行程進展而變化,例如 NEW、ENROUTE_TO_PICKUP 等,您需要將這些狀態回報給 Fleet Engine。行程狀態會對應至指派給車輛的地理位置路線控點,且 Fleet Engine 會在您每次更新行程時,修改這些車輛路線控點。如要進一步瞭解行程及其與車輛的關係,請參閱「Fleet Engine 基本概念」中的「隨選行程」。
行程的生命週期
如要在 Fleet Engine 中追蹤每趟行程,您必須先建立 Trip 實體。請參閱 gRPC 或 REST 參考資料。
下表說明在系統中建立行程的端對端流程範例,以及在 Fleet Engine 中的生命週期階段。本指南假設您已設定 Fleet Engine,並有車輛可指派給行程,且已在駕駛應用程式中啟用位置更新功能。請參閱「Driver SDK:即時行程」。
| 1 | 接收預訂要求。 | Fleet Engine 行程開始前,預訂系統會先透過應用程式或其他預訂系統,收到消費者的乘車或外送要求。接著,系統會使用 CreateTrip 建立行程實體,並填入必要欄位,例如上車地點。此時也可以設定其他欄位,例如乘客和下車地點,或等到指派車輛後再設定。請參閱「建立單一目的地行程」。 |
| 2 | 指派車輛。 | 您可以直接在系統中指派車輛給行程,並將指派結果回報給 Fleet Engine,也可以使用搜尋車輛服務搜尋車輛,並依行程和車輛屬性篩選,找出最適合完成行程的車輛。Driver SDK 會提供位置更新資訊,讓您知道搜尋半徑內所有上線車輛的距離。
|
| 3 | 更新行程。 | 司機接受行程並開始前往上車地點後,系統會將行程狀態從 NEW 更新為 ENROUTE_TO_PICKUP。在整個行程中,您會持續輪詢車輛位置,方法是從應用程式直接連線至後端,或輪詢 Fleet Engine,後者會從 Driver SDK 接收持續不斷的車輛位置更新串流。接著,系統會將每個行程里程碑回報給 Fleet Engine,Fleet Engine 則會據此更新車輛的路線控點清單。
|
| 4 | 與消費者分享歷程。 | Fleet Engine 會將行程詳細資料和車輛位置提供給 Consumer SDK,後者會使用事件監聽器接收行程更新,並在消費者應用程式中顯示。Fleet Engine 會自動更新預計到達時間、剩餘距離、路線和剩餘車輛路線控點。詳情請參閱「分享隨選行程」。 |
| 5 | 完整行程。 | 當車輛抵達行程的目的地路線控點,且司機表示行程順利完成時,系統會在 Fleet Engine 中將 TripStatus 設為 COMPLETE。請注意,與車輛一樣,行程實體無論狀態為何,都會在 Fleet Engine 中保持有效 7 天,之後就會移除。 |
行程序列流程
下圖更詳細地呈現這個流程。
