Tugas terjadwal

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 dan DeliveryVehicle. Fleet Engine menyediakan layanan gRPC dan REST antarmuka:
    • Task: gRPC dan REST
    • DeliveryVehicle: gRPC dan REST
    • Untuk mempermudah, panduan ini menggunakan contoh gRPC.

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.

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.

Persyaratan ID Tugas
Properti Deskripsi
Keunikan Setiap ID tugas harus unik dalam implementasi Fleet Engine Anda untuk menghindari kebingungan dan memastikan identifikasi yang tepat.
Format
  • Tidak ada informasi identitas pribadi (PII) atau data teks yang jelas.
  • String Unicode yang valid.
  • Maksimum 64 karakter.
  • Kecualikan karakter berikut: / : \ ? #
  • Dinormalkan menurut Formulir Normalisasi Unicode C.
Contoh ID Tugas
Contoh ID tugas yang baik
  • 566c33d9-2a31-4b6a-9cd4-80ba1a0c643b
  • e4708eabcfa39bf2767c9546c9273f747b4626e8cc44e9630d50f6d129013d38
  • NTA1YTliYWNkYmViMTI0ZmMzMWFmOWY2NzNkM2Jk
ID tugas yang tidak diizinkan
  • 8/31/2019-20:48-46.70746,-130.10807,-85.17909,61.33680
  • JohnDoe-577b484da26f-Cupertino-SantaCruz
  • 4R0oXLToF"112 Summer Dr. East Hartford, CT06118"577b484da26f8a

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 tugas
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.

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.

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.

Langkah berikutnya