इस दस्तावेज़ में बताया गया है कि एक के बाद एक यात्रा कैसे बनाएं. साथ ही, फ़ील्ड में बदलाव कर सकता है और उसे पूरा करने के लिए किसी वाहन को असाइन कर सकता है. इसमें हम मान लेते हैं कि आपने फ़्लीट सेट अप कर लिया है इंजन, आपके पास वाहन हैं, आपका ड्राइवर ऐप्लिकेशन काम कर रहा है, और विकल्प के तौर पर, उपभोक्ता ऐप्लिकेशन. आपको अलग-अलग यात्राओं की जानकारी भी होनी चाहिए मांग पर उपलब्ध यात्राओं के स्टेटस की जानकारी. इनके लिए नीचे दी गई गाइड देखें के हिसाब से:
- फ़्लीट इंजन सेट अप करना
- वाहन बनाना
- यात्रा के अनुरोध की खास जानकारी में, यात्रा के अलग-अलग मामले
यात्रा की जानकारी बनाने के बारे में बुनियादी बातें
इस सेक्शन में, यात्रा बनाने के लिए ज़रूरी अनुरोध की जानकारी दी गई है फ़्लीट इंजन. gRPC और REST, दोनों में से किसी एक का इस्तेमाल करके, कलेक्शन बनाने का अनुरोध किया जाता है.
यात्रा के फ़ील्ड
फ़्लीट इंजन में कोई ट्रिप बनाने के लिए, नीचे दिए गए फ़ील्ड का इस्तेमाल करें. अलग-अलग सोर्स का इस्तेमाल करें अलग-अलग तरह की यात्राओं के लिए फ़ील्ड: एक या कई डेस्टिनेशन, एक के बाद एक या शेयर किए जाने वाले पूलिंग ट्रिप. ट्रिप बनाते समय, वैकल्पिक फ़ील्ड की वैल्यू दी जा सकती है. इसके अलावा, ट्रिप को अपडेट करते समय भी इन फ़ील्ड की वैल्यू दी जा सकती है.
नाम | ज़रूरी है? | ब्यौरा |
---|---|---|
parent | हां | ऐसी स्ट्रिंग जिसमें प्रोजेक्ट आईडी शामिल होता है. यह आईडी, आपके पूरे Fleet Engine इंटिग्रेशन में इस्तेमाल किए गए आईडी से मेल खाना चाहिए. साथ ही, इसमें सेवा खाते की भूमिकाएं भी एक ही होनी चाहिए. |
trip_id | हां | आपकी बनाई गई स्ट्रिंग, जो इस यात्रा की खास तौर पर पहचान करती है. ट्रिप आईडी पर कुछ पाबंदियां हैं, जैसा कि रेफ़रंस में बताया गया है. |
trip_type | हां | जो यात्रा टाइप बनाया जा रहा है उसके लिए इन वैल्यू पर TripType सेट करें:
|
pickup_point | हां | यात्रा की शुरुआत की जगह. |
बीच के लेवल पर डेस्टिनेशन | हां | सिर्फ़ एक से ज़्यादा डेस्टिनेशन की यात्राएं: उन इंटरमीडिएट डेस्टिनेशन की सूची जिन पर ड्राइवर के बीच में विज़िट किया जाता है
लेने और छोड़ने की सुविधा उपलब्ध है. |
vehicle_waypoints | हां | सिर्फ़ शेयर की गई पूलिंग यात्राएं: इस फ़ील्ड की मदद से, एक से ज़्यादा यात्राओं के वेपॉइंट इंटरलीव किए जा सकते हैं.
इसमें असाइन किए गए वाहन के लिए बाकी सभी वेपॉइंट भी होते हैं
के तौर पर चुनना होगा. आप इस फ़ील्ड को सेट कर सकते हैं
|
number_of_passengers | नहीं | यात्रा में शामिल यात्रियों की संख्या. |
dropoff_point | नहीं | यात्रा की मंज़िल. |
vehicle_id | नहीं | यात्रा के लिए असाइन किए गए वाहन का आईडी. |
उदाहरण: एक के बाद एक दो यात्राएं बनाना
यहां, एक के बाद एक यात्राएं बनाने और उन्हें किसी वाहन को असाइन करने का तरीका बताया गया है. इस स्थिति में, यात्रा बनाने की प्रोसेस, एक डेस्टिनेशन के लिए एक जैसी होगी यात्रा. इसके बाद ही, कोई दूसरी यात्रा बनाई जा सकती है और उसे किसी ऐसे वाहन को असाइन किया जा सकता है जिसमें पहले से ही कोई यात्रा चालू हो.
// A vehicle with ID 'my-vehicle' is already created and it is assigned to a trip with ID 'current-trip'.
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String VEHICLE_ID =" my-vehicle";
static final String TRIP_ID = "back-to-back-trip");
TripServiceBlockingStub tripService = TripService.newBlockingStub(channel);
String parent = "providers/" + PROJECT_ID;
Trip trip = Trip.newBuilder()
.setTripType(TripType.EXCLUSIVE)
.setPickupPoint(
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.195139).setLongitude(106.820826)))
.setDropoffPoint(
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.1275).setLongitude(106.6537)))
.setVehicleId(VEHICLE_ID)
.build();
// Create trip request
CreateTripRequest createTripRequest = CreateTripRequest.newBuilder()
.setParent(parent)
.setTripId(TRIP_ID)
.setTrip(trip)
.build();
// Error handling.
try {
// Fleet Engine automatically assigns a 'waypoints' list to the trip containing
// the vehicle's current trip waypoints.
Trip createdTrip =
tripService.createTrip(createTripRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case ALREADY_EXISTS:
break;
case PERMISSION_DENIED:
break;
}
return;
}
एक के बाद एक होने वाली यात्राओं की जानकारी अपडेट करना
जब किसी वाहन को एक के बाद एक दो यात्राओं के लिए असाइन किया जाता है, तो उस वाहन को फिर से असाइन किया जाता है. भले ही, उसे पहले ही असाइन किया जा चुका हो.
फ़्लीट इंजन में बनाई गई किसी भी यात्रा को किसी वाहन को असाइन किया जाना चाहिए, ताकि यात्रा के ETA का हिसाब लगाने और उसे ट्रैक करने के लिए फ़्लीट इंजन. ऐसा, यात्रा बनाने के दौरान या बाद में, यात्रा अपडेट करते समय किया जा सकता है.
किसी वाहन को यात्रा असाइन करने के बाद, Fleet Engine
वाहन के वेपॉइंट तक जाने के लिए, बैक-टू-बैक ट्रिप से जुड़े वेपॉइंट
फ़ील्ड. किसी यात्रा के remainingWaypoints
फ़ील्ड में
वेपॉइंट, जिनमें पहले विज़िट की जाने वाली अन्य यात्राओं के रास्ते भी शामिल हैं
का समय हो सकता है.
उदाहरण के लिए, एक के बाद एक दो यात्राएं: यात्रा A और यात्रा B. वाहन ने यात्रा A के लिए उपभोक्ता को पिक अप कर लिया है और उसे छोड़ने की जगह के रास्ते में, ड्राइवर को अगली यात्रा, यात्रा B के लिए किसी दूसरे उपभोक्ता को पिकअप करने का अनुरोध मिलता है.
getVehicle()
को कॉल करने सेremainingWaypoints
वापस आएगा जिनमें ये शामिल हैं:
ड्रॉप-ऑफ़ → B पिकअप → B ड्रॉप-ऑफ़.getTrip()
या इसके लिएonTripRemainingWaypointsUpdated
कॉलबैक यात्रा AremainingWaypoints
लौटाती है जिनमें ये शामिल हैं:
एक ड्रॉप-ऑफ़.getTrip()
या इसके लिएonTripRemainingWaypointsUpdated
कॉलबैक यात्रा BremainingWaypoints
लौटाती है जिनमें ये शामिल हैं:
ड्रॉप-ऑफ़ → B पिकअप → और B ड्रॉप-ऑफ़.