एक मंज़िल की यात्रा बनाएं

इस दस्तावेज़ में, एक जगह की यात्रा बनाने, सही फ़ील्ड सेट करने, और उसे पूरा करने के लिए किसी वाहन को असाइन करने का तरीका बताया गया है. इसमें यह माना जाता है कि आपने Fleet Engine सेट अप कर लिया है और वाहन बनाए हैं. साथ ही, आपके पास ड्राइवर ऐप्लिकेशन और ज़रूरत पड़ने पर, ग्राहक ऐप्लिकेशन भी है. इसके लिए, यहां दिए गए संबंधित गाइड देखें:

यात्रा बनाने की बुनियादी बातें

इस सेक्शन में, Fleet Engine में यात्रा बनाने के लिए ज़रूरी अनुरोध की जानकारी दी गई है. gRPC और REST में से किसी एक का इस्तेमाल करके, यात्रा बनाने का अनुरोध किया जा सकता है.

  • CreateTrip() तरीका: gRPC या REST
  • CreateTripRequest मैसेज: gRPC सिर्फ़

यात्रा के फ़ील्ड

Fleet Engine में यात्रा बनाने के लिए, इन फ़ील्ड का इस्तेमाल करें. अलग-अलग तरह की यात्राओं के लिए, अलग-अलग फ़ील्ड इस्तेमाल किए जा सकते हैं. जैसे, एक या एक से ज़्यादा जगहों की यात्रा, बैक-टू-बैक यात्राएं या शेयर की गई पूलिंग यात्राएं. यात्रा बनाते समय, ज़रूरी नहीं वाले फ़ील्ड की जानकारी दी जा सकती है. इसके अलावा, यात्रा अपडेट करते समय भी इन फ़ील्ड की जानकारी दी जा सकती है.

यात्रा के फ़ील्ड
नाम ज़रूरी है? ब्यौरा
parent हां यह एक स्ट्रिंग है, जिसमें प्रोजेक्ट आईडी शामिल होता है. यह आईडी, आपके पूरे Fleet Engine इंटिग्रेशन में इस्तेमाल किए गए आईडी से मेल खाना चाहिए. साथ ही, सेवा खाते की भूमिकाएं भी एक जैसी होनी चाहिए.
trip_id हां यह एक स्ट्रिंग है, जिसे आपने बनाया है. इससे इस यात्रा की खास तौर पर पहचान की जाती है. रेफ़रंस में बताए गए, यात्रा के आईडी पर कुछ पाबंदियां लागू होती हैं.
trip_type हां आप जिस तरह की यात्रा बना रहे हैं उसके लिए, TripType को इन वैल्यू पर सेट करें:
  • एक जगह की यात्रा: इसे SHARED या EXCLUSIVE पर सेट करें.
  • एक से ज़्यादा जगहों की यात्रा: इसे EXCLUSIVE पर सेट करें.
  • बैक-टू-बैक यात्राएं: इसे EXCLUSIVE पर सेट करें.
  • शेयर की गई पूलिंग यात्राएं: इसे SHARED पर सेट करें.
pickup_point हां यह यात्रा की शुरुआती जगह है.
इंटरमीडिएट डेस्टिनेशन हां

सिर्फ़ एक से ज़्यादा जगहों की यात्राओं के लिए: यह उन इंटरमीडिएट डेस्टिनेशन की सूची है जहां ड्राइवर, पिकअप और ड्रॉप-ऑफ़ के बीच जाता है. dropoff_point की तरह, इस फ़ील्ड को UpdateTrip को कॉल करके बाद में भी सेट किया जा सकता है. हालांकि, एक से ज़्यादा जगहों की यात्रा में इंटरमीडिएट डेस्टिनेशन शामिल होते हैं.

vehicle_waypoints हां

सिर्फ़ शेयर की गई पूलिंग यात्राओं के लिए: इस फ़ील्ड में, एक से ज़्यादा यात्राओं के वेपॉइंट को इंटरलीव करने की सुविधा होती है. इसमें असाइन किए गए वाहन के लिए बचे हुए सभी वेपॉइंट के साथ-साथ, इस यात्रा के पिकअप और ड्रॉप-ऑफ़ वेपॉइंट भी शामिल होते हैं. इस फ़ील्ड को CreateTrip या UpdateTrip को कॉल करके सेट किया जा सकता है. `UpdateVehicle` को कॉल करके, `waypoints` फ़ील्ड के ज़रिए वाहन के वेपॉइंट भी अपडेट किए जा सकते हैं. निजता से जुड़ी वजहों से, सेवा GetTrip कॉल पर यह जानकारी नहीं दिखाती.

number_of_passengers नहीं यह यात्रा में शामिल यात्रियों की संख्या है.
dropoff_point नहीं यह यात्रा की मंज़िल है.
vehicle_id नहीं यह यात्रा के लिए असाइन किए गए वाहन का आईडी है.

उदाहरण: एक जगह की यात्रा

यहां दिए गए उदाहरण में, ग्रैंड इंडोनेशिया ईस्ट मॉल की यात्रा बनाने का तरीका बताया गया है. इस यात्रा में दो यात्री शामिल हैं. यह यात्रा, सिर्फ़ एक ग्रुप के लिए है. साथ ही, इसका स्टेटस NEW है. यात्रा का provider_id, Google Cloud प्रोजेक्ट आईडी के जैसा होना चाहिए. उदाहरण में, Google Cloud प्रोजेक्ट दिखाया गया है. इसका प्रोजेक्ट आईडी my-rideshare-co-gcp-project है. Fleet Engine को कॉल करने के लिए, इस प्रोजेक्ट में सेवा खाता भी शामिल होना चाहिए. ज़्यादा जानकारी के लिए, सेवा खाते की भूमिकाएं देखें.

static final String PROJECT_ID = "my-rideshare-co-gcp-project";

TripServiceBlockingStub tripService = TripService.newBlockingStub(channel);

// Trip initial settings.
String parent = "providers/" + PROJECT_ID;

Trip trip = Trip.newBuilder()
    .setTripType(TripType.EXCLUSIVE) // Use TripType.SHARED for carpooling.
    .setPickupPoint(                 // Grand Indonesia East Mall.
        TerminalLocation.newBuilder().setPoint(
            LatLng.newBuilder()
                .setLatitude(-6.195139).setLongitude(106.820826)))
    .setNumberOfPassengers(2)
    // Provide the drop-off point if available.
    .setDropoffPoint(
        TerminalLocation.newBuilder().setPoint(
            LatLng.newBuilder()
                .setLatitude(-6.1275).setLongitude(106.6537)))
    .build();

// Create trip request
CreateTripRequest createTripRequest = CreateTripRequest.newBuilder()
    .setParent(parent)
    .setTripId("trip-8241890")  // Trip ID assigned by the provider.
    .setTrip(trip)              // The initial state is NEW.
    .build();

// Error handling.
try {
  Trip createdTrip = tripService.createTrip(createTripRequest);
} catch (StatusRuntimeException e) {
  Status s = e.getStatus();
  switch (s.getCode()) {
    case ALREADY_EXISTS:
      break;
    case PERMISSION_DENIED:
      break;
  }
  return;
}

आगे क्या करना है