Tài liệu này mô tả dịch vụ tác vụ được lên lịch trong Công cụ của đội xe. Bài viết này giả định rằng bạn đã đọc bài viết Công cụ của đội xe là gì? và biết được chức năng cụ thể của dịch vụ Công cụ của đội xe mà bạn cần.
Khi bạn đọc tài liệu này, hãy ghi nhớ những điều sau:
- Bạn tạo các tác vụ và liên kết các tác vụ đó với một điểm dừng xe để mô hình hoá mối liên kết thực tế giữa tác vụ và vị trí dự kiến xe sẽ dừng để người lái xe có thể hoàn thành tác vụ. Hãy đọc bài viết Giới thiệu về xe để hiểu rõ hơn về cách hoạt động của xe trong Fleet Engine.
- Fleet Engine cho các tác vụ theo lịch sẽ sử dụng các tài nguyên sau:
Task
vàDeliveryVehicle
. Công cụ Fleet cung cấp cả dịch vụ gRPC và giao diện REST:
Nhiệm vụ đã lên lịch là gì?
Một nhiệm vụ theo lịch trong Fleet Engine là một hành động riêng lẻ mà người lái xe sử dụng xe hoàn thành trong bối cảnh rộng hơn của một hoạt động vận tải. Phương thức này xác định mục tiêu cụ thể cho trình điều khiển. Ví dụ:
- để cung cấp một chỗ ở tốt cho một nơi cư trú
- để nhận một gói hàng để trả lại kho hàng
- dừng lại tại một địa điểm để cung cấp dịch vụ tại chỗ cho khách hàng
- để dừng theo lịch trình để tiếp nhiên liệu cho xe
Phần tử việc cần làm
Hình ảnh sau đây minh hoạ các thành phần của nhiệm vụ này trong một hành trình tiêu chuẩn theo lịch trình cho xe.
Trường tác vụ cơ bản
Trường | Mô tả |
---|---|
Loại | Xác định loại thao tác được liên kết với tác vụ. |
Mã việc cần làm | Một chuỗi nhận dạng duy nhất tác vụ trong hệ thống. |
Vị trí dự kiến | Chỉ định vị trí dự kiến nơi thực hiện tác vụ. Vị trí này không phải lúc nào cũng giống với vị trí dự kiến cho điểm dừng xe. |
Tiểu bang | Cho biết tác vụ đang mở hay đóng. |
Kết quả nhiệm vụ | Cho biết tác vụ thành công hay không thành công. |
Mô hình dữ liệu cho công việc
Các sơ đồ sau đây minh hoạ mô hình dữ liệu của tài nguyên Task
cùng với sơ đồ cho tài nguyên DeliveryVehicle
liên kết. Bạn có thể xem xét cả hai biểu đồ để khám phá mối quan hệ giữa hai tài nguyên và lưu ý những điểm sau:
- Vị trí dự kiến: Cả điểm dừng xe và nhiệm vụ đều có vị trí đã lên kế hoạch và khác nhau.
- Đối với tác vụ, vị trí đã lên kế hoạch cho biết nơi diễn ra hành động của trình điều khiển. Ví dụ: 15 gói hàng được gửi đến một khu phức hợp dân cư lớn sẽ cần được gửi đến nhiều vị trí phòng gửi thư trong cùng một khu phức hợp đó.
- Đối với điểm dừng xe, vị trí dự kiến cho biết điểm dừng của xe trong khi người lái xe hoàn thành các nhiệm vụ. Ví dụ: một xe dừng lại ở lối vào một khu chung cư và người lái xe giao các gói hàng theo cách thủ công đến các phòng thư riêng biệt trong khu chung cư.
- Trạng thái: Cả nhiệm vụ và trạm dừng xe đều có trường trạng thái khác nhau.
- Trạng thái của điểm dừng xe phản ánh tiến trình của xe liên quan đến điểm dừng, được dùng cho mục đích theo dõi đội xe.
- Trạng thái của tác vụ cho biết tác vụ có đang hoạt động hay không. Điều này ảnh hưởng đến các thao tác khác cần thực hiện trên các tác vụ, chẳng hạn như thiết lập kết quả hoặc chỉ định tác vụ cho một xe.
Kết quả công việc: Kết quả công việc là một trường quan trọng trong mô hình dữ liệu, vì trường này được dùng để cho biết một công việc có thành công hay không, độc lập với trạng thái công việc.
Mã nhận dạng:
- Khi bạn giao một nhiệm vụ cho một chiếc xe, công cụ Fleet sẽ điền vào trường
deliveryVehicleId
. Trường chỉ có thể đọc này cho biết xe được giao nhiệm vụ. - Mã việc cần làm là giá trị nhận dạng duy nhất cho tất cả các nhiệm vụ trong hệ thống của bạn.
- Mã theo dõi xác định một công việc để theo dõi quá trình vận chuyển.
- Khi bạn giao một nhiệm vụ cho một chiếc xe, công cụ Fleet sẽ điền vào trường
Mô hình dữ liệu của Tasks
Mô hình dữ liệu về xe
Mã việc cần làm
Tương tự như mã nhận dạng xe trong Công cụ quản lý đội xe, mỗi tác vụ phải chứa một mã nhận dạng để phân biệt với các tác vụ khác trong hệ thống. Bạn tham chiếu và quản lý tất cả tác vụ trong luồng công việc theo mã nhận dạng của tác vụ. Bạn tạo các mã nhận dạng này bằng cách sử dụng dịch vụ CreateTaskRequest
và cung cấp một chuỗi mã nhận dạng tuân thủ các yêu cầu được mô tả trong phần này.
Sau đó, chuỗi này bao gồm một phần tên của chính tài nguyên tác vụ, một trường chỉ có đầu ra trên đối tượng Task
. Điều này tương tự như cách Công cụ xe tạo tài nguyên tên xe. Hãy xem phần Đặt tên tài nguyên trong phần Giới thiệu về Fleet Engine.
Thuộc tính | Mô tả |
---|---|
Điểm đặc biệt | Mỗi mã nhận dạng tác vụ phải là duy nhất trong quá trình triển khai Công cụ của đội xe để tránh nhầm lẫn và đảm bảo nhận dạng chính xác. |
Định dạng |
|
Ví dụ về mã công việc phù hợp |
|
---|---|
Mã công việc không được phép |
|
Loại việc cần làm
Công cụ của đội xe hỗ trợ nhiều loại tác vụ để thể hiện các hành động khác nhau trong một hoạt động vận tải. Những thông tin này được mô tả ở đây cùng với khả năng hiển thị và thông tin thanh toán.
Loại việc cần làm | Mô tả | Chế độ hiển thị theo dõi quá trình vận chuyển | Đã lập hoá đơn |
---|---|---|---|
Tác vụ phân phối | Dùng để giao hàng hoặc hoàn thành một việc cho khách hàng. | Người tiêu dùng có thể xem và theo dõi thông tin này. | Có |
Nhiệm vụ đến lấy hàng | Dùng để cho biết việc lấy hàng của khách hàng. Bạn phải có một nhiệm vụ giao hàng tương ứng cho mọi nhiệm vụ đến lấy hàng. | Người tiêu dùng có thể xem và theo dõi thông tin này. | Không |
Nhiệm vụ không sẵn có | Xác định xe không thể hoạt động, chẳng hạn như khi tài xế nghỉ ngơi hoặc đổ xăng. | Không hiển thị cho người tiêu dùng. | Không |
Lên lịch dừng tác vụ | Nhiệm vụ không phân phối yêu cầu dừng tại một vị trí cụ thể. Sử dụng thao tác dừng theo lịch cho các đợt thu thập hình ảnh đã lên lịch hằng ngày, và sẽ dừng tại một vị trí cụ thể, độc lập với các hoạt động giao hàng hoặc đến lấy hàng khác tại cùng một vị trí. Bạn cũng có thể tạo các nhiệm vụ dừng theo lịch cho việc thu thập từ hộp thư thả hoặc để mô hình hoá việc chuyển xe trung chuyển hoặc dừng tại các trung tâm bảo dưỡng và điểm bảo dưỡng. | Người tiêu dùng không thể theo dõi tác vụ cụ thể này, nhưng có thể xem nó như một phần của quá trình theo dõi các tác vụ khác. | Không |
Vòng đời của nhiệm vụ và hành trình
Phần này cung cấp thông tin chi tiết về vòng đời tác vụ phân phối trong Fleet Engine. Vòng đời tác vụ được kết nối với hành trình của xe vì xe phải di chuyển đến một điểm dừng để người lái xe có thể hoàn thành tác vụ tại vị trí đã lên kế hoạch.
1. Tạo việc cần làm
Trong lần đầu tiên tạo một công việc trong Công cụ xe, bạn sẽ thiết lập nhiều trường cho công việc đó một cách độc lập với việc liên kết các trường đó với một điểm dừng.
Thuộc tính | Mô tả |
---|---|
Tiểu bang | Đặt thành MỞ |
ID | Đặt mã theo dõi và tác vụ nếu bạn sử dụng tính năng theo dõi lô hàng cho người tiêu dùng. |
Thời gian | Thời lượng dự kiến cho tác vụ và khoảng thời gian mục tiêu của tác vụ. Hãy xem phần Định thời gian tác vụ để biết thông tin chi tiết. |
Vị trí dự kiến | Đặt toạ độ địa lý chính xác nơi cần hoàn thành nhiệm vụ. |
2. Chỉ định việc cần làm
Khi giao một nhiệm vụ cho một xe, bạn làm việc này cùng với điểm dừng của xe. Điểm dừng là toạ độ vĩ độ/kinh độ cho biết vị trí xe đỗ trong khi người lái xe hoàn thành các nhiệm vụ liên quan đến điểm dừng. Điểm dừng thường là một điểm truy cập, chẳng hạn như bãi bốc hàng hoặc vị trí bị bám đường.
3. Đang thực hiện
Trạng thái của một việc cần làm là MỞ hoặc ĐÃ ĐÓNG. Tuy nhiên, sau khi giao một nhiệm vụ cho một chiếc xe, bạn có thể theo dõi tiến trình của nhiệm vụ đó thông qua mối liên kết với xe, cũng như vị trí của chiếc xe đó với điểm dừng cần hoàn thành nhiệm vụ đó.
Sau khi xe rời khỏi một điểm dừng hoặc bắt đầu di chuyển, trạng thái của điểm dừng sẽ thay đổi thành ENROUTE
. Bằng cách này, tính năng theo dõi lô hàng của người tiêu dùng có thể cập nhật cho người nhận về một nhiệm vụ với số điểm dừng còn lại và thời gian đến dự kiến. API này cũng hỗ trợ mọi hình ảnh trực quan theo thời gian thực để theo dõi lô hàng của người tiêu dùng hoặc theo dõi đội xe.
4. Kết quả của việc đến và thực hiện nhiệm vụ
Khi xe đến một điểm dừng, trạng thái của điểm dừng đó phải được đặt thành ARRIVED
. Tương tự như trạng thái dừng ENROUTE
, điều này không ảnh hưởng đến trạng thái của nhiệm vụ, nhưng vẫn hỗ trợ cả thông báo cho người tiêu dùng và mọi báo cáo theo thời gian thực để theo dõi nhóm thiết bị mà nhà điều hành nhóm thiết bị sử dụng. Tính năng này cũng cho phép bạn sử dụng các báo cáo và số liệu phân tích về hoạt động sau này mà bạn sẽ dùng để tối ưu hoá việc phân phối.
Sau khi xe dừng, hệ thống của bạn có thể xử lý phần còn lại của hành trình bằng một trong các phương pháp sau:
Đóng việc cần làm khi đã hoàn thành.
Khi người lái xe đánh dấu một nhiệm vụ là hoàn thành, hệ thống của bạn có thể xoá nhiệm vụ đó khỏi điểm dừng, nhưng để điểm dừng lại với các nhiệm vụ khác được giao.
Xoá toàn bộ điểm dừng khỏi xe.
Sau khi người lái xe đánh dấu tất cả các nhiệm vụ là hoàn tất và xe đang trên đường đến điểm dừng tiếp theo, bạn có thể xoá toàn bộ điểm dừng khỏi xe. Công cụ quản lý đội xe sẽ tự động đóng tất cả các công việc liên kết với một điểm dừng đã bị xoá.
Việc đóng một tác vụ không cho biết tác vụ đó có thành công hay không
Việc đóng một việc cần làm chỉ cho biết rằng việc cần làm đó không còn được coi là đang diễn ra.
Đối với các tác vụ ở trạng thái CLOSED
, bạn đặt kết quả của chúng thành SUCCEEDED
hoặc FAILED
. Điều này cần thiết để cho biết kết quả thực tế của việc theo dõi lô hàng và để tính phí chính xác. Fleet Engine chỉ tính phí các nhiệm vụ phân phối với trạng thái SUCCEEDED.
Sau khi đặt kết quả cho việc cần làm, bạn sẽ không thể thay đổi kết quả đó
Khi đánh dấu kết quả của một nhiệm vụ, Fleet Engine sẽ tự động điền vị trí kết quả của nhiệm vụ bằng vị trí đã biết gần đây nhất của chiếc xe. Tuy nhiên, bạn có thể sửa đổi thời gian và vị trí kết quả của tác vụ sau khi thiết lập và Công cụ của Fleet sẽ không ghi đè các trường này.
5. Các tình huống tác vụ khác
Không phải tất cả các nhiệm vụ mà bạn lập mô hình trong Công cụ quản lý đội xe đều phù hợp với quy trình hành trình thông thường. Ví dụ:
- Nhiệm vụ đến lấy hàng. Khi bạn có nhiệm vụ đến lấy hàng một gói hàng cần trả về kho hàng để xử lý sau, bạn nên tạo tác vụ giao hàng tương ứng cho gói hàng đó, trong đó vị trí dự kiến được đặt là kho hàng. Nếu không, các tác vụ đến lấy hàng thường tuân theo quy trình tương tự như các tác vụ giao hàng.
- Giao lại việc cần làm. Bạn không thể trực tiếp giao lại một nhiệm vụ cho một xe khác. Thay vào đó, để di chuyển một nhiệm vụ từ xe này sang xe khác, hãy đóng nhiệm vụ ban đầu rồi tạo lại trước khi giao cho xe mới. Nếu bạn cập nhật thứ tự công việc cho một công việc đã được chỉ định cho một xe khác, thì Công cụ quản lý đội xe sẽ báo lỗi.
- Xoá việc cần làm. Tương tự như đối với phương tiện, Fleet Engine sẽ xoá những nhiệm vụ chưa được cập nhật sau 7 ngày. Nếu bạn cố gắng sử dụng lại mã tác vụ cho một mã đã bị đóng trước đó, thì Fleet Engine sẽ trả về lỗi nếu mã đó đã được sử dụng trong vòng 7 ngày qua. Ngược lại, nếu muốn lưu giữ dữ liệu công việc lâu hơn 7 ngày, bạn phải tự triển khai chức năng đó, chẳng hạn như thông qua một công việc theo lịch để đặt lại đồng hồ 7 ngày.
Chia sẻ tiến trình thực hiện việc cần làm
Trong Fleet Engine, bạn có thể theo dõi tiến trình của nhiệm vụ theo thời gian thực và chia sẻ hành trình của người lái xe theo hai cách chính:
- Trải nghiệm người tiêu dùng để người tiêu dùng biết trạng thái của đơn đặt hàng vận chuyển hoặc đơn đặt hàng dịch vụ đã yêu cầu.
- Theo dõi đội xe để các nhà điều hành đội xe theo dõi và phân tích trạng thái của các xe trong đội xe.
Trải nghiệm người tiêu dùng
Để chia sẻ tiến trình công việc, bạn thiết lập trải nghiệm người dùng bằng cách sử dụng SDK Người dùng JavaScript. Với SDK, bạn có thể cải thiện trải nghiệm trực quan trên web hoặc ứng dụng dành cho thiết bị di động để người tiêu dùng có thể theo dõi trạng thái của lô hàng cùng với thời gian đến dự kiến và thông tin cập nhật vị trí theo thời gian thực cho xe giao hàng. Xem Tổng quan về tác vụ theo lịch của SDK dành cho người dùng.
SDK người tiêu dùng chứa một bản đồ JavaScript và các thành phần dữ liệu để kết nối với Fleet Engine. Tệp ánh xạ này thay thế cho đối tượng google.maps.Map
chuẩn. Ứng dụng của bạn phải xác thực người dùng cuối và sử dụng vai trò người dùng Phân phối trong dự án Google Cloud để chỉ trả về thông tin dành riêng cho khách hàng. Fleet Engine lọc và loại bỏ mọi thông tin khác trong phản hồi. Ví dụ: trong một tác vụ không có sẵn, hệ thống sẽ không chia sẻ thông tin vị trí với người dùng cuối.
Trong Fleet Engine, bạn bật các chế độ cài đặt sau để chia sẻ tiến trình công việc với người dùng:
- Tasks sử dụng thuộc tính
TaskTrackingViewConfig
. Không bắt buộc. - Tác vụ sử dụng mã theo dõi mà thư viện cần để xác định các tác vụ liên quan cho người dùng.
Theo dõi đội xe
Thư viện theo dõi đội xe JavaScript cho phép bạn trực quan hoá vị trí của các xe trong đội xe gần như theo thời gian thực. Thư viện này sử dụng API Fleet Engine để cung cấp hình ảnh về xe giao hàng cũng như các nhiệm vụ được giao. Giống như SDK JavaScript dành cho người dùng, phiên bản này chứa một thành phần bản đồ JavaScript thay thế cho một thực thể google.maps.Map
tiêu chuẩn bằng các thành phần dữ liệu mà bạn dùng để kết nối với Fleet Engine.
Thư viện này cho thấy chế độ hiển thị của xe giao hàng ngay khi xe được tạo trong Công cụ quản lý đội xe. Để triển khai việc này, bạn sử dụng vai trò IAM trên đám mây Người dùng cấp cao của Dịch vụ công cụ của đội xe và cung cấp thông báo xác nhận mã thông báo web Java để truy cập vào xe tải và các nhiệm vụ liên quan.
Các trường hợp về việc cần làm đã lên lịch
Phần này trình bày nhiều tình huống tác vụ nhằm tóm tắt thông tin được cung cấp ở thời điểm này trong hướng dẫn. Khoá học này giúp bạn hiểu nhiều cách để lập mô hình hoạt động vận tải trong Fleet Engine, tuỳ theo doanh nghiệp của bạn.
Giao hàng có tính năng theo dõi
Tình huống phân phối này cho thấy một nhiệm vụ dừng theo lịch trình được giao cho kho hàng cả khi khởi hành từ kho vào đầu hành trình và đến kho hàng vào cuối hành trình. Trang này cũng cho thấy hai tác vụ phân phối cho một điểm dừng, trong đó một tác vụ không thành công. Sử dụng nhiệm vụ này để bật tính năng theo dõi từ và đến kho lưu trữ, cũng như để lập mô hình thời gian bắt đầu và kết thúc trong ngày. Không có hoạt động tính phí đối với các thao tác ngừng theo lịch.
Đến lấy hàng bằng dịch vụ giao hàng tại kho hàng
Tình huống này cho thấy cách lập mô hình lấy hàng bằng tác vụ giao hàng tương ứng bắt buộc. Bạn thiết lập việc trả lại hàng về kho hàng là giao hàng cho mục đích thanh toán.
Xe cấp dữ liệu
Tình huống này cho thấy hai lần giao hàng với một điểm dừng theo lịch ở giữa cho xe trung chuyển, mục đích là để xe giao hàng quay lại kho với một số gói hàng cần vận chuyển. Bạn cũng có thể mô hình hoá xe trung chuyển có điểm dừng theo lịch.
Thời gian tác vụ
Việc lập mô hình thời gian tác vụ giúp lên kế hoạch lộ trình, ETA (thời gian đến dự kiến) và quản lý kỳ vọng phân phối một cách hiệu quả. Fleet Engine cung cấp 2 chức năng chính để lập mô hình và dự đoán thời gian tác vụ, như mô tả trong phần này.
Thời lượng của việc cần làm
Thời lượng tác vụ được đặt bằng trường task_duration
. Đây là trường bắt buộc mô hình hoá thời gian dự kiến mà người lái xe dành để hoàn thành các tác vụ tại một điểm dừng hoặc để nghỉ giải lao. Đối với điểm dừng, thao tác này sẽ bao gồm tất cả các hoạt động cần thiết sau khi đến một điểm dừng, chẳng hạn như dỡ gói hàng và tương tác với người nhận. Thông tin này càng cụ thể thì Fleet Engine càng tốt để cung cấp thời gian đến và giờ đến dự kiến thực tế cho các điểm dừng tiếp theo trong hành trình.
Để biết thông tin chi tiết về trường, hãy xem phần Thời lượng trong Tài liệu về vùng đệm giao thức.
Khoảng thời gian mục tiêu
Thời gian mục tiêu xác định khoảng thời gian đề xuất cho một nhiệm vụ, thường dùng để trao đổi với khách hàng hoặc cho mục đích lập kế hoạch nội bộ. Bạn đặt thông tin này bằng trường target_time_window
, bao gồm thời gian bắt đầu và thời gian kết thúc.
Điều này không ảnh hưởng trực tiếp đến bất kỳ phép tính tuyến đường nào, nhưng có thể được dùng cho các tình huống như cảnh báo người tiêu dùng về khoảng thời gian giao gói hàng hoặc thời điểm dự kiến một worker dịch vụ theo lịch sẽ đến.
Thuộc tính việc cần làm
Các thuộc tính tác vụ trong Công cụ của đội xe cung cấp một cách thuận tiện để lọc tác vụ dựa trên các đặc điểm cụ thể khi sử dụng yêu cầu ListTasks
. Bạn cũng có thể sử dụng các thuộc tính tác vụ tuỳ chỉnh cho hoạt động phân tích bằng Cloud Logging, cùng với việc truyền đạt thông tin cho người tiêu dùng hoặc để theo dõi nhóm thiết bị. Mục đích này tương tự như đối với các thuộc tính của xe: hãy sử dụng thuộc tính này để tạo ra góc nhìn tập trung hơn về các hoạt động phân phối của bạn.
Giới hạn và hạn chế
- Tạo thuộc tính tuỳ chỉnh: Fleet Engine giới hạn số lượng thuộc tính tuỳ chỉnh mà bạn có thể xác định cho mỗi nhiệm vụ. Hãy liên hệ với người đại diện bán hàng của bạn để yêu cầu tăng các hạn mức đó.
- Khả năng lọc: Mặc dù mang đến tính linh hoạt cho việc lọc, nhưng các thuộc tính của nhiệm vụ không thay thế các trường dữ liệu của nhiệm vụ chính. Sử dụng các bộ lọc này để bộ lọc bổ sung dựa trên nhu cầu cụ thể của bạn.
- Mỗi thuộc tính phải có một khoá duy nhất.
- Đừng thêm thông tin nhận dạng cá nhân hoặc các thông tin nhạy cảm khác vào giá trị thuộc tính, vì người dùng có thể nhìn thấy những thông tin này.
- Xác thực dữ liệu: Đảm bảo các loại và định dạng dữ liệu của thuộc tính tuỳ chỉnh tương thích với các yêu cầu của Công cụ xe.