Việc cần làm đã lên lịch

Tài liệu này mô tả dịch vụ công việc theo lịch trong Fleet Engine. Giả định bạn đã đọc Fleet Engine là gì? và biết rõ về Fleet cụ thể Khả năng bảo dưỡng công cụ 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 nhiệm vụ và liên kết chúng với một trạm xe như một cách để mô hình hoá mối liên kết thực tế giữa nhiệm vụ và vị trí mà xe dự kiến sẽ dừng để người lái có thể hoàn tất nhiệm vụ. Hãy đọc bài viết Giới thiệu về phương tiện di chuyển để tìm hiểu rõ hơn tìm hiểu 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: TaskDeliveryVehicle. Fleet Engine cung cấp cả dịch vụ gRPC và REST giao diện:
    • Task: gRPCREST
    • DeliveryVehicle: gRPCREST
    • Để cho đơn giản, tài liệu hướng dẫn này sử dụng các ví dụ về gRPC.

Việc cần làm đã lên lịch là gì?

Một nhiệm vụ đã lên lịch trong Fleet Engine thể hiện một hành động riêng lẻ cần thực hiện được một người lái xe thực hiện bằng cách sử dụng một chiếc xe trong bối cảnh rộng hơn của một hoạt động vận tải. Tệp này xác định mục tiêu cụ thể cho người lái xe. Ví dụ:

  • để cung cấp một lợi ích cho một khu vực 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 theo lịch biểu chuẩn hành trình của một chiếc 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 xác định duy nhất tác vụ trong hệ thống.
Vị trí dự kiến Chỉ định vị trí dự kiến nơi tác vụ sẽ được thực hiện. 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 biểu đồ 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, hãy lưu ý những điều sau:

  • Vị trí dự kiến: Cả trạm xe và nhiệm vụ đều có vị trí đã lên kế hoạch, khác nhau.
    • Đối với nhiệm vụ, vị trí đã lên kế hoạch cho biết nơi người lái xe thực hiện hành động xảy ra. Ví dụ: 15 kiện hàng giao đến một khu dân cư lớn cần gửi đến các địa điểm khác nhau của phòng gửi thư trong phức tạp đó.
    • Đối với trạm dừng xe, vị trí dự kiến cho biết điểm dừng cho trong khi người lái xe hoàn thành nhiệm vụ. Ví dụ: một xe dừng tại lối vào một khu phức hợp và người lái xe vận chuyển các gói hàng theo cách thủ công đến các phòng thư riêng biệt trong khu phức hợp.
  • Trạng thái: Cả nhiệm vụ và trạm dừng xe đều có trường trạng thái, khác với với nhau.
    • Trạng thái của trạm dừng xe phản ánh tiến trình của xe trong liên quan đến điểm dừng, dùng để 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. Chiến dịch này tác động đến các thao tác khác cần thực hiện trong các nhiệm vụ, chẳng hạn như đặt kết quả hoặc chỉ định quảng cáo đó cho một chiếc xe.
  • Kết quả tác vụ: Kết quả tác vụ là trường quan trọng trong mô hình dữ liệu, bởi vì nó được dùng để cho biết sự thành công hay thất bại của một nhiệm vụ, độc lập với về trạng thái tác vụ.

  • 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 này cho biết xe cần công việc được giao.
    • 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.

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ã xe trong Fleet Engine, mỗi nhiệm vụ phải chứa một mã nhận dạng để giúp phân biệt chúng với các nhiệm vụ khác trong hệ thống. Bạn tham chiếu và quản lý tất cả các tác vụ trong quy trình làm việc của bạn theo ID của chúng. Bạn tạo các ID này bằng cách sử dụng CreateTaskRequest và bằng cách cung cấp một chuỗi mã nhận dạng tuân theo đượ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 công việc, một trường chỉ đầu ra trên đối tượng Task. Điều này tương tự như cách Fleet Engine tạo tài nguyên tên xe. Xem phần Đặt tên tài nguyên trong Giới thiệu về Fleet Engine.

Các yêu cầu đối với mã tác vụ
Thuộc tính Mô tả
Điểm đặc biệt Mỗi mã nhiệm vụ phải là duy nhất trong quá trình triển khai Fleet Engine để tránh nhầm lẫn và đảm bảo nhận dạng chính xác.
Định dạng
  • Không có thông tin nhận dạng cá nhân (PII) hoặc dữ liệu văn bản rõ ràng.
  • Chuỗi Unicode hợp lệ.
  • Có tối đa 64 ký tự.
  • Hãy loại trừ các ký tự sau: / : \ ? #
  • Được chuẩn hóa theo Biểu mẫu chuẩn hoá Unicode C.
Ví dụ về mã tác vụ
Ví dụ về mã công việc phù hợp
  • 566c33d9-2a31-4b6a-9cd4-80ba1a0c643b
  • e4708eabcfa39bf2767c9546c9273f747b4626e8cc44e9630d50f6d129013d38
  • NTA1YTliYWNkYmViMTI0ZmMzMWFmOWY2NzNkM2Jk
Mã công việc không được phép
  • 8/31/2019-20:48-46.70746,-130.10807,-85.17909,61.33680
  • JohnDoe-577b484da26f-Cupertino-SantaCruz
  • 4R0oXLToF"112 Mùa hè Tiến sĩ East Hasford, CT06118"577b484da26f8a

Loại việc cần làm

Fleet Engine hỗ trợ nhiều loại tác vụ để thể hiện nhiều hành động trong một hoạt động vận tải. Chúng đượ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
Nhiệm vụ phân phối Dùng để bỏ hàng hoặc hoàn tất một công 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.
Nhiệm vụ đến lấy hàng Dùng để cho biết khách hàng đến lấy hàng. Bạn phải có nhiệm vụ phân phối 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 rằng xe không hoạt động để bảo dưỡng, chẳng hạn như khi tài xế nghỉ giải lao hoặc đổ xăng cho xe. Không hiển thị cho người tiêu dùng. Không
Tác vụ dừng theo lịch Nhiệm vụ không phân phối yêu cầu phải dừng tại một vị trí cụ thể. Sử dụng thao tác dừng theo lịch cho các lượ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 nhiệm vụ dừng theo lịch cho các bộ sưu tập từ hộp thả xuống hoặc để lập mô hình chuyển xe trung chuyển hoặc dừng tại trung tâm dịch vụ và điểm dịch vụ. 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 trình bày thông tin chi tiết về vòng đời tác vụ phân phối trong Nhóm Công cụ. Vòng đời tác vụ được kết nối với hành trình của xe vì xe phải dừng lại để người lái xe hoàn thành công việc ở vị trí dự kiến.

1. Tạo việc cần làm

Khi tạo một nhiệm vụ lần đầu trong Fleet Engine, bạn sẽ đặt nhiều trường khác nhau cho nhiệm vụ một cách độc lập với việc liên kết chúng với một điểm dừng.

Thuộc tính tác vụ
Thuộc tính Mô tả
Tiểu bang Đặt thành MỞ
ID Đặt công việc và mã theo dõi nếu bạn sử dụng tính năng theo dõi lô hàng đối với 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ụ. Xem Thời gian của 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 thực hiện công việc đã hoàn tất.

2. Giao việc cần làm

Khi giao một nhiệm vụ cho một chiếc xe, bạn làm việc đó cùng với một chiếc xe dừng. Điểm dừng là toạ độ theo vĩ độ/kinh độ cho biết vị trí mà 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. Các điểm dừng thường là một điểm ra vào, chẳng hạn như một bến bãi bốc hàng hoặc một con đường vị trí.

3. Đang thực hiện

Trạng thái của tác vụ sẽ là MỞ hoặc ĐÃ ĐÓNG CỬA. Tuy nhiên, sau khi giao nhiệm vụ cho một chiếc xe, bạn có thể theo dõi tiến trình của thiết bị đó thông qua mối liên kết với chiếc xe đó và vị trí của chiếc xe đó với điểm dừng thực hiện nhiệm vụ đã hoàn tất.

Khi xe khởi hành từ điểm dừng hoặc bắt đầu đi theo chỉ dẫn, trạng thái của điểm dừng sẽ đổ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 thông tin ước tính và số điểm dừng còn lại cho người nhận của một nhiệm vụ thời gian đến. Công cụ này cũng hỗ trợ mọi hình ảnh trực quan hoá theo thời gian thực cho người tiêu dùng theo dõi quá trình vận chuyển hoặc theo dõi đội xe.

4. Đến và kết quả nhiệm vụ

Khi xe đến điểm dừng, trạng thái của điểm dừng phải được đặt thành ARRIVED. Cũng giống như trạng thái dừng ENROUTE, điều này không ảnh hưởng đến trạng thái của chính tác vụ đó, nhưng vẫn hỗ trợ cả thông báo cho người tiêu dùng và mọi thời gian báo cáo về hoạt động theo dõi hệ thống thiết bị mà nhà điều hành đội xe của bạn sử dụng. Thao tác này cũng sẽ kích hoạt sau này số liệu phân tích và báo cáo về hoạt động bạn muốn sử dụng để phân phối tối ưu hoá.

Sau khi xe dừng lại, hệ thống có thể xử lý phần còn lại của nhiệm vụ 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 nhiệm vụ là hoàn thành, hệ thống của bạn có thể xoá nhiệm vụ đó khỏi dừng lại, nhưng rời khỏi điểm dừng với các nhiệm vụ khác được giao cho nó.

  • Xoá toàn bộ trạ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 thành và xe đang trên đường đến điểm dừng tiếp theo, bạn có thể loại bỏ toàn bộ điểm dừng đó khỏi xe. Động cơ đội tàu tự động đóng tất cả nhiệm vụ đượ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 thành công hay thất bại

Việc đóng một công việc chỉ cho biết rằng công việc đó không còn được xem là đang thực hiện nữa. Đối với các tác vụ ở trạng thái CLOSED, bạn thiết lập kết quả của chúng thành SUCCEEDED hoặc FAILED. Điều này vừa cần thiết vừa thể hiện kết quả thực tế cho việc vận chuyển theo dõi và thanh toán phù hợp. Fleet Engine chỉ tính phí các nhiệm vụ giao hàng bằng trạng thái của 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ào nhiệm vụ đó vị trí của kết quả cùng với vị trí chiếc xe đã biết gần đây nhất. Tuy nhiên, bạn có thể sửa đổi thời gian kết quả nhiệm vụ và vị trí kết quả nhiệm vụ sau khi chúng được đặt và Fleet Engine 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 nhiệm vụ nào bạn lập mô hình trong Fleet Engine đều phù hợp với quy 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 để trả lại gói hàng vào kho để xử lý sau, bạn nên tạo một tệp giao hàng cho gói hàng đó, với vị trí dự kiến được thiết lập là kho hàng. Nếu không, nhiệm vụ đến lấy hàng thường sẽ tuân theo cùng một quy trình như đối với nhiệm vụ phân phối.
  • Giao lại việc cần làm. Bạn không thể trực tiếp giao lại việc cần làm cho một chiếc xe. Thay vào đó, để di chuyển một việc cần làm từ xe này sang xe khác, hãy đóng nhiệm vụ ban đầu, sau đó tạo lại trước khi giao chiếc xe mới. Nếu bạn cập nhật thứ tự tác vụ cho một tác vụ đã được giao cho xe khác, thì Fleet Engine sẽ gặp lỗi.
  • Xoá việc cần làm. Tương tự như với phương tiện di chuyể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ã công việc cho một công việc đã đã đóng trước đó, 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 bạn muốn lưu giữ dữ liệu công việc lâu hơn hơn 7 ngày, bạn phải tự triển khai khả năng đó, chẳng hạn như thông qua một công việc đã lên lịch để đặt lại đồng hồ 7 ngày.

Chia sẻ hành trình công việc

Nhờ tính năng chia sẻ hành trình của nhiệm vụ trong Fleet Engine, bạn có thể theo dõi tiến trình của nhiệm vụ trong 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:

  • Chia sẻ hành trình của người tiêu dùng để người tiêu dùng biết trạng thái của khách hàng đơn vận chuyển hoặc yêu cầu dịch vụ.
  • Theo dõi đội phương tiện để các đơn vị vận hành đội xe của bạn theo dõi và phân tích trạng thái phương tiện trong đội phương tiện vận chuyển.

Chia sẻ hành trình của người tiêu dùng

Để tích hợp tính năng chia sẻ hành trình của người tiêu dùng vào hoạt động của bạn, hãy thiết lập hành trình bằng cách sử dụng JavaScript Consumer SDK. 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 thông tin về thời gian giao hàng 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 bài viết Tổng quan về tính năng chia sẻ hành trình của người tiêu dùng trong việc cần làm đã lên lịch.

SDK chia sẻ hành trình của 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. Bản đồ là một lượt ghé thăm thay thế cho đối tượng google.maps.Map chuẩn. Khách hàng phải xác thực phía bạn người dùng và sử dụng vai trò người tiêu dùng Phân phối từ dự án Google Cloud của bạn để chỉ trả lại thông tin của khách hàng cụ thể. Lọc và loại bỏ tất cả các bộ lọc của Fleet Engine thông tin khác trong câu trả lời. Ví dụ: trong khi thực hiện một nhiệm vụ không có sẵn, thông tin vị trí sẽ không được chia sẻ với người dùng cuối.

Trong Fleet Engine, hãy bật các chế độ cài đặt sau đây cho hành trình của người tiêu dùng đang chia sẻ:

  • 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 là có liên quan nhiệm vụ cho người tiêu dùng.

Theo dõi đội phương tiện vận chuyển

Thư viện theo dõi nhóm JavaScript cho phép bạn trực quan hoá vị trí của trong đội ngũ của họ gần như theo thời gian thực. Thư viện sử dụng Fleet Engine API để cung cấp hình ảnh về xe giao hàng cũng như nhiệm vụ được giao của họ. Giống như SDK dành cho người dùng JavaScript, SDK này chứa JavaScript thành phần bản đồ thay thế cho một google.maps.Map tiêu chuẩn 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 khả năng hiển thị của các phương tiện giao hàng ngay khi chúng xuất hiện được tạo trong Fleet Engine. Để triển khai, bạn sử dụng Fleet Engine Vai trò Cloud IAM của dịch vụ người dùng cao cấp và bạn cung cấp thông báo xác nhận quyền sở hữu bằng Mã thông báo web Java cho quyền truy cập vào xe giao hàng và các nhiệm vụ liên quan của chúng.

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 ở điểm này trong hướng dẫn. Khoá học này nhằm giúp bạn nắm được có nhiều cách để lập mô hình hoạt động vận tải trong Fleet Engine, tuỳ thuộc vào doanh nghiệp của bạn.

Giao hàng có 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 được chỉ định cho kho vào cả thời điểm xuất phát từ kho vào đầu ngày hành trình và đến kho hàng vào cuối hành trình. Điều này cũng hiển thị hai tác vụ phân phối cho một điểm dừng, một trong số đó không thành công. Dùng bản thảo này để bật tính năng theo dõi từ và đến kho và như một cách để lập mô hình thời gian bắt đầu và thời gian kết thúc trong ngày. Không có quyền thanh toán xảy ra với các nhiệm vụ ngừng hoạt độ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 biết cách lập mô hình một lượt bán hàng bằng cần có nhiệm vụ phân phối tương ứng. Bạn đặt trường hợp trả lại hàng về kho dưới dạng một phân phối cho mục đích thanh toán.

Xe nạp liệu

Tình huống này cho thấy hai gói phân phối có thời gian dừng được lên lịch ở giữa trong xe trung chuyển hàng, dùng để giúp xe giao hàng quay lại kho hàng để gửi một số gói hàng. Bạn cũng có thể lập mô hình xe trung chuyển với thời gian dừng theo lịch.

Thời gian tác vụ

Việc lập mô hình thời gian công việc giúp lên kế hoạch tuyến đường, giờ đến dự kiến và quản lý hiệu quả kỳ vọng được phân phối. 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ư được mô tả trong phần này.

Thời lượng của việc cần làm

Thời lượng cho việc cần làm đượ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 nhiệm vụ tại một điểm dừng hoặc để nghỉ ngơi. Đối với điểm dừng, thông tin này 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 chính xác 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 cho giao tiếp với khách hàng hoặc cho mục đích lập kế hoạch nội bộ. Bạn thiết lập chế độ 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. Giá trị này không ảnh hưởng trực tiếp đến bất kỳ phép tính toán tuyến đường nào, nhưng có thể dùng để một tình huống chẳng hạn như thông báo cho người tiêu dùng về khoảng thời gian mua một gói hàng hoặc khi nào dự kiến sẽ đến nơi nhân viên dịch vụ theo lịch trình.

Thuộc tính việc cần làm

Các thuộc tính nhiệm vụ trong Fleet Engine giúp thuận tiện để lọc công việc dựa trên về 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 để phân tích bằng tính năng Ghi nhật ký trên đám mây, cùng với trao đổi thông tin trong hoạt động chia sẻ hành trình của người tiêu dùng hoặc theo dõi nhóm thiết bị. Chiến lược phát hành đĩa đơn mục đích tương tự như đối với các thuộc tính xe: hãy sử dụng thuộc tính này để chế tạo tập trung vào hoạt động phân phối.

Giới hạn và quy định 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 công việc. Liên hệ với đại diện bán hàng của bạn để hãy yêu cầu tăng các hạn mức đó.
  • Khả năng lọc: Mặc dù vẫn mang đến khả năng lọc linh hoạt, nhưng tác vụ không thay thế các trường dữ liệu công việc chính. Sử dụng cho 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 trong giá trị thuộc tính vì người dùng có thể nhìn thấy thông tin này.
  • Xác thực dữ liệu: Đảm bảo các loại dữ liệu và định dạng của dữ liệu tuỳ chỉnh đều tương thích với các yêu cầu của Fleet Engine.

Các bước tiếp theo