Dokumen ini menjelaskan layanan tugas terjadwal di Fleet Engine. Dengan asumsi Anda telah membaca What is Fleet Engine? dan mengetahui jenis Fleet tertentu Kemampuan servis mesin yang Anda butuhkan.
Saat Anda membaca dokumentasi ini, perhatikan hal berikut:
- Anda membuat tugas dan mengaitkannya dengan perhentian kendaraan sebagai cara untuk membuat model asosiasi dunia nyata antara tugas dan lokasi di mana kendaraan diharapkan berhenti sehingga pengemudi dapat menyelesaikan tugas. Baca Pengantar kendaraan agar lebih baik memahami cara kerja kendaraan di Fleet Engine.
- Fleet Engine untuk tugas terjadwal menggunakan resource berikut:
Task
danDeliveryVehicle
. Fleet Engine menyediakan layanan gRPC dan REST antarmuka:
Apa yang dimaksud dengan tugas terjadwal?
Tugas terjadwal di Fleet Engine mewakili tindakan individual yang akan diselesaikan oleh pengemudi yang menggunakan kendaraan dalam konteks yang lebih luas dari operasional transportasi. Parameter ini menentukan tujuan spesifik untuk driver. Contoh:
- untuk mengirim barang ke suatu tempat tinggal
- untuk mengambil paket untuk 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 model untuk sebuah kendaraan.
Kolom tugas dasar
Kolom | Deskripsi |
---|---|
Jenis | Mendefinisikan jenis tindakan yang terkait dengan tugas. |
ID Tugas | String yang mengidentifikasi tugas dalam sistem secara unik. |
Lokasi yang direncanakan | Menentukan lokasi yang diinginkan untuk menjalankan tugas. Lokasi ini tidak selalu sama dengan lokasi yang direncanakan untuk penghentian 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 dari resource Task
di samping diagram untuk resource DeliveryVehicle
yang terkait. Anda dapat
tinjau kedua diagram untuk mengeksplorasi hubungan antara dua sumber daya,
perhatikan 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 yang seharusnya terjadi. Misalnya, 15 pengiriman paket ke perumahan besar kompleks membutuhkan pengiriman ke lokasi ruang surat yang berbeda dalam kompleks yang sama.
- Untuk perhentian kendaraan, lokasi yang direncanakan menunjukkan perhentian untuk kendaraan sementara pengemudi menyelesaikan tugas. Sebagai contoh, kendaraan berhenti di pintu masuk kompleks apartemen, dan pengemudi mengirim paket secara manual ke ruang email dalam kompleks.
- Status: Tugas dan perhentian kendaraan memiliki kolom state, yang berbeda dari
sama lain.
- Status untuk perhentian kendaraan mencerminkan progres kendaraan dalam berhubungan dengan perhentian, digunakan untuk tujuan pelacakan armada.
- Status untuk tugas menunjukkan apakah tugas aktif atau tidak. Ini memengaruhi operasi lain yang harus dilakukan pada tugas, seperti mengatur hasil proyek atau menetapkannya untuk sebuah kendaraan.
Hasil tugas: Hasil tugas merupakan bidang yang penting dalam model data, karena digunakan untuk menunjukkan keberhasilan atau kegagalan suatu tugas, independen status tugas.
ID:
- Saat Anda menetapkan tugas ke kendaraan, mesin Fleet akan mengisi
Kolom
deliveryVehicleId
. Isian {i>read-only<i} ini menunjukkan kendaraan yang tugas yang diberikan. - ID tugas adalah pengenal unik untuk semua tugas di 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
Mirip dengan ID kendaraan di Fleet Engine, setiap tugas harus berisi ID untuk
membedakannya dari tugas-tugas
lain dalam sistem. Anda mereferensikan dan mengelola
semua tugas dalam alur kerja
Anda berdasarkan ID mereka. Anda membuat ID ini dengan menggunakan
CreateTaskRequest
dan dengan memberikan string ID yang sesuai dengan
persyaratan yang dijelaskan dalam bagian ini.
String ini kemudian terdiri dari bagian dari nama resource tugas itu sendiri,
kolom output-only pada objek Task
. Hal ini dapat disamakan dengan
bagaimana 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 operasional transportasi. Hal tersebut dijelaskan di sini bersama dengan visibilitasnya dan detail penagihan.
Jenis Tugas | Deskripsi | Visibilitas Pelacakan Pengiriman | Ditagih |
---|---|---|---|
Tugas Pengiriman | Gunakan untuk menyerahkan item atau menyelesaikan tugas untuk pelanggan. | Konsumen dapat melihat dan melacak ini. | 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 melacak ini. | 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 gagal tayang yang memerlukan perhentian di lokasi tertentu. Gunakan tugas perhentian terjadwal untuk perhentian pengambilan terjadwal harian di lokasi tertentu, terlepas dari pengiriman atau penjemputan lain di lokasi yang sama. Anda juga dapat membuat tugas perhentian terjadwal untuk pengumpulan dari drop box, atau untuk membuat model transfer kendaraan pengumpan atau pemberhentian di pusat servis dan titik servis. | 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 serta deployment langsung ke App Engine. Siklus hidup tugas terkait dengan perjalanan kendaraan karena kendaraan harus pergi 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 secara terpisah dari mengaitkannya dengan perhentian.
Properti | Deskripsi |
---|---|
Negara Bagian | Tetapkan ke OPEN |
ID | Tetapkan tugas dan ID pelacakan jika Anda menggunakan pelacakan pengiriman untuk konsumen Anda. |
Waktu | Durasi yang direncanakan untuk tugas dan periode waktu targetnya. Lihat Waktu tugas untuk mengetahui detailnya. |
Lokasi yang direncanakan | Menyetel koordinat geografis yang tepat tempat tugas akan berada selesai. |
2. Penetapan tugas
Saat Anda menetapkan tugas untuk kendaraan, Anda melakukannya bersama dengan kendaraan berhenti. 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 titik akses jalan lokasi HTTP/HTTPS.
3. Dalam proses
Status tugas adalah TERBUKA atau TUTUP. Namun, setelah tugas diberikan ke kendaraan, Anda dapat melacak progresnya melalui pengaitannya dengan kendaraan dan di mana kendaraan terkait dengan 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
perbarui penerima untuk tugas dengan jumlah perhentian yang tersisa dan perkiraan
waktu tiba. Hal ini juga mendukung semua visualisasi
real-time untuk konsumen
pelacakan pengiriman atau
untuk pelacakan armada.
4. Kedatangan dan hasil tugas
Saat kendaraan tiba di perhentian, status perhentian harus ditetapkan ke
ARRIVED
. Seperti halnya status perhentian ENROUTE
, hal ini tidak memengaruhi status
tugas itu sendiri, tetapi mendukung pemberitahuan konsumen
dan setiap {i>real-time<i}
pelaporan untuk pelacakan armada yang digunakan oleh operator armada Anda. Hal ini juga memungkinkan Anda
analisis dan pelaporan tentang operasi yang
akan Anda gunakan untuk pengiriman
pengoptimalan.
Setelah kendaraan tiba di perhentian, sistem Anda dapat menangani tugas lainnya perjalanan Anda menggunakan salah satu pendekatan berikut:
Menutup tugas begitu selesai.
Setelah {i>driver<i} menandai tugas sebagai selesai, sistem Anda bisa menghapusnya dari berhenti, tapi menyerahkan pemberhentian dengan tugas lain yang ditugaskan padanya.
Hapus seluruh perhentian dari kendaraan.
Setelah pengemudi menandai semua tugas sebagai selesai dan kendaraan sedang dalam perjalanan ke perhentian berikutnya, Anda bisa memindahkan seluruh perhentian dari kendaraan. Mesin Fleet akan otomatis menutup semua tugas yang terkait dengan penghentian 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
. Ini diperlukan untuk menunjukkan
hasil aktual pengiriman
pelacakan dan penagihan yang tepat. Fleet Engine hanya menagih biaya pengiriman dengan
status SUCCEEDED.
Setelah Anda menetapkan hasil tugas, Anda tidak dapat mengubahnya
Saat menandai hasil tugas, Fleet Engine akan otomatis mengisi tugas dengan lokasi kendaraan terakhir yang diketahui. Namun, Anda dapat memodifikasi waktu hasil tugas dan lokasi hasil tugas setelah mereka ditetapkan dan Fleet Engine tidak akan mengganti kolom ini.
5. Skenario tugas lainnya
Tidak semua tugas yang Anda modelkan di Fleet Engine cocok dengan alur perjalanan biasa. Contoh:
- Tugas pengambilan. Saat Anda memiliki tugas pengambilan untuk paket yang akan ditampilkan ke depot untuk diproses nanti, Anda harus membuat model delivery 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 dapat memberi kembali tugas secara langsung ke saat ini. Sebagai gantinya, untuk memindahkan tugas dari satu kendaraan ke kendaraan lainnya, tutup tugas asli, lalu membuatnya ulang sebelum menugaskannya ke kendaraan baru. Jika Anda memperbarui urutan tugas untuk tugas yang sudah ditugaskan ke pada kendaraan yang berbeda, Fleet Engine menghasilkan kesalahan.
- Menghapus tugas. Seperti kendaraan, Fleet Engine menghapus tugas yang belum diperbarui setelah tujuh hari. Jika Anda mencoba menggunakan kembali ID tugas yang memiliki telah ditutup sebelumnya, Fleet Engine akan menampilkan error jika ID tersebut telah digunakan dalam tujuh hari terakhir. Sebaliknya, jika Anda ingin mempertahankan data tugas lebih lama dari tujuh hari, Anda harus mengimplementasikan kemampuan itu sendiri, seperti melalui tugas terjadwal untuk mengatur ulang waktu 7 hari.
Berbagi perjalanan tugas
Dengan berbagi perjalanan tugas di Fleet Engine, Anda dapat memantau kemajuan tugas {i>real-time<i} dan membagikan perjalanan pengemudi dalam dua cara utama:
- Berbagi perjalanan konsumen agar konsumen dapat mengetahui status pengiriman pesanan atau pesanan layanan yang diminta.
- Pelacakan perangkat untuk operator armada Anda guna melacak dan menganalisis status yang besar.
Berbagi perjalanan konsumen
Untuk mengintegrasikan berbagi perjalanan konsumen ke dalam operasi Anda, siapkan perjalanan menggunakan JavaScript Consumer SDK. Dengan SDK, Anda dapat meningkatkan pengalaman web atau aplikasi seluler visual agar konsumen dapat memantau status pengiriman beserta perkiraan waktu tiba dan pembaruan lokasi real-time untuk kendaraan pengiriman. Lihat Ringkasan berbagi perjalanan konsumen untuk tugas terjadwal.
SDK berbagi perjalanan konsumen 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 pihak Anda
pengguna dan menggunakan peran konsumen Delivery dari project Google Cloud Anda untuk
mengembalikan hanya informasi
spesifik pelanggan. Filter dan menyamarkan semua Fleet Engine
informasi lain dalam responsnya. Misalnya, selama tugas ketidaktersediaan,
tidak ada informasi lokasi yang dibagikan dengan pengguna akhir.
Di Fleet Engine, Anda mengaktifkan setelan berikut untuk perjalanan konsumen berbagi:
- Tugas menggunakan properti
TaskTrackingViewConfig
. Opsional. - Tasks menggunakan ID pelacakan yang diperlukan library untuk mengidentifikasi tugas untuk konsumen.
Pelacakan Armada
Library Pelacakan Armada JavaScript memungkinkan Anda memvisualisasikan lokasi
kendaraan di armada mereka hampir secara real time. Library ini menggunakan
Fleet Engine API untuk memberikan visualisasi kendaraan pengiriman serta
atas tugas-tugas yang
diberikan kepada mereka. Seperti halnya JavaScript konsumen SDK, SDK ini berisi JavaScript
komponen peta yang merupakan pengganti langsung untuk google.maps.Map
standar
dengan komponen data yang Anda gunakan untuk terhubung dengan Fleet Engine.
Library ini menampilkan visibilitas kendaraan pengiriman segera setelah yang dibuat di Fleet Engine. Untuk implementasi ini, Anda menggunakan Fleet Engine Peran Cloud IAM Pengguna Super Layanan dan Anda memberikan klaim Java Web Token untuk akses ke kendaraan pengiriman dan tugas-tugas yang terkait.
Skenario tugas terjadwal
Bagian ini menunjukkan berbagai skenario tugas yang merangkum informasi yang disediakan pada tahap ini dalam panduan. Ini dimaksudkan untuk membantu Anda memahami berbagai cara yang dapat Anda gunakan untuk membuat model operasi transportasi di Fleet Engine, bergantung pada bisnis Anda.
Pengiriman dengan pelacakan
Skenario pengiriman ini menampilkan tugas perhentian terjadwal
ditempatkan di depot baik pada saat keberangkatan dari depot pada awal
perjalanan dan tiba di depot
pada akhir perjalanan. Ini juga
menampilkan dua tugas pengiriman untuk perhentian, salah satunya gagal. Gunakan ini
khusus untuk memungkinkan pelacakan dari dan ke depot dan sebagai cara untuk
waktu mulai dan berhenti untuk hari itu. Tanpa penagihan
dilakukan dengan tugas penghentian terjadwal.
Pengambilan dengan pengiriman ke toko
Skenario ini menunjukkan cara membuat model pengambilan dengan tugas pengiriman yang sesuai. Anda mengatur pengembalian ke depot sebagai pengiriman untuk tujuan penagihan.
![](https://developers.google.cn/static/maps/documentation/mobility/fleet-engine/essentials/images/taskScenarioPickup.png?authuser=9&hl=id)
Kendaraan feeder
Skenario ini menunjukkan dua pengiriman dengan penghentian terjadwal di tengah untuk kendaraan pengangkut, yang tujuannya adalah memungkinkan kendaraan pengiriman untuk kembali ke depot dengan sejumlah paket yang akan dikirim. Anda bisa juga membuat model kendaraan pengumpan dengan perhentian terjadwal.
![](https://developers.google.cn/static/maps/documentation/mobility/fleet-engine/essentials/images/taskScenarioFeeder.png?authuser=9&hl=id)
Waktu Tugas
Pemodelan waktu tugas membantu perencanaan rute, PWT, dan pengelolaan yang efektif ekspektasi pengiriman. Fleet Engine menawarkan dua fungsionalitas utama untuk memodelkan dan mengantisipasi waktu tugas, seperti yang dijelaskan dalam bagian ini.
Durasi tugas
Durasi tugas disetel dengan kolom task_duration
, kolom wajib diisi yang
memodelkan waktu yang diharapkan pengemudi untuk menyelesaikan tugas di suatu perhentian
atau beristirahat. Untuk perhentian, ini mencakup semua aktivitas yang diperlukan
setelah tiba di sebuah perhentian, seperti membongkar paket dan berinteraksi dengan
penerima. Semakin spesifik informasi ini, semakin baik Fleet Engine dalam
memberikan waktu kedatangan dan PWT yang realistis untuk perhentian selanjutnya dalam perjalanan.
Untuk detail kolom, lihat Durasi di Dokumentasi Buffering Protokol.
Periode waktu target
Waktu target menentukan rentang waktu yang diusulkan untuk suatu tugas, yang biasanya digunakan untuk
berkomunikasi dengan pelanggan atau
untuk tujuan perencanaan internal. Anda menetapkan ini dengan
kolom target_time_window
, yang terdiri dari waktu mulai dan waktu berakhir.
Ini tidak secara langsung mempengaruhi kalkulasi rute apa pun, tetapi dapat digunakan untuk
situasi seperti memberi tahu konsumen tentang jangka waktu paket
pengiriman, atau kapan pekerja layanan terjadwal 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 khusus untuk analisis dengan Cloud Logging, beserta
mengomunikasikan informasi dalam hal berbagi
perjalanan konsumen atau pelacakan armada. Tujuan
tujuannya mirip dengan atribut kendaraan: gunakan ini untuk membuat
perspektif yang terfokus dari
operasi pengiriman Anda.
Batasan dan Batasan
- Pembuatan atribut khusus: Fleet Engine membatasi jumlah yang dapat Anda tentukan per tugas. Hubungi Sales Rep Anda untuk meminta peningkatan batas tersebut.
- Kemampuan pemfilteran: Sambil menawarkan fleksibilitas pemfilteran, tidak menggantikan kolom data tugas inti. Gunakan untuk tambahan berdasarkan kebutuhan spesifik Anda.
- Setiap atribut harus memiliki kunci unik.
- Jangan sertakan informasi identitas pribadi atau informasi sensitif lainnya di nilai atribut, karena informasi ini dapat terlihat oleh pengguna.
- Validasi data: Pastikan jenis dan format data kustom Anda kompatibel dengan persyaratan Fleet Engine.