Dokumen ini menjelaskan layanan tugas terjadwal di Fleet Engine. Anda dianggap telah membaca Apa itu Fleet Engine? dan mengetahui kemampuan layanan Fleet Engine tertentu yang Anda perlukan.
Saat Anda membaca dokumentasi ini, perhatikan hal berikut:
- Anda membuat tugas dan mengaitkannya dengan perhentian kendaraan sebagai cara untuk membuat model hubungan dunia nyata antara tugas dan lokasi tempat kendaraan diharapkan berhenti sehingga pengemudi dapat menyelesaikan tugas tersebut. Baca Pengantar kendaraan untuk lebih memahami cara kerja kendaraan di Fleet Engine.
- Fleet Engine untuk tugas terjadwal menggunakan resource berikut:
Task
danDeliveryVehicle
. Fleet Engine menyediakan layanan gRPC dan antarmuka REST:
Apa yang dimaksud dengan tugas terjadwal?
Tugas terjadwal di Fleet Engine merepresentasikan tindakan individual yang akan diselesaikan oleh pengemudi yang menggunakan kendaraan dalam konteks operasi transportasi yang lebih luas. Ini menentukan tujuan spesifik untuk driver. Contoh:
- untuk mengirim barang ke suatu tempat tinggal
- untuk mengambil paket yang akan dikembalikan ke depot pengiriman
- berhenti di suatu lokasi untuk menyediakan layanan di tempat bagi pelanggan
- untuk membuat perhentian terjadwal untuk mengisi bahan bakar kendaraan
Elemen tugas
Gambar berikut mengilustrasikan elemen tugas ini dalam perjalanan terjadwal standar untuk kendaraan.
Kolom tugas dasar
Kolom | Deskripsi |
---|---|
Jenis | Menentukan jenis tindakan yang terkait dengan tugas. |
ID Tugas | String yang secara unik mengidentifikasi tugas dalam sistem. |
Lokasi yang direncanakan | Menentukan lokasi yang diinginkan tempat tugas harus dilakukan. Lokasi ini tidak selalu sama dengan lokasi yang direncanakan untuk perhentian kendaraan. |
Negara Bagian | Menunjukkan apakah tugas terbuka atau tertutup. |
Hasil Tugas | Menunjukkan apakah tugas berhasil atau gagal. |
Model data untuk tugas
Diagram berikut mengilustrasikan model data resource Task
bersama diagram untuk resource DeliveryVehicle
terkait. Anda dapat
meninjau kedua diagram untuk mempelajari hubungan antara kedua resource tersebut,
dengan memperhatikan hal-hal berikut:
- Lokasi yang direncanakan: Kendaraan berhenti dan tugas memiliki lokasi yang direncanakan,
berbeda satu sama lain.
- Untuk tugas, lokasi yang direncanakan menunjukkan tempat tindakan pengemudi harus terjadi. Misalnya, 15 pengiriman paket ke kompleks perumahan yang besar memerlukan pengiriman ke lokasi ruang surat yang berbeda dalam kompleks yang sama.
- Untuk perhentian kendaraan, lokasi yang direncanakan menunjukkan perhentian kendaraan saat pengemudi menyelesaikan tugas. Misalnya, kendaraan berhenti di pintu masuk kompleks apartemen, dan pengemudi mengirimkan paket secara manual ke ruang email terpisah dalam kompleks.
- Status: Tugas dan perhentian kendaraan memiliki kolom status, yang berbeda satu sama lain.
- Status untuk perhentian kendaraan mencerminkan progres kendaraan sehubungan dengan perhentian, yang digunakan untuk tujuan pelacakan armada.
- Status untuk tugas menunjukkan apakah tugas aktif atau tidak. Hal ini memengaruhi operasi lain yang harus dilakukan pada tugas, seperti menetapkan hasilnya atau menetapkannya ke kendaraan.
Hasil tugas: Hasil tugas adalah kolom yang penting dalam model data, karena digunakan untuk menunjukkan keberhasilan atau kegagalan tugas, terlepas dari status tugas.
ID:
- Saat Anda menetapkan tugas ke kendaraan, mesin Fleet akan mengisi
kolom
deliveryVehicleId
. Kolom hanya baca ini menunjukkan kendaraan tempat tugas diberikan. - ID tugas adalah ID unik di semua tugas dalam sistem Anda.
- ID pelacakan mengidentifikasi tugas untuk tujuan pelacakan pengiriman.
- Saat Anda menetapkan tugas ke kendaraan, mesin Fleet akan mengisi
kolom
Model data Tasks
Model data kendaraan
ID Tugas
Serupa dengan ID kendaraan di Fleet Engine, setiap tugas harus berisi ID untuk
membedakan tugas tersebut dari tugas lain dalam sistem. Anda mereferensikan dan mengelola semua tugas dalam alur kerja berdasarkan ID-nya. Anda membuat ID ini dengan menggunakan
layanan CreateTaskRequest
dan dengan memberikan string ID yang sesuai dengan
persyaratan yang dijelaskan di bagian ini.
String ini kemudian terdiri dari bagian nama resource tugas itu sendiri, yaitu
kolom khusus output pada objek Task
. Hal ini setara dengan cara Fleet Engine membuat resource nama kendaraan. Lihat bagian Penamaan resource di
Pengantar Fleet Engine.
Properti | Deskripsi |
---|---|
Keunikan | Setiap ID tugas harus unik dalam implementasi Fleet Engine Anda untuk menghindari kebingungan dan memastikan identifikasi yang tepat. |
Format |
|
Contoh ID tugas yang baik |
|
---|---|
ID tugas yang tidak diizinkan |
|
Jenis tugas
Fleet Engine mendukung berbagai jenis tugas untuk mewakili berbagai tindakan dalam operasi transportasi. Hal tersebut dijelaskan di sini bersama dengan detail visibilitas dan penagihannya.
Jenis Tugas | Deskripsi | Visibilitas Pelacakan Pengiriman | Ditagih |
---|---|---|---|
Tugas Pengiriman | Gunakan untuk mengantarkan item atau menyelesaikan tugas untuk pelanggan. | Konsumen dapat melihat dan melacaknya. | Ya |
Tugas Pengambilan | Gunakan untuk menunjukkan pengambilan barang dari pelanggan. Anda harus memiliki tugas pengiriman yang sesuai untuk setiap tugas pengambilan. | Konsumen dapat melihat dan melacaknya. | Tidak |
Tugas Ketidaktersediaan | Mengidentifikasi kendaraan sebagai tidak tersedia untuk diservis, seperti saat pengemudi beristirahat atau mengisi bahan bakar kendaraan. | Tidak terlihat oleh konsumen. | Tidak |
Tugas Perhentian Terjadwal | Tugas non-pengiriman yang memerlukan perhentian di lokasi tertentu. Gunakan tugas perhentian terjadwal untuk perhentian pengambilan terjadwal harian di lokasi tertentu, terlepas dari pengiriman atau pengambilan lainnya di lokasi yang sama. Anda juga dapat membuat tugas perhentian terjadwal untuk pengumpulan dari kotak dropbox atau untuk membuat model transfer atau perhentian kendaraan feeder di pusat layanan dan titik layanan. | Konsumen tidak dapat melacak tugas spesifik ini, tetapi dapat melihatnya sebagai bagian dari pelacakan tugas lain. | Tidak |
Siklus proses tugas dan perjalanan
Bagian ini memberikan detail tentang siklus proses tugas pengiriman dalam Fleet Engine. Siklus proses tugas terhubung dengan perjalanan kendaraan karena kendaraan harus melakukan perjalanan ke perhentian agar pengemudi dapat menyelesaikan tugas di lokasi yang direncanakan.
1. Pembuatan tugas
Saat pertama kali membuat tugas di Fleet Engine, Anda menetapkan berbagai kolom untuk tugas tersebut tanpa mengaitkannya dengan perhentian.
Properti | Deskripsi |
---|---|
Negara Bagian | Setel ke BUKA |
ID | Tetapkan ID tugas dan pelacakan jika Anda menggunakan pelacakan pengiriman untuk konsumen. |
Waktu | Durasi yang direncanakan untuk tugas dan periode waktu targetnya. Lihat Waktu tugas untuk detailnya. |
Lokasi yang direncanakan | Tetapkan koordinat geografis yang tepat tempat tugas akan diselesaikan. |
2. Penetapan tugas
Saat menetapkan tugas ke kendaraan, Anda melakukannya bersama dengan perhentian kendaraan. Perhentian adalah koordinat lintang/bujur yang menunjukkan lokasi tempat kendaraan diparkir saat pengemudi menyelesaikan tugas yang terkait dengan perhentian. Perhentian biasanya merupakan titik akses seperti dok pemuatan, atau lokasi yang diambil dari jalan.
3. Dalam proses
Status tugas adalah TERBUKA atau TUTUP. Namun, setelah tugas ditetapkan ke kendaraan, Anda dapat melacak progresnya melalui pengaitan ke kendaraan dan lokasi kendaraan terkait perhentian tempat tugas akan selesai.
Setelah kendaraan berangkat dari perhentian atau memulai navigasi, status perhentian akan berubah menjadi ENROUTE
. Dengan cara ini, pelacakan pengiriman konsumen dapat
memperbarui penerima untuk tugas dengan jumlah perhentian yang tersisa dan estimasi
waktu kedatangan. Hal ini juga mendukung visualisasi real-time untuk pelacakan pengiriman konsumen atau pelacakan fleet.
4. Hasil kedatangan dan tugas
Saat kendaraan tiba di perhentian, status perhentian harus ditetapkan ke
ARRIVED
. Seperti status berhenti ENROUTE
, hal ini tidak memengaruhi status
tugas itu sendiri, tetapi mendukung notifikasi konsumen dan pelaporan real-time
untuk pelacakan armada yang digunakan oleh operator armada Anda. Hal ini juga memungkinkan analisis dan pelaporan
kemudian tentang operasi yang akan Anda gunakan untuk pengoptimalan
pengiriman.
Setelah kendaraan tiba di perhentian, sistem Anda dapat menangani perjalanan tugas selanjutnya menggunakan salah satu pendekatan berikut:
Menutup tugas begitu selesai.
Saat pengemudi menandai tugas selesai, sistem Anda dapat menghapusnya dari perhentian, tetapi tetapkan perhentian dengan tugas lain yang ditetapkan.
Hapus seluruh perhentian dari kendaraan.
Setelah pengemudi menandai semua tugas selesai dan kendaraan sedang dalam perjalanan ke perhentian berikutnya, Anda dapat menghapus seluruh perhentian dari kendaraan. Fleet Engine akan otomatis menutup semua tugas yang terkait dengan perhentian yang dihapus.
Menutup tugas tidak mengindikasikan keberhasilan atau kegagalan
Menutup tugas hanya menunjukkan bahwa tugas tidak lagi dianggap sedang berlangsung.
Untuk tugas dengan status CLOSED
, Anda menetapkan hasilnya ke SUCCEEDED
atau
FAILED
. Hal ini diperlukan untuk menunjukkan hasil sebenarnya untuk pelacakan
pengiriman dan untuk penagihan yang tepat. Fleet Engine hanya menagih tugas pengiriman dengan status Berhasil.
Setelah Anda menetapkan hasil tugas, Anda tidak dapat mengubahnya
Saat menandai hasil tugas, Fleet Engine akan otomatis mengisi lokasi hasil tugas dengan lokasi kendaraan terakhir yang diketahui. Namun, Anda dapat mengubah waktu hasil tugas dan lokasi hasil tugas setelah ditetapkan dan Fleet Engine tidak akan mengganti kolom ini.
5. Skenario tugas lainnya
Tidak semua tugas yang Anda buat modelnya di Fleet Engine sesuai dengan alur perjalanan standar. Contoh:
- Tugas pengambilan. Jika Anda memiliki tugas pengambilan untuk paket yang akan dikembalikan ke depot untuk diproses nanti, Anda harus membuat tugas pengiriman yang sesuai untuk paket tersebut, dengan lokasi yang direncanakan ditetapkan ke depot. Jika tidak, tugas pengambilan umumnya mengikuti alur yang sama seperti untuk tugas pengiriman.
- Penetapan ulang tugas. Anda tidak bisa langsung menetapkan ulang tugas ke kendaraan yang berbeda. Sebagai gantinya, untuk memindahkan tugas dari satu kendaraan ke kendaraan lainnya, tutup tugas asli, lalu buat ulang tugas tersebut sebelum menetapkannya ke kendaraan baru. Jika Anda memperbarui urutan tugas untuk tugas yang sudah ditetapkan ke kendaraan lain, Fleet Engine akan menampilkan error.
- Menghapus tugas. Seperti kendaraan, Fleet Engine menghapus tugas yang belum diperbarui setelah tujuh hari. Jika Anda mencoba menggunakan kembali ID tugas untuk tugas yang sebelumnya telah ditutup, Fleet Engine akan menampilkan error jika ID tersebut telah digunakan dalam tujuh hari terakhir. Sebaliknya, jika ingin menyimpan data tugas lebih dari tujuh hari, Anda harus menerapkan kemampuan tersebut sendiri, seperti melalui tugas terjadwal untuk mereset jam 7 hari.
Bagikan progres tugas
Di Fleet Engine, Anda dapat memantau progres tugas secara real-time dan membagikan perjalanan pengemudi dengan dua cara utama:
- Pengalaman konsumen bagi konsumen untuk mengetahui status pesanan pengiriman atau pesanan layanan yang diminta.
- Pelacakan armada bagi operator fleet untuk melacak dan menganalisis status kendaraan di armada.
Pengalaman konsumen
Untuk membagikan progres tugas, Anda menyiapkan pengalaman konsumen menggunakan JavaScript Consumer SDK. Dengan SDK ini, Anda dapat meningkatkan pengalaman web visual atau aplikasi seluler sehingga konsumen dapat memantau status pengiriman mereka beserta perkiraan waktu tiba dan pembaruan lokasi real-time untuk kendaraan pengiriman. Lihat Ringkasan tugas terjadwal Consumer SDK.
Consumer SDK berisi peta JavaScript dan komponen data untuk terhubung dengan Fleet Engine. Peta ini adalah pengganti langsung untuk
objek google.maps.Map
standar. Klien Anda harus mengautentikasi pengguna akhir dan menggunakan peran konsumen Pengiriman dari project Google Cloud Anda untuk hanya menampilkan informasi khusus pelanggan. Fleet Engine memfilter dan menyamarkan semua
informasi lainnya dalam respons. Misalnya, selama tugas ketidaktersediaan,
tidak ada informasi lokasi yang dibagikan kepada pengguna akhir.
Di Fleet Engine, Anda mengaktifkan setelan berikut untuk membagikan progres tugas kepada konsumen:
- Tugas menggunakan properti
TaskTrackingViewConfig
. Opsional. - Tugas menggunakan ID pelacakan, yang diperlukan library untuk mengidentifikasi tugas yang relevan bagi konsumen.
Pelacakan Armada
Library Pelacakan Armada JavaScript memungkinkan Anda memvisualisasikan lokasi
kendaraan dalam armadanya secara mendekati real time. Library ini menggunakan
Fleet Engine API untuk menyediakan visualisasi kendaraan pengiriman serta
tugas yang diberikan kepada mereka. Seperti halnya JavaScript konsumen SDK, SDK ini berisi komponen peta
JavaScript yang merupakan pengganti langsung untuk entitas google.maps.Map
standar dengan komponen data yang Anda gunakan untuk terhubung dengan Fleet Engine.
Library ini menampilkan visibilitas kendaraan pengiriman segera setelah dibuat di Fleet Engine. Untuk implementasi ini, Anda menggunakan peran Cloud IAM Pengguna Super Layanan Fleet Engine dan memberikan klaim Java Web Token untuk akses ke kendaraan pengiriman dan tugas terkait.
Skenario tugas terjadwal
Bagian ini menunjukkan berbagai skenario tugas yang merangkum informasi yang diberikan pada tahap ini dalam panduan. Panduan ini dimaksudkan untuk membantu Anda memahami berbagai cara untuk membuat model operasi transportasi di Fleet Engine, bergantung pada bisnis Anda.
Pengiriman dengan pelacakan
Skenario pengiriman ini menunjukkan tugas perhentian terjadwal yang ditetapkan ke depot baik saat keberangkatan dari depot di awal perjalanan maupun kedatangan ke depot di akhir perjalanan. Laporan ini juga menampilkan dua tugas pengiriman untuk perhentian, salah satunya gagal. Gunakan tugas ini untuk mengaktifkan pelacakan dari dan ke depot serta sebagai cara untuk membuat model waktu mulai dan berhenti untuk hari itu. Tidak ada penagihan yang diterapkan dengan tugas perhentian terjadwal.
Pengambilan dengan pengiriman ke toko
Skenario ini menunjukkan cara membuat model pengambilan dengan tugas pengiriman yang sesuai. Anda menetapkan pengembalian ke depot sebagai pengiriman untuk tujuan penagihan.
Kendaraan feeder
Skenario ini menunjukkan dua pengiriman dengan perhentian terjadwal di tengah untuk kendaraan feeder, yang tujuannya adalah memungkinkan kendaraan pengiriman kembali ke depot dengan sejumlah paket yang akan dikirim. Anda juga dapat membuat model kendaraan feeder dengan perhentian terjadwal.
Waktu Tugas
Pemodelan waktu tugas akan membantu perencanaan rute, PWT, dan pengelolaan ekspektasi pengiriman yang efektif. Fleet Engine menawarkan dua fungsi utama untuk membuat model dan mengantisipasi waktu tugas, seperti yang dijelaskan di bagian ini.
Durasi tugas
Durasi tugas ditetapkan dengan kolom task_duration
, kolom wajib yang
membuat model waktu yang diperkirakan yang dihabiskan pengemudi untuk menyelesaikan tugas di perhentian
atau untuk beristirahat. Untuk perhentian, ini mencakup semua aktivitas yang diperlukan
setelah tiba di perhentian, seperti menurunkan paket dan berinteraksi dengan
penerima. Makin spesifik informasi ini, makin baik kemampuan Fleet Engine untuk
memberikan waktu tiba dan perkiraan waktu tiba yang realistis untuk perhentian berikutnya dalam perjalanan.
Untuk detail kolom, lihat Durasi di Dokumentasi Buffering Protokol.
Periode waktu target
Waktu target menentukan rentang waktu yang diusulkan untuk suatu tugas, biasanya digunakan untuk
berkomunikasi dengan pelanggan atau untuk tujuan perencanaan internal. Tetapkan string ini dengan kolom target_time_window
, yang terdiri dari waktu mulai dan waktu berakhir.
Hal ini tidak secara langsung memengaruhi penghitungan rute, tetapi dapat digunakan untuk situasi seperti memberi tahu konsumen tentang jangka waktu pengiriman paket, atau kapan pekerja layanan terjadwal akan tiba.
Atribut Tugas
Atribut tugas di Fleet Engine menyediakan cara yang mudah untuk memfilter tugas berdasarkan
karakteristik tertentu saat menggunakan permintaan ListTasks
. Anda juga dapat menggunakan atribut tugas kustom untuk analisis dengan Cloud Logging, beserta menyampaikan informasi kepada konsumen atau untuk pelacakan fleet. Tujuannya
mirip dengan atribut kendaraan: gunakan atribut ini untuk membuat perspektif yang lebih
terfokus pada operasi pengiriman Anda.
Batasan dan Pembatasan
- Pembuatan atribut khusus: Fleet Engine membatasi jumlah atribut khusus yang dapat Anda tentukan per tugas. Hubungi Sales Rep Anda untuk meminta peningkatan batas tersebut.
- Kemampuan pemfilteran: Meskipun menawarkan fleksibilitas pemfilteran, atribut tugas tidak menggantikan kolom data tugas inti. Gunakan filter tersebut untuk pemfilteran tambahan berdasarkan kebutuhan spesifik Anda.
- Setiap atribut harus memiliki kunci unik.
- Jangan sertakan informasi identitas pribadi atau informasi sensitif lainnya dalam nilai atribut, karena informasi tersebut mungkin terlihat oleh pengguna.
- Validasi data: Pastikan jenis dan format data atribut kustom Anda kompatibel dengan persyaratan Fleet Engine.